{"id":14663,"name":"numexpr","ecosystem":"pip","repository_url":"https://github.com/pydata/numexpr","issues_count":74,"created_at":"2025-06-06T23:49:11.349Z","updated_at":"2025-06-06T23:49:11.349Z","purl":"pkg:pypi/numexpr","metadata":{"id":2822838,"name":"numexpr","ecosystem":"pypi","description":"Fast numerical expression evaluator for NumPy","homepage":null,"licenses":"MIT License","normalized_licenses":["MIT"],"repository_url":"https://github.com/pydata/numexpr","keywords_array":[],"namespace":null,"versions_count":55,"first_release_published_at":"2009-01-23T13:01:57.000Z","latest_release_published_at":"2024-11-23T13:33:24.000Z","latest_release_number":"2.10.2","last_synced_at":"2025-06-07T05:00:25.410Z","created_at":"2022-04-10T11:47:07.899Z","updated_at":"2025-06-07T05:00:25.411Z","registry_url":"https://pypi.org/project/numexpr/","install_command":"pip install numexpr --index-url https://pypi.org/simple","documentation_url":"https://numexpr.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Development Status :: 6 - Mature","Intended Audience :: Developers","Intended Audience :: Information Technology","Intended Audience :: Science/Research","License :: OSI Approved :: MIT License","Operating System :: Microsoft :: Windows","Operating System :: Unix","Programming Language :: Python","Programming Language :: Python :: 3","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.9","Topic :: Software Development :: Libraries :: Python Modules"],"normalized_name":"numexpr"},"repo_metadata":{"id":12221248,"uuid":"14829536","full_name":"pydata/numexpr","owner":"pydata","description":"Fast numerical array expression evaluator for Python, NumPy, Pandas, PyTables and more","archived":false,"fork":false,"pushed_at":"2024-04-02T09:36:07.000Z","size":2841,"stargazers_count":2134,"open_issues_count":4,"forks_count":200,"subscribers_count":60,"default_branch":"master","last_synced_at":"2024-04-12T04:14:43.753Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://numexpr.readthedocs.io/en/latest/user_guide.html","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pydata.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.txt","dei":null}},"created_at":"2013-11-30T22:33:48.000Z","updated_at":"2024-04-10T06:42:07.000Z","dependencies_parsed_at":"2023-01-14T05:15:33.638Z","dependency_job_id":"58edea33-f83f-4f7a-bd5f-1984f57a0711","html_url":"https://github.com/pydata/numexpr","commit_stats":{"total_commits":754,"total_committers":74,"mean_commits":10.18918918918919,"dds":0.6949602122015914,"last_synced_commit":"cb7aed5108437f7e868f58836c0fadf42a98bad8"},"previous_names":[],"tags_count":54,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pydata","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":217794574,"owners_count":16231364,"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":"pydata","name":"Python for Data","uuid":"1284191","kind":"organization","description":null,"email":null,"website":"http://groups.google.com/forum/?fromgroups#!forum/pydata","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/1284191?v=4","repositories_count":28,"last_synced_at":"2024-03-25T20:00:30.486Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/pydata","funding_links":[],"total_stars":12096,"followers":402,"following":0,"created_at":"2022-11-02T16:23:00.274Z","updated_at":"2024-03-25T20:00:53.988Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pydata","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pydata/repositories"},"tags":[{"name":"v2.10.0","sha":"354451a5a4249e6dfd1564e6cb9cfb1e3671963c","kind":"tag","published_at":"2024-04-02T08:47:43.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.10.0","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.10.0/manifests"},{"name":"v2.9.0","sha":"3bdab2af7c173502a870cdd691d6fb8f6c2ecb22","kind":"tag","published_at":"2024-01-26T12:43:44.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.9.0","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.9.0/manifests"},{"name":"v2.8.8","sha":"4eae454b99fe5efffb93a1dff52ebb25fa253254","kind":"tag","published_at":"2023-12-11T12:55:54.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.8.8","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.8.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.8.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.8.8/manifests"},{"name":"v2.8.7","sha":"cb941c53c47ad3b508edb1274c8bed2565bfabe3","kind":"tag","published_at":"2023-09-26T08:00:50.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.8.7","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.8.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.8.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.8.7/manifests"},{"name":"v2.8.6","sha":"9c70b433f84dbf5b3328a8cec82192b080b92b79","kind":"tag","published_at":"2023-09-12T14:45:18.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.8.6","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.8.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.8.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.8.6/manifests"},{"name":"v2.8.5","sha":"298134a454e0e731aa10ac82e43ce40799657f70","kind":"tag","published_at":"2023-08-06T20:16:17.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.8.5","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.8.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.8.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.8.5/manifests"},{"name":"v2.8.4","sha":"ec5e90886b021558e51e35870735e7a64500c59e","kind":"tag","published_at":"2022-10-26T02:42:23.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.8.4","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.8.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.8.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.8.4/manifests"},{"name":"v2.8.3","sha":"f7e1659c210a76b389853125a5714efccada6ea7","kind":"tag","published_at":"2022-06-27T17:32:17.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.8.3","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.8.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.8.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.8.3/manifests"},{"name":"v2.8.2","sha":"5e74e3c5db0387f2eaf541d2bfba7ab50ccadeb4","kind":"tag","published_at":"2022-06-24T04:49:21.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.8.2","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.8.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.8.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.8.2/manifests"},{"name":"v2.8.1","sha":"1bf41c7392570ebb8d706e0eb426de162e50e715","kind":"tag","published_at":"2021-12-10T20:11:27.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.8.1","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.8.1/manifests"},{"name":"v2.8.0","sha":"e960fd3282e49d0c351f9e8117df4c415e931171","kind":"tag","published_at":"2021-12-01T22:39:40.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.8.0","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.8.0/manifests"},{"name":"v2.7.3","sha":"890401a5740b0e1913c945e4e70d4ae2c1fbd34e","kind":"tag","published_at":"2021-03-03T06:27:21.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.7.3","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.7.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.7.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.7.3/manifests"},{"name":"v2.7.2","sha":"c686a1cc2cd394b8a078a5399b4938c042695402","kind":"tag","published_at":"2020-12-29T06:10:22.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.7.2","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.7.2/manifests"},{"name":"v3.0.1a5","sha":"b387f8792237e762f975ccb1d277581bfeffbdbe","kind":"tag","published_at":"2020-08-18T18:06:50.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v3.0.1a5","html_url":"https://github.com/pydata/numexpr/releases/tag/v3.0.1a5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v3.0.1a5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v3.0.1a5/manifests"},{"name":"v2.7.1","sha":"01e5c82410e1c6e1d842308034aaa9622576f5a5","kind":"tag","published_at":"2020-01-04T00:23:42.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.7.1","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.7.1/manifests"},{"name":"v2.7.0","sha":"9a58d74e92749fec33312271fe03b1125c6a344a","kind":"tag","published_at":"2019-08-14T05:52:34.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.7.0","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.7.0/manifests"},{"name":"v2.6.9","sha":"c0b4e40e94f211e50d69f968c72534e3dffc49d4","kind":"tag","published_at":"2018-12-21T00:09:47.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.6.9","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.6.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.6.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.6.9/manifests"},{"name":"v2.6.8","sha":"05e9d8b01f350ae062c83d4bfcd65efc62278c3c","kind":"tag","published_at":"2018-08-17T03:38:47.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.6.8","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.6.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.6.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.6.8/manifests"},{"name":"v2.6.7","sha":"1fd67d479ccd3b6b988e80d15a329edf92b8aa7b","kind":"tag","published_at":"2018-08-11T18:13:21.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.6.7","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.6.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.6.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.6.7/manifests"},{"name":"v2.6.6","sha":"561acfa5f9476597d802ce5d6c2285ded2a3498e","kind":"tag","published_at":"2018-07-16T16:20:57.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.6.6","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.6.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.6.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.6.6/manifests"},{"name":"v2.6.5","sha":"c27f1daaa226c44d2fabe91b5b27320dd9092896","kind":"tag","published_at":"2018-05-01T18:33:13.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.6.5","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.6.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.6.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.6.5/manifests"},{"name":"v2.6.4","sha":"2e45fafca5b29b52faf8264bb4b7189566b58f09","kind":"tag","published_at":"2017-09-14T06:49:48.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.6.4","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.6.4/manifests"},{"name":"v2.6.3","sha":"cbf234ee0c5aab2e3d0d39673b96cab7b8ed043f","kind":"tag","published_at":"2017-09-14T00:04:20.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.6.3","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.6.3/manifests"},{"name":"v2.6.2","sha":"40735ddf9884dc409a8bae0a41149c9dbca77798","kind":"commit","published_at":"2017-01-29T12:54:05.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.6.2","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.6.2/manifests"},{"name":"v2.6.1","sha":"fbb23ff8ee4b7266794b86b5a2a758ef72992966","kind":"tag","published_at":"2016-07-17T09:50:48.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.6.1","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.6.1/manifests"},{"name":"v2.6.0","sha":"bde76c869f87541d46024af8623143648a46a9e7","kind":"tag","published_at":"2016-06-01T11:58:14.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.6.0","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.6.0/manifests"},{"name":"v2.5.2","sha":"f05dcc103be094de78618fa3c4a0329f06a531ba","kind":"tag","published_at":"2016-04-07T09:39:59.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.5.2","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.5.2/manifests"},{"name":"v2.5.1","sha":"b4eaeea637f6eb1d03f2d7d68a2e29ddcdcc8626","kind":"tag","published_at":"2016-03-31T07:37:07.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.5.1","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.5.1/manifests"},{"name":"v2.5","sha":"f067f3693189f3feca1c8d8e0a700f11ccea855d","kind":"tag","published_at":"2016-02-06T10:48:01.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.5","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.5/manifests"},{"name":"v2.4.6","sha":"da47135e61af29b17cd2e29b0d71f526d7456bf0","kind":"tag","published_at":"2015-11-02T19:08:43.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.4.6","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.4.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.4.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.4.6/manifests"},{"name":"v2.4.5","sha":"aa984287e46495ca36340e378a371c9fd4a16a7d","kind":"tag","published_at":"2015-11-02T10:05:51.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.4.5","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.4.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.4.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.4.5/manifests"},{"name":"v2.4.4","sha":"a98e149010e47ba6fe975a9a5cd1d0cbb7a16c03","kind":"tag","published_at":"2015-09-14T16:06:13.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.4.4","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.4.4/manifests"},{"name":"v2.4.3","sha":"937f553c4b09bbf72d9ad142c8c587c44a51d436","kind":"tag","published_at":"2015-04-27T15:47:11.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.4.3","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.4.3/manifests"},{"name":"v2.4.2","sha":"22a1416008ee9e1a5cffb8612d2d4479c7050f01","kind":"tag","published_at":"2015-04-22T08:44:47.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.4.2","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.4.2/manifests"},{"name":"v2.4.1","sha":"f3b726918b6610e3169f80fb6ce9ed0215363d39","kind":"tag","published_at":"2015-04-14T16:01:13.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.4.1","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.4.1/manifests"},{"name":"v2.4","sha":"606cc9a110711e947d35ac2770749c00dab184c8","kind":"tag","published_at":"2014-04-13T18:38:07.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.4","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.4/manifests"},{"name":"v2.4-rc2","sha":"0c3037a1997030b9d61f590364204ce35f373c1f","kind":"tag","published_at":"2014-04-07T06:04:32.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.4-rc2","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.4-rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.4-rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.4-rc2/manifests"},{"name":"v2.4-rc1","sha":"9061abd37d2d33a4d943923cb15a2a487914b0b4","kind":"tag","published_at":"2014-04-06T10:43:18.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.4-rc1","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.4-rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.4-rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.4-rc1/manifests"},{"name":"v2.3.1","sha":"aba0e0a1ff1edc4cc8c82024dee1693c06aa1336","kind":"tag","published_at":"2014-02-18T07:59:29.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/v2.3.1","html_url":"https://github.com/pydata/numexpr/releases/tag/v2.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/v2.3.1/manifests"},{"name":"2.3","sha":"968f28a4b6961b919704e355a56a43099092d428","kind":"tag","published_at":"2014-01-26T07:31:38.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/2.3","html_url":"https://github.com/pydata/numexpr/releases/tag/2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/2.3/manifests"},{"name":"2.3-rc3","sha":"18d7b10a229ffc10ad5c4bb26c094dca25ec577b","kind":"tag","published_at":"2014-01-25T16:02:43.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/2.3-rc3","html_url":"https://github.com/pydata/numexpr/releases/tag/2.3-rc3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/2.3-rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/2.3-rc3/manifests"},{"name":"2.3-rc2","sha":"ad8b8d55d879daf3992a748c571972b77937f182","kind":"tag","published_at":"2014-01-25T10:00:32.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/2.3-rc2","html_url":"https://github.com/pydata/numexpr/releases/tag/2.3-rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/2.3-rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/2.3-rc2/manifests"},{"name":"2.3-rc1","sha":"9cb8478c440bd9f6bcbf98caedf306d722a1762b","kind":"tag","published_at":"2014-01-24T12:33:20.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/2.3-rc1","html_url":"https://github.com/pydata/numexpr/releases/tag/2.3-rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/2.3-rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/2.3-rc1/manifests"},{"name":"2.2.2","sha":"508c42d251f395fed218751118daf82030b87b31","kind":"commit","published_at":"2013-09-27T10:34:50.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/2.2.2","html_url":"https://github.com/pydata/numexpr/releases/tag/2.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/2.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/2.2.2/manifests"},{"name":"2.2.1","sha":"8849bc16eb9f98c026d80be1db63c2bb1e026210","kind":"commit","published_at":"2013-09-08T18:06:26.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/2.2.1","html_url":"https://github.com/pydata/numexpr/releases/tag/2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/2.2.1/manifests"},{"name":"2.2","sha":"a1825479c175006dfacb6ecfab9f82105af25b79","kind":"commit","published_at":"2013-09-03T13:00:27.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/2.2","html_url":"https://github.com/pydata/numexpr/releases/tag/2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/2.2/manifests"},{"name":"2.1","sha":"6c74b9f0ace6a74a24b3fc4cd4f0a7614c1cfa3a","kind":"commit","published_at":"2013-05-22T10:02:21.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/2.1","html_url":"https://github.com/pydata/numexpr/releases/tag/2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/2.1/manifests"},{"name":"2.0.1","sha":"d732f3f759eada8a5441d3b393e96150a791d225","kind":"commit","published_at":"2012-01-08T10:10:05.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/2.0.1","html_url":"https://github.com/pydata/numexpr/releases/tag/2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/2.0.1/manifests"},{"name":"2.0","sha":"b1b6a7c66cc689156afc0780f82cbe48b8c78095","kind":"commit","published_at":"2011-11-27T13:08:03.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/2.0","html_url":"https://github.com/pydata/numexpr/releases/tag/2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/2.0/manifests"},{"name":"1.4.2","sha":"b9be38bef621402e378683ca15c1e47df2902923","kind":"commit","published_at":"2011-01-25T13:45:11.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/1.4.2","html_url":"https://github.com/pydata/numexpr/releases/tag/1.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/1.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/1.4.2/manifests"},{"name":"1.4.1","sha":"0486c992aaa07f221829ec84a2d76d32fd5dc2a4","kind":"commit","published_at":"2010-10-20T15:55:34.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/1.4.1","html_url":"https://github.com/pydata/numexpr/releases/tag/1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/1.4.1/manifests"},{"name":"1.4","sha":"90d7c18f4ea8e06993fd2a6061b8db6b9cea265e","kind":"commit","published_at":"2010-08-01T11:36:40.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/1.4","html_url":"https://github.com/pydata/numexpr/releases/tag/1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/1.4/manifests"},{"name":"1.3.1","sha":"00fcd769ff777677835cbadab9193ca00dedaefd","kind":"commit","published_at":"2009-06-23T12:25:31.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/1.3.1","html_url":"https://github.com/pydata/numexpr/releases/tag/1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/1.3.1/manifests"},{"name":"1.3","sha":"7449bcc372a6e40d9b74c6236f0ea75cd125e9af","kind":"commit","published_at":"2009-06-02T17:03:28.000Z","download_url":"https://codeload.github.com/pydata/numexpr/tar.gz/1.3","html_url":"https://github.com/pydata/numexpr/releases/tag/1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pydata%2Fnumexpr/tags/1.3/manifests"}]},"repo_metadata_updated_at":"2024-09-07T19:37:50.723Z","dependent_packages_count":378,"downloads":7856555,"downloads_period":"last-month","dependent_repos_count":13496,"rankings":{"downloads":0.10632101911823913,"dependent_repos_count":0.07544101724198586,"dependent_packages_count":0.08697215718311842,"stargazers_count":1.5641307279471834,"forks_count":3.662798197233308,"docker_downloads_count":0.33010331119615055,"average":0.9709610716533309},"purl":"pkg:pypi/numexpr","advisories":[{"uuid":"GSA_kwCzR0hTQS1mNzN3LTRtN2ctY2g5eM4AA1n1","url":"https://github.com/advisories/GHSA-f73w-4m7g-ch9x","title":"Langchain vulnerable to arbitrary code execution via the evaluate function in the numexpr library","description":"An issue in LanChain-ai Langchain v.0.0.245 allows a remote attacker to execute arbitrary code via the evaluate function in the numexpr library.\n\nPatches: Released in v.0.0.308. numexpr dependency is optional for langchain.","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2023-09-01T18:30:41.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":9.8,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","references":["https://nvd.nist.gov/vuln/detail/CVE-2023-39631","https://github.com/langchain-ai/langchain/issues/8363","https://github.com/pydata/numexpr/issues/442","https://github.com/pypa/advisory-database/tree/main/vulns/langchain/PYSEC-2023-162.yaml","https://github.com/pypa/advisory-database/tree/main/vulns/numexpr/PYSEC-2023-163.yaml","https://github.com/langchain-ai/langchain/pull/11302","https://github.com/langchain-ai/langchain/releases/tag/v0.0.308","https://github.com/pydata/numexpr/commit/4b2d89cf14e75030d27629925b9998e1e91d23c7","https://github.com/advisories/GHSA-f73w-4m7g-ch9x"],"source_kind":"github","identifiers":["GHSA-f73w-4m7g-ch9x","CVE-2023-39631"],"repository_url":"https://github.com/langchain-ai/langchain","blast_radius":41.855618269410854,"packages":[{"versions":[{"first_patched_version":"2.8.5","vulnerable_version_range":"\u003c 2.8.5"}],"ecosystem":"pypi","package_name":"numexpr"},{"versions":[{"first_patched_version":"0.0.308","vulnerable_version_range":"\u003c 0.0.308"}],"ecosystem":"pypi","package_name":"langchain"}],"created_at":"2023-09-01T22:05:23.801Z","updated_at":"2025-02-20T22:53:22.000Z","epss_percentage":0.00914,"epss_percentile":0.82881}],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/numexpr","docker_dependents_count":1383,"docker_downloads_count":391449235,"usage_url":"https://repos.ecosyste.ms/usage/pypi/numexpr","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/numexpr/dependencies","status":null,"funding_links":[],"critical":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/numexpr/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/numexpr/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/numexpr/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/numexpr/related_packages","maintainers":[{"uuid":"matthew.brett","login":"matthew.brett","name":null,"email":null,"url":null,"packages_count":43,"html_url":"https://pypi.org/user/matthew.brett/","role":null,"created_at":"2023-01-30T17:30:48.863Z","updated_at":"2023-01-30T17:30:48.863Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/matthew.brett/packages"},{"uuid":"falted","login":"falted","name":null,"email":null,"url":null,"packages_count":14,"html_url":"https://pypi.org/user/falted/","role":null,"created_at":"2023-01-30T17:30:43.340Z","updated_at":"2023-01-30T17:30:43.340Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/falted/packages"},{"uuid":"robbmcleod","login":"robbmcleod","name":null,"email":null,"url":null,"packages_count":7,"html_url":"https://pypi.org/user/robbmcleod/","role":null,"created_at":"2023-01-30T17:30:47.531Z","updated_at":"2023-01-30T17:30:47.531Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/robbmcleod/packages"},{"uuid":"andreabedini","login":"andreabedini","name":null,"email":null,"url":null,"packages_count":2,"html_url":"https://pypi.org/user/andreabedini/","role":null,"created_at":"2023-01-30T17:30:48.399Z","updated_at":"2023-01-30T17:30:48.399Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/andreabedini/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":42,"unique_repositories_count_past_30_days":2,"recent_issues":[{"uuid":"3977336807","node_id":"PR_kwDORWM4Oc7Fmrgq","number":24,"state":"open","title":"deps(backend)(deps): bump numexpr from 2.8.8 to 2.14.1 in /backend","user":"dependabot[bot]","labels":["backend","dependencies","cloud","size/small"],"assignees":[],"locked":false,"comments_count":5,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-23T10:05:53.000Z","updated_at":"2026-02-23T10:14:34.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(backend)(deps)","packages":[{"name":"numexpr","old_version":"2.8.8","new_version":"2.14.1","repository_url":"https://github.com/pydata/numexpr"}],"path":"/backend","ecosystem":"pip"},"body":"Bumps [numexpr](https://github.com/pydata/numexpr) from 2.8.8 to 2.14.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst\"\u003enumexpr's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges from 2.14.1 to 2.14.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eUnder development.\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.14.0 to 2.14.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRolled back static typing support to ensure compatibiity with NumPy 1.26.\u003c/li\u003e\n\u003cli\u003eAdded CI tests for NumPy 1.26\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.13.1 to 2.14.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNumerical stability for overflow has been improved for \u003ccode\u003etan\u003c/code\u003e / \u003ccode\u003etanh\u003c/code\u003e\nto handle possible overflows for complex numbers.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eStatic typing support has been added, making NumExpr compatible with\nstatic type checkers like \u003ccode\u003emypy\u003c/code\u003e and \u003ccode\u003epyright\u003c/code\u003e.\nThanks to Joren Hammudoglu (\u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e) for the work.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.13.0 to 2.13.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePatch to maximum/minimum functions in order to match NumPy NaN handling\u003c/li\u003e\n\u003cli\u003ePatch to convert '+'-\u0026gt;'|' and '*'-\u0026gt;'\u0026amp;' for booleans\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.12.1 to 2.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNew functionality has been added:\u003c/li\u003e\n\u003cli\u003eBitwise operators (and, or, not, xor): \u003ccode\u003e\u0026amp;, |, ~, ^\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNew binary arithmetic operator for floor division: \u003ccode\u003e//\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNew functions: \u003ccode\u003esignbit\u003c/code\u003e, \u003ccode\u003ehypot\u003c/code\u003e, \u003ccode\u003ecopysign\u003c/code\u003e, \u003ccode\u003enextafter\u003c/code\u003e, \u003ccode\u003emaximum\u003c/code\u003e, \u003ccode\u003eminimum\u003c/code\u003e, \u003ccode\u003elog2\u003c/code\u003e, \u003ccode\u003etrunc\u003c/code\u003e, \u003ccode\u003eround\u003c/code\u003e and \u003ccode\u003esign\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAlso enables integer outputs for integer inputs for \u003ccode\u003eabs\u003c/code\u003e, \u003ccode\u003ecopy\u003c/code\u003e, \u003ccode\u003eones_like\u003c/code\u003e, \u003ccode\u003esign\u003c/code\u003e and \u003ccode\u003eround\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to Luke Shaw for the contributions.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNew wheels for Python 3.14 and 3.14t are provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.12.0 to 2.12.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded complex counterparts for isnan/isfinite/isinf functions.\nThanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated documentation for the new functions and instructions\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/pydata/numexpr/commit/048a5c42b09e4c5a4ccb5097162ff7c571973fde\"\u003e\u003ccode\u003e048a5c4\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/d9cf0f0785f9c8de8d790800ceebff89eced8354\"\u003e\u003ccode\u003ed9cf0f0\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/1fcb012d96c7db2f0f21c8f82ef9d7a30e19b4da\"\u003e\u003ccode\u003e1fcb012\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/542\"\u003e#542\u003c/a\u003e from pydata/test-numpy-1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/898b4d9dbfdb654391999c65744f678f5bd05508\"\u003e\u003ccode\u003e898b4d9\u003c/code\u003e\u003c/a\u003e Update tests to pass for numpy 1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/7cadd0f93b4bcd10bd585bae3bcfc5f9f8c42306\"\u003e\u003ccode\u003e7cadd0f\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/534\"\u003e#534\u003c/a\u003e from jorenham/static-typing\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/eb2f9997035c3865cc3e1ec8ed715f9f9dfe3b30\"\u003e\u003ccode\u003eeb2f999\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/534\"\u003e#534\u003c/a\u003e from jorenham/static-typing\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/e27646b74237f97acae8c43b189079aa7baf5c34\"\u003e\u003ccode\u003ee27646b\u003c/code\u003e\u003c/a\u003e Force local build and test with numpy 1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/acd7eb0da381227ef5903fcee0c4163e0b18ffbb\"\u003e\u003ccode\u003eacd7eb0\u003c/code\u003e\u003c/a\u003e Force tests  with numpy 1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/0e827b18865907dc8cce79f3aa31901392570187\"\u003e\u003ccode\u003e0e827b1\u003c/code\u003e\u003c/a\u003e Force tests  with numpy 1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/ed435570d3269402d326f40ce26c7df35265572a\"\u003e\u003ccode\u003eed43557\u003c/code\u003e\u003c/a\u003e Force local build with numpy 1.26\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydata/numexpr/compare/v2.8.8...v2.14.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=numexpr\u0026package-manager=pip\u0026previous-version=2.8.8\u0026new-version=2.14.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/nandkishorrathodk-art/Ironcliw-ai/pull/24","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/nandkishorrathodk-art%2FIroncliw-ai/issues/24","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/24/packages"},{"uuid":"3881829355","node_id":"PR_kwDOJpUnI87AtFcc","number":122,"state":"closed","title":"Bump the poetry-dependencies group across 1 directory with 79 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-01T11:05:21.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-01T11:10:59.000Z","updated_at":"2026-03-01T11:05:23.000Z","time_to_close":2418862,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"poetry-dependencies","update_count":79,"packages":[{"name":"black","old_version":"25.9.0","new_version":"26.1.0","repository_url":"https://github.com/psf/black"},{"name":"coverage","old_version":"7.10.7","new_version":"7.13.2","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"furo","old_version":"2025.9.25","new_version":"2025.12.19","repository_url":"https://github.com/pradyunsg/furo"},{"name":"mypy","old_version":"1.18.2","new_version":"1.19.1","repository_url":"https://github.com/python/mypy"},{"name":"pre-commit","old_version":"4.3.0","new_version":"4.5.1","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"ruff","old_version":"0.13.3","new_version":"0.14.14","repository_url":"https://github.com/astral-sh/ruff"},{"name":"pytest","old_version":"8.4.2","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"sphinx-click","old_version":"6.1.0","new_version":"6.2.0","repository_url":"https://github.com/click-contrib/sphinx-click"},{"name":"matplotlib","old_version":"3.10.6","new_version":"3.10.8","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"deptry","old_version":"0.23.1","new_version":"0.24.0","repository_url":"https://github.com/fpgmaas/deptry"},{"name":"pyarrow","old_version":"21.0.0","new_version":"23.0.0","repository_url":"https://github.com/apache/arrow"},{"name":"pandas-stubs","old_version":"2.3.2.250926","new_version":"2.3.3.260113","repository_url":"https://github.com/pandas-dev/pandas-stubs"},{"name":"anyio","old_version":"4.11.0","new_version":"4.12.1","repository_url":"https://github.com/agronholm/anyio"},{"name":"arrow","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/arrow-py/arrow"},{"name":"asttokens","old_version":"3.0.0","new_version":"3.0.1","repository_url":"https://github.com/gristlabs/asttokens"},{"name":"async-lru","old_version":"2.0.5","new_version":"2.1.0","repository_url":"https://github.com/aio-libs/async-lru"},{"name":"beautifulsoup4","old_version":"4.14.2","new_version":"4.14.3"},{"name":"bleach","old_version":"6.2.0","new_version":"6.3.0","repository_url":"https://github.com/mozilla/bleach"},{"name":"certifi","old_version":"2025.10.5","new_version":"2026.1.4","repository_url":"https://github.com/certifi/python-certifi"},{"name":"cfgv","old_version":"3.4.0","new_version":"3.5.0","repository_url":"https://github.com/asottile/cfgv"},{"name":"charset-normalizer","old_version":"3.4.3","new_version":"3.4.4","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"click","old_version":"8.3.0","new_version":"8.3.1","repository_url":"https://github.com/pallets/click"},{"name":"debugpy","old_version":"1.8.17","new_version":"1.8.20","repository_url":"https://github.com/microsoft/debugpy"},{"name":"exceptiongroup","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/agronholm/exceptiongroup"},{"name":"filelock","old_version":"3.19.1","new_version":"3.20.3","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"fonttools","old_version":"4.60.1","new_version":"4.61.1","repository_url":"https://github.com/fonttools/fonttools"},{"name":"identify","old_version":"2.6.15","new_version":"2.6.16","repository_url":"https://github.com/pre-commit/identify"},{"name":"idna","old_version":"3.10","new_version":"3.11","repository_url":"https://github.com/kjd/idna"},{"name":"iniconfig","old_version":"2.1.0","new_version":"2.3.0","repository_url":"https://github.com/pytest-dev/iniconfig"},{"name":"ipykernel","old_version":"6.30.1","new_version":"7.1.0","repository_url":"https://github.com/ipython/ipykernel"},{"name":"ipython","old_version":"8.37.0","new_version":"8.38.0","repository_url":"https://github.com/ipython/ipython"},{"name":"ipywidgets","old_version":"8.1.7","new_version":"8.1.8","repository_url":"https://github.com/jupyter-widgets/ipywidgets"},{"name":"json5","old_version":"0.12.1","new_version":"0.13.0","repository_url":"https://github.com/dpranke/pyjson5"},{"name":"jsonschema","old_version":"4.25.1","new_version":"4.26.0","repository_url":"https://github.com/python-jsonschema/jsonschema"},{"name":"jupyter-client","old_version":"8.6.3","new_version":"8.8.0","repository_url":"https://github.com/jupyter/jupyter_client"},{"name":"jupyter-core","old_version":"5.8.1","new_version":"5.9.1","repository_url":"https://github.com/jupyter/jupyter_core"},{"name":"jupyter-server-terminals","old_version":"0.5.3","new_version":"0.5.4","repository_url":"https://github.com/jupyter-server/jupyter_server_terminals"},{"name":"jupyterlab","old_version":"4.4.9","new_version":"4.5.3","repository_url":"https://github.com/jupyterlab/jupyterlab"},{"name":"jupyterlab-widgets","old_version":"3.0.15","new_version":"3.0.16","repository_url":"https://github.com/jupyter-widgets/ipywidgets"},{"name":"lark","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/lark-parser/lark"},{"name":"matplotlib-inline","old_version":"0.1.7","new_version":"0.2.1","repository_url":"https://github.com/ipython/matplotlib-inline"},{"name":"mistune","old_version":"3.1.4","new_version":"3.2.0","repository_url":"https://github.com/lepture/mistune"},{"name":"nbclient","old_version":"0.10.2","new_version":"0.10.4","repository_url":"https://github.com/jupyter/nbclient"},{"name":"nbconvert","old_version":"7.16.6","new_version":"7.17.0","repository_url":"https://github.com/jupyter/nbconvert"},{"name":"nodeenv","old_version":"1.9.1","new_version":"1.10.0","repository_url":"https://github.com/ekalinin/nodeenv"},{"name":"numba","old_version":"0.62.1","new_version":"0.63.1","repository_url":"https://github.com/numba/numba"},{"name":"numexpr","old_version":"2.13.1","new_version":"2.14.1","repository_url":"https://github.com/pydata/numexpr"},{"name":"packaging","old_version":"25.0","new_version":"26.0","repository_url":"https://github.com/pypa/packaging"},{"name":"pillow","old_version":"11.3.0","new_version":"12.1.0","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"platformdirs","old_version":"4.4.0","new_version":"4.5.1","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"prometheus-client","old_version":"0.23.1","new_version":"0.24.1","repository_url":"https://github.com/prometheus/client_python"},{"name":"psutil","old_version":"7.1.0","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"pycparser","old_version":"2.23","new_version":"3.0","repository_url":"https://github.com/eliben/pycparser"},{"name":"pyparsing","old_version":"3.2.5","new_version":"3.3.2","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"referencing","old_version":"0.36.2","new_version":"0.37.0","repository_url":"https://github.com/python-jsonschema/referencing"},{"name":"roman-numerals-py","old_version":"3.1.0","new_version":"4.1.0","repository_url":"https://github.com/AA-Turner/roman-numerals"},{"name":"rpds-py","old_version":"0.27.1","new_version":"0.30.0","repository_url":"https://github.com/crate-py/rpds"},{"name":"ruamel-yaml","old_version":"0.18.15","new_version":"0.19.1"},{"name":"send2trash","old_version":"1.8.3","new_version":"2.1.0","repository_url":"https://github.com/arsenetar/send2trash"},{"name":"setuptools","old_version":"80.9.0","new_version":"80.10.2","repository_url":"https://github.com/pypa/setuptools"},{"name":"soupsieve","old_version":"2.8","new_version":"2.8.3","repository_url":"https://github.com/facelessuser/soupsieve"},{"name":"starlette","old_version":"0.48.0","new_version":"0.52.1","repository_url":"https://github.com/Kludex/starlette"},{"name":"tomli","old_version":"2.2.1","new_version":"2.4.0","repository_url":"https://github.com/hukkin/tomli"},{"name":"tornado","old_version":"6.5.2","new_version":"6.5.4","repository_url":"https://github.com/tornadoweb/tornado"},{"name":"types-pytz","old_version":"2025.2.0.20250809","new_version":"2025.2.0.20251108","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"tzdata","old_version":"2025.2","new_version":"2025.3","repository_url":"https://github.com/python/tzdata"},{"name":"urllib3","old_version":"2.5.0","new_version":"2.6.3","repository_url":"https://github.com/urllib3/urllib3"},{"name":"uvicorn","old_version":"0.37.0","new_version":"0.40.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"virtualenv","old_version":"20.34.0","new_version":"20.36.1","repository_url":"https://github.com/pypa/virtualenv"},{"name":"watchfiles","old_version":"1.1.0","new_version":"1.1.1","repository_url":"https://github.com/samuelcolvin/watchfiles"},{"name":"wcwidth","old_version":"0.2.14","new_version":"0.5.3","repository_url":"https://github.com/jquast/wcwidth"},{"name":"webcolors","old_version":"24.11.1","new_version":"25.10.0","repository_url":"https://github.com/ubernostrum/webcolors"},{"name":"websocket-client","old_version":"1.8.0","new_version":"1.9.0","repository_url":"https://github.com/websocket-client/websocket-client"},{"name":"websockets","old_version":"15.0.1","new_version":"16.0","repository_url":"https://github.com/python-websockets/websockets"},{"name":"widgetsnbextension","old_version":"4.0.14","new_version":"4.0.15"}],"path":null,"ecosystem":"pip"},"body":"Bumps the poetry-dependencies group with 75 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [black](https://github.com/psf/black) | `25.9.0` | `26.1.0` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.10.7` | `7.13.2` |\n| [furo](https://github.com/pradyunsg/furo) | `2025.9.25` | `2025.12.19` |\n| [mypy](https://github.com/python/mypy) | `1.18.2` | `1.19.1` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.3.0` | `4.5.1` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.13.3` | `0.14.14` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.2` | `9.0.2` |\n| [sphinx-click](https://github.com/click-contrib/sphinx-click) | `6.1.0` | `6.2.0` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.10.6` | `3.10.8` |\n| [deptry](https://github.com/fpgmaas/deptry) | `0.23.1` | `0.24.0` |\n| [pyarrow](https://github.com/apache/arrow) | `21.0.0` | `23.0.0` |\n| [pandas-stubs](https://github.com/pandas-dev/pandas-stubs) | `2.3.2.250926` | `2.3.3.260113` |\n| [anyio](https://github.com/agronholm/anyio) | `4.11.0` | `4.12.1` |\n| [arrow](https://github.com/arrow-py/arrow) | `1.3.0` | `1.4.0` |\n| [asttokens](https://github.com/gristlabs/asttokens) | `3.0.0` | `3.0.1` |\n| [async-lru](https://github.com/aio-libs/async-lru) | `2.0.5` | `2.1.0` |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.14.2` | `4.14.3` |\n| [bleach](https://github.com/mozilla/bleach) | `6.2.0` | `6.3.0` |\n| [certifi](https://github.com/certifi/python-certifi) | `2025.10.5` | `2026.1.4` |\n| [cfgv](https://github.com/asottile/cfgv) | `3.4.0` | `3.5.0` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.3` | `3.4.4` |\n| [click](https://github.com/pallets/click) | `8.3.0` | `8.3.1` |\n| [debugpy](https://github.com/microsoft/debugpy) | `1.8.17` | `1.8.20` |\n| [exceptiongroup](https://github.com/agronholm/exceptiongroup) | `1.3.0` | `1.3.1` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.19.1` | `3.20.3` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.60.1` | `4.61.1` |\n| [identify](https://github.com/pre-commit/identify) | `2.6.15` | `2.6.16` |\n| [idna](https://github.com/kjd/idna) | `3.10` | `3.11` |\n| [iniconfig](https://github.com/pytest-dev/iniconfig) | `2.1.0` | `2.3.0` |\n| [ipykernel](https://github.com/ipython/ipykernel) | `6.30.1` | `7.1.0` |\n| [ipython](https://github.com/ipython/ipython) | `8.37.0` | `8.38.0` |\n| [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) | `8.1.7` | `8.1.8` |\n| [json5](https://github.com/dpranke/pyjson5) | `0.12.1` | `0.13.0` |\n| [jsonschema](https://github.com/python-jsonschema/jsonschema) | `4.25.1` | `4.26.0` |\n| [jupyter-client](https://github.com/jupyter/jupyter_client) | `8.6.3` | `8.8.0` |\n| [jupyter-core](https://github.com/jupyter/jupyter_core) | `5.8.1` | `5.9.1` |\n| [jupyter-server-terminals](https://github.com/jupyter-server/jupyter_server_terminals) | `0.5.3` | `0.5.4` |\n| [jupyterlab](https://github.com/jupyterlab/jupyterlab) | `4.4.9` | `4.5.3` |\n| [jupyterlab-widgets](https://github.com/jupyter-widgets/ipywidgets) | `3.0.15` | `3.0.16` |\n| [lark](https://github.com/lark-parser/lark) | `1.3.0` | `1.3.1` |\n| [matplotlib-inline](https://github.com/ipython/matplotlib-inline) | `0.1.7` | `0.2.1` |\n| [mistune](https://github.com/lepture/mistune) | `3.1.4` | `3.2.0` |\n| [nbclient](https://github.com/jupyter/nbclient) | `0.10.2` | `0.10.4` |\n| [nbconvert](https://github.com/jupyter/nbconvert) | `7.16.6` | `7.17.0` |\n| [nodeenv](https://github.com/ekalinin/nodeenv) | `1.9.1` | `1.10.0` |\n| [numba](https://github.com/numba/numba) | `0.62.1` | `0.63.1` |\n| [numexpr](https://github.com/pydata/numexpr) | `2.13.1` | `2.14.1` |\n| [packaging](https://github.com/pypa/packaging) | `25.0` | `26.0` |\n| [pillow](https://github.com/python-pillow/Pillow) | `11.3.0` | `12.1.0` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.4.0` | `4.5.1` |\n| [prometheus-client](https://github.com/prometheus/client_python) | `0.23.1` | `0.24.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.1.0` | `7.2.2` |\n| [pycparser](https://github.com/eliben/pycparser) | `2.23` | `3.0` |\n| [pyparsing](https://github.com/pyparsing/pyparsing) | `3.2.5` | `3.3.2` |\n| [referencing](https://github.com/python-jsonschema/referencing) | `0.36.2` | `0.37.0` |\n| [roman-numerals-py](https://github.com/AA-Turner/roman-numerals) | `3.1.0` | `4.1.0` |\n| [rpds-py](https://github.com/crate-py/rpds) | `0.27.1` | `0.30.0` |\n| ruamel-yaml | `0.18.15` | `0.19.1` |\n| [send2trash](https://github.com/arsenetar/send2trash) | `1.8.3` | `2.1.0` |\n| [setuptools](https://github.com/pypa/setuptools) | `80.9.0` | `80.10.2` |\n| [soupsieve](https://github.com/facelessuser/soupsieve) | `2.8` | `2.8.3` |\n| [starlette](https://github.com/Kludex/starlette) | `0.48.0` | `0.52.1` |\n| [tomli](https://github.com/hukkin/tomli) | `2.2.1` | `2.4.0` |\n| [tornado](https://github.com/tornadoweb/tornado) | `6.5.2` | `6.5.4` |\n| [types-pytz](https://github.com/typeshed-internal/stub_uploader) | `2025.2.0.20250809` | `2025.2.0.20251108` |\n| [tzdata](https://github.com/python/tzdata) | `2025.2` | `2025.3` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.5.0` | `2.6.3` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.37.0` | `0.40.0` |\n| [virtualenv](https://github.com/pypa/virtualenv) | `20.34.0` | `20.36.1` |\n| [watchfiles](https://github.com/samuelcolvin/watchfiles) | `1.1.0` | `1.1.1` |\n| [wcwidth](https://github.com/jquast/wcwidth) | `0.2.14` | `0.5.3` |\n| [webcolors](https://github.com/ubernostrum/webcolors) | `24.11.1` | `25.10.0` |\n| [websocket-client](https://github.com/websocket-client/websocket-client) | `1.8.0` | `1.9.0` |\n| [websockets](https://github.com/python-websockets/websockets) | `15.0.1` | `16.0` |\n| [widgetsnbextension](http://jupyter.org) | `4.0.14` | `4.0.15` |\n\n\nUpdates `black` from 25.9.0 to 26.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/releases\"\u003eblack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.1.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cp\u003eIntroduces the 2026 stable style (\u003ca href=\"https://redirect.github.com/psf/black/issues/4892\"\u003e#4892\u003c/a\u003e), stabilizing the following changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ealways_one_newline_after_import\u003c/code\u003e: Always force one blank line after import\nstatements, except when the line after the import is a comment or an import statement\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4489\"\u003e#4489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efix_fmt_skip_in_one_liners\u003c/code\u003e: Fix \u003ccode\u003e# fmt: skip\u003c/code\u003e behavior on one-liner declarations,\nsuch as \u003ccode\u003edef foo(): return \u0026quot;mock\u0026quot; # fmt: skip\u003c/code\u003e, where previously the declaration would\nhave been incorrectly collapsed (\u003ca href=\"https://redirect.github.com/psf/black/issues/4800\"\u003e#4800\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efix_module_docstring_detection\u003c/code\u003e: Fix module docstrings being treated as normal\nstrings if preceded by comments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4764\"\u003e#4764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efix_type_expansion_split\u003c/code\u003e: Fix type expansions split in generic functions (\u003ca href=\"https://redirect.github.com/psf/black/issues/4777\"\u003e#4777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emultiline_string_handling\u003c/code\u003e: Make expressions involving multiline strings more compact\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/1879\"\u003e#1879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003enormalize_cr_newlines\u003c/code\u003e: Add \u003ccode\u003e\\r\u003c/code\u003e style newlines to the potential newlines to\nnormalize file newlines both from and to (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eremove_parens_around_except_types\u003c/code\u003e: Remove parentheses around multiple exception\ntypes in \u003ccode\u003eexcept\u003c/code\u003e and \u003ccode\u003eexcept*\u003c/code\u003e without \u003ccode\u003eas\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4720\"\u003e#4720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eremove_parens_from_assignment_lhs\u003c/code\u003e: Remove unnecessary parentheses from the left-hand\nside of assignments while preserving magic trailing commas and intentional multiline\nformatting (\u003ca href=\"https://redirect.github.com/psf/black/issues/4865\"\u003e#4865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estandardize_type_comments\u003c/code\u003e: Format type comments which have zero or more spaces\nbetween \u003ccode\u003e#\u003c/code\u003e and \u003ccode\u003etype:\u003c/code\u003e or between \u003ccode\u003etype:\u003c/code\u003e and value to \u003ccode\u003e# type: (value)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe following change was not in any previous stable release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerated the \u003ccode\u003e_width_table.py\u003c/code\u003e and added tests for the Khmer language (\u003ca href=\"https://redirect.github.com/psf/black/issues/4253\"\u003e#4253\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release alo bumps \u003ccode\u003epathspec\u003c/code\u003e to v1 and fixes inconsistencies with Git's\n\u003ccode\u003e.gitignore\u003c/code\u003e logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4958\"\u003e#4958\u003c/a\u003e). Now, files will be ignored if a pattern matches them, even\nif the parent directory is directly unignored. For example, Black would previously\nformat \u003ccode\u003eexclude/not_this/foo.py\u003c/code\u003e with this \u003ccode\u003e.gitignore\u003c/code\u003e:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eexclude/\n!exclude/not_this/\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eNow, \u003ccode\u003eexclude/not_this/foo.py\u003c/code\u003e will remain ignored. To ensure \u003ccode\u003eexclude/not_this/\u003c/code\u003e and\nall of it's children are included in formatting (and in Git), use this \u003ccode\u003e.gitignore\u003c/code\u003e:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e*/exclude/*\n!*/exclude/not_this/\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThis new behavior matches Git. The leading \u003ccode\u003e*/\u003c/code\u003e are only necessary if you wish to ignore\nmatching subdirectories (like the previous behavior did), and not just matching root\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.1.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cp\u003eIntroduces the 2026 stable style (\u003ca href=\"https://redirect.github.com/psf/black/issues/4892\"\u003e#4892\u003c/a\u003e), stabilizing the following changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ealways_one_newline_after_import\u003c/code\u003e: Always force one blank line after import\nstatements, except when the line after the import is a comment or an import statement\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4489\"\u003e#4489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efix_fmt_skip_in_one_liners\u003c/code\u003e: Fix \u003ccode\u003e# fmt: skip\u003c/code\u003e behavior on one-liner declarations,\nsuch as \u003ccode\u003edef foo(): return \u0026quot;mock\u0026quot; # fmt: skip\u003c/code\u003e, where previously the declaration would\nhave been incorrectly collapsed (\u003ca href=\"https://redirect.github.com/psf/black/issues/4800\"\u003e#4800\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efix_module_docstring_detection\u003c/code\u003e: Fix module docstrings being treated as normal\nstrings if preceded by comments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4764\"\u003e#4764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efix_type_expansion_split\u003c/code\u003e: Fix type expansions split in generic functions (\u003ca href=\"https://redirect.github.com/psf/black/issues/4777\"\u003e#4777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emultiline_string_handling\u003c/code\u003e: Make expressions involving multiline strings more compact\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/1879\"\u003e#1879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003enormalize_cr_newlines\u003c/code\u003e: Add \u003ccode\u003e\\r\u003c/code\u003e style newlines to the potential newlines to\nnormalize file newlines both from and to (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eremove_parens_around_except_types\u003c/code\u003e: Remove parentheses around multiple exception\ntypes in \u003ccode\u003eexcept\u003c/code\u003e and \u003ccode\u003eexcept*\u003c/code\u003e without \u003ccode\u003eas\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4720\"\u003e#4720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eremove_parens_from_assignment_lhs\u003c/code\u003e: Remove unnecessary parentheses from the left-hand\nside of assignments while preserving magic trailing commas and intentional multiline\nformatting (\u003ca href=\"https://redirect.github.com/psf/black/issues/4865\"\u003e#4865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estandardize_type_comments\u003c/code\u003e: Format type comments which have zero or more spaces\nbetween \u003ccode\u003e#\u003c/code\u003e and \u003ccode\u003etype:\u003c/code\u003e or between \u003ccode\u003etype:\u003c/code\u003e and value to \u003ccode\u003e# type: (value)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe following change was not in any previous stable release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerated the \u003ccode\u003e_width_table.py\u003c/code\u003e and added tests for the Khmer language (\u003ca href=\"https://redirect.github.com/psf/black/issues/4253\"\u003e#4253\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release alo bumps \u003ccode\u003epathspec\u003c/code\u003e to v1 and fixes inconsistencies with Git's\n\u003ccode\u003e.gitignore\u003c/code\u003e logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4958\"\u003e#4958\u003c/a\u003e). Now, files will be ignored if a pattern matches them, even\nif the parent directory is directly unignored. For example, Black would previously\nformat \u003ccode\u003eexclude/not_this/foo.py\u003c/code\u003e with this \u003ccode\u003e.gitignore\u003c/code\u003e:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eexclude/\n!exclude/not_this/\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eNow, \u003ccode\u003eexclude/not_this/foo.py\u003c/code\u003e will remain ignored. To ensure \u003ccode\u003eexclude/not_this/\u003c/code\u003e and\nall of it's children are included in formatting (and in Git), use this \u003ccode\u003e.gitignore\u003c/code\u003e:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e*/exclude/*\n!*/exclude/not_this/\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThis new behavior matches Git. The leading \u003ccode\u003e*/\u003c/code\u003e are only necessary if you wish to ignore\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/6305bf1ae645ab7541be4f5028a86239316178eb\"\u003e\u003ccode\u003e6305bf1\u003c/code\u003e\u003c/a\u003e Prepare 2026.1.0 release (\u003ca href=\"https://redirect.github.com/psf/black/issues/4892\"\u003e#4892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/e71305bee302f7f9016b228361e5ae69669dca7b\"\u003e\u003ccode\u003ee71305b\u003c/code\u003e\u003c/a\u003e Bump pypa/cibuildwheel from 3.3.0 to 3.3.1 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4961\"\u003e#4961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/21a2a8c2b1d0c8d47bc00cc59591470f6a9e2307\"\u003e\u003ccode\u003e21a2a8c\u003c/code\u003e\u003c/a\u003e Fix Shutdown multiprocessing Manager in schedule_formatting (\u003ca href=\"https://redirect.github.com/psf/black/issues/4952\"\u003e#4952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/e3146cea4245fcee29d007cb45d9faaf63271586\"\u003e\u003ccode\u003ee3146ce\u003c/code\u003e\u003c/a\u003e Bump docker/setup-buildx-action from 3.11.1 to 3.12.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4919\"\u003e#4919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/fe1fbc4fdfa03fa1d460f975b8aca77e4b4f1a4a\"\u003e\u003ccode\u003efe1fbc4\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 5.0.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4923\"\u003e#4923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/2b4b7fcfe00bb0d99322e07e87fc2f0992f7a4d8\"\u003e\u003ccode\u003e2b4b7fc\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 6.0.0 to 7.0.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4922\"\u003e#4922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/d745be69bfa9d85ec2ef6e5f9b7ec7e253b5e8ab\"\u003e\u003ccode\u003ed745be6\u003c/code\u003e\u003c/a\u003e docs: document --force-exclude for pre-commit workflows (\u003ca href=\"https://redirect.github.com/psf/black/issues/4957\"\u003e#4957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/b41acd6ebbe76e18b49286166924f73f01c3fd02\"\u003e\u003ccode\u003eb41acd6\u003c/code\u003e\u003c/a\u003e Various CI and doc refactors (\u003ca href=\"https://redirect.github.com/psf/black/issues/4928\"\u003e#4928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/6f43612766da4a2f275b575af0802c3e73b6ed83\"\u003e\u003ccode\u003e6f43612\u003c/code\u003e\u003c/a\u003e Handle pathspec v1 changes (\u003ca href=\"https://redirect.github.com/psf/black/issues/4958\"\u003e#4958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/200c550aff44372f801a6d826a361cb26f45a504\"\u003e\u003ccode\u003e200c550\u003c/code\u003e\u003c/a\u003e Bump furo from 2025.9.25 to 2025.12.19 in /docs (\u003ca href=\"https://redirect.github.com/psf/black/issues/4933\"\u003e#4933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/25.9.0...26.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `coverage` from 7.10.7 to 7.13.2\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.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\u003cp\u003e.. _changes_7-13-1:\u003c/p\u003e\n\u003ch2\u003eVersion 7.13.1 — 2025-12-28\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded: the JSON report now includes a \u003ccode\u003e\u0026quot;start_line\u0026quot;\u003c/code\u003e key for function and\nclass regions, indicating the first line of the region in the source. Closes\n\u003ccode\u003eissue 2110\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded: The \u003ccode\u003edebug data\u003c/code\u003e command now takes file names as arguments on the\ncommand line, so you can inspect specific data files without needing to set\nthe \u003ccode\u003eCOVERAGE_FILE\u003c/code\u003e environment variable.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the JSON report used to report module docstrings as executed lines,\nwhich no other report did, as described in \u003ccode\u003eissue 2105\u003c/code\u003e_. This is now fixed,\nthanks to Jianrong Zhao.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: coverage.py uses a more disciplined approach to detecting where\nthird-party code is installed, and avoids measuring it. This shouldn't change\nany behavior. If you find that it does, please get in touch.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance: data files that will be combined now record their hash as part\nof the file name. This lets us skip duplicate data more quickly, speeding the\ncombining step.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocs: added a section explaining more about what is considered a missing\nbranch and how it is reported: :ref:\u003ccode\u003ebranch_explain\u003c/code\u003e, as requested in \u003ccode\u003eissue 1597\u003c/code\u003e\u003cem\u003e. Thanks to \u003ccode\u003eAyisha Mohammed \u0026lt;pull 2092_\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eTests: the test suite misunderstood what core was being tested if\n\u003ccode\u003eCOVERAGE_CORE\u003c/code\u003e wasn't set on 3.14+. This is now fixed, closing \u003ccode\u003eissue 2109\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 1597: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/1597\"\u003ecoveragepy/coveragepy#1597\u003c/a\u003e\n.. _pull 2092: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2092\"\u003ecoveragepy/coveragepy#2092\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/513e97162536cb94aeb94ed3cbe487ca64d13e07\"\u003e\u003ccode\u003e513e971\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.13.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/27a8230cf0ef73abca824d2a8622235d9ad8ab96\"\u003e\u003ccode\u003e27a8230\u003c/code\u003e\u003c/a\u003e docs: prep for 7.13.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/27d8daac216ffef80276515b22cf679f9fabc422\"\u003e\u003ccode\u003e27d8daa\u003c/code\u003e\u003c/a\u003e refactor: plural does more\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/a2f248cf095fc49d3599c39befdea6a5552ccd23\"\u003e\u003ccode\u003ea2f248c\u003c/code\u003e\u003c/a\u003e fix: stdlib might be through a symlink. \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2115\"\u003e#2115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/bc52a22953759f71c291d31e7d17faf9903c0667\"\u003e\u003ccode\u003ebc52a22\u003c/code\u003e\u003c/a\u003e debug: re-organize Matchers to show more of what they do\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/f338d816ba7fcd23934a9397d15450593f0f20d9\"\u003e\u003ccode\u003ef338d81\u003c/code\u003e\u003c/a\u003e debug: build is a tuple, don't show it on two lines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/92020e469ab6c80cbe24786d0250a571d5f569cf\"\u003e\u003ccode\u003e92020e4\u003c/code\u003e\u003c/a\u003e refactor(test): convert to parametrized\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/6387d0a60d80cb96231ad32fe81be47cddfe1c78\"\u003e\u003ccode\u003e6387d0a\u003c/code\u003e\u003c/a\u003e test: let (most) tests run with no network\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/1d31e33cfe0ccef7d87c1f0c6219f55a3d9b5eee\"\u003e\u003ccode\u003e1d31e33\u003c/code\u003e\u003c/a\u003e build: workflows sometimes need more than 10 min\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/62949782b7810d8ffc228ba0e00f81c2ab81cda7\"\u003e\u003ccode\u003e6294978\u003c/code\u003e\u003c/a\u003e refactor: an error message is now uniform across versions\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coveragepy/coveragepy/compare/7.10.7...7.13.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `furo` from 2025.9.25 to 2025.12.19\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pradyunsg/furo/releases\"\u003efuro's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2025.12.19\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump the supported Sphinx version range\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pradyunsg/furo/compare/2025.09.25...2025.12.19\"\u003ehttps://github.com/pradyunsg/furo/compare/2025.09.25...2025.12.19\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/pradyunsg/furo/blob/main/docs/changelog.md\"\u003efuro's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2025.12.19 -- Harmonious Honeydew\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add support for Sphinx 9.\u003c/li\u003e\n\u003cli\u003eDrop support for Sphinx 6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2025.09.25 -- Gleaming Green\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChange the dark mode code back to \u003ccode\u003enative\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2025.07.19 -- Frozen Flame\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Switch to accessible-pygments themes\u003c/li\u003e\n\u003cli\u003e✨ Prefetch the sidebar logos\u003c/li\u003e\n\u003cli\u003e✨ Fix flickering header drop shadow on Safari\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003erel=edit\u003c/code\u003e attribute to \u0026quot;Edit this page\u0026quot; link/icon\u003c/li\u003e\n\u003cli\u003eBump NodeJS and npm dependency versions\u003c/li\u003e\n\u003cli\u003eBump Saas \u0026amp; Webpack major versions\u003c/li\u003e\n\u003cli\u003eImprove current page detection to be resilient to sticky elements above header\u003c/li\u003e\n\u003cli\u003eModernise Sass and use \u003ccode\u003e@use\u003c/code\u003e + \u003ccode\u003e@forward\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRemove top of code \u003ccode\u003eborder-radius\u003c/code\u003e with captions\u003c/li\u003e\n\u003cli\u003eRemove \u0026quot;debug printf\u0026quot; for headerTop value\u003c/li\u003e\n\u003cli\u003eUse distinct images for light and dark mode in the documentation\u003c/li\u003e\n\u003cli\u003eUse the modern Saas Modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2024.08.06 -- Energetic Eminence\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add support for Sphinx 8\u003c/li\u003e\n\u003cli\u003e✨ Add smoother transitions between breakpoints\u003c/li\u003e\n\u003cli\u003eIncrease specificity of table-wrapper selector\u003c/li\u003e\n\u003cli\u003eAvoid page breaks inside paragraphs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2024.07.18 -- Dull Denim\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove how icons are handled and aligned.\u003c/li\u003e\n\u003cli\u003eImprove scroll event handler.\u003c/li\u003e\n\u003cli\u003eHide the copybutton by default.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003esource_view_link\u003c/code\u003e configuration handling.\u003c/li\u003e\n\u003cli\u003eFix close tag on pencil icon.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2024.05.06 -- Cheerful Cerulean\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add new custom icons for auto mode, reflecting the currently active theme.\u003c/li\u003e\n\u003cli\u003e✨ Add a view this page button.\u003c/li\u003e\n\u003cli\u003e✨ Add colours and highlighting to \u0026quot;version modified\u0026quot; API helpers.\u003c/li\u003e\n\u003cli\u003e✨ Add release information to various customisation knobs.\u003c/li\u003e\n\u003cli\u003eMake all icons bigger and use a thinner stroke with them.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2024.04.27 -- Bold Burgundy\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a skip to content link.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/dd9e9f920494f24b9b8dd954ec9d07e0b9d12817\"\u003e\u003ccode\u003edd9e9f9\u003c/code\u003e\u003c/a\u003e Prepare release: 2025.12.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/d43f7e98577aa2db8580a83a4d4c3dcf54617de9\"\u003e\u003ccode\u003ed43f7e9\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/d27cab5e448c44e366577a80bf99beee6fa941a5\"\u003e\u003ccode\u003ed27cab5\u003c/code\u003e\u003c/a\u003e Bump the supported Sphinx version range\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/12f288eb8c8c57dc751e208545b07f1584bb29a7\"\u003e\u003ccode\u003e12f288e\u003c/code\u003e\u003c/a\u003e Back to development\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pradyunsg/furo/compare/2025.09.25...2025.12.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.18.2 to 1.19.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003eMypy 1.19.1\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix noncommutative joins with bounded TypeVars (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20345\"\u003e20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect output format for cached runs by serializing raw errors in cache metas (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20372\"\u003e20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (A5rocks, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20383\"\u003e20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix mypyc generator regression with empty tuple (BobTheBuidler, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20371\"\u003e20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash involving Unpack-ed TypeVarTuple (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20323\"\u003e20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on star import of redefinition (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20333\"\u003e20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on typevar with forward ref used in other module (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20334\"\u003e20334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFail with an explicit error on PyPy (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20389\"\u003e20389\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAcknowledgements\u003c/h3\u003e\n\u003cp\u003eThanks to all mypy contributors who contributed to this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eA5rocks\u003c/li\u003e\n\u003cli\u003eBobTheBuidler\u003c/li\u003e\n\u003cli\u003ebzoracler\u003c/li\u003e\n\u003cli\u003eChainfire\u003c/li\u003e\n\u003cli\u003eChristoph Tyralla\u003c/li\u003e\n\u003cli\u003eDavid Foster\u003c/li\u003e\n\u003cli\u003eFrank Dana\u003c/li\u003e\n\u003cli\u003eGuo Ci\u003c/li\u003e\n\u003cli\u003eiap\u003c/li\u003e\n\u003cli\u003eIvan Levkivskyi\u003c/li\u003e\n\u003cli\u003eJames Hilton-Balfe\u003c/li\u003e\n\u003cli\u003ejhance\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eJukka Lehtosalo\u003c/li\u003e\n\u003cli\u003eKarelKenens\u003c/li\u003e\n\u003cli\u003eKevin Kannammalil\u003c/li\u003e\n\u003cli\u003eMarc Mueller\u003c/li\u003e\n\u003cli\u003eMichael Carlstrom\u003c/li\u003e\n\u003cli\u003eMichael J. Sullivan\u003c/li\u003e\n\u003cli\u003ePiotr Sawicki\u003c/li\u003e\n\u003cli\u003eRandolf Scholz\u003c/li\u003e\n\u003cli\u003eShantanu\u003c/li\u003e\n\u003cli\u003eSigve Sebastian Farstad\u003c/li\u003e\n\u003cli\u003esobolevn\u003c/li\u003e\n\u003cli\u003eStanislav Terliakov\u003c/li\u003e\n\u003cli\u003eStephen Morton\u003c/li\u003e\n\u003cli\u003eTheodore Ando\u003c/li\u003e\n\u003cli\u003eThiago J. Barbalho\u003c/li\u003e\n\u003cli\u003ewyattscarpenter\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eI’d also like to thank my employer, Dropbox, for supporting mypy development.\u003c/p\u003e\n\u003ch2\u003eMypy 1.18\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.18.1 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/412c19a6bde31e7afa7f41afdf8356664689ae80\"\u003e\u003ccode\u003e412c19a\u003c/code\u003e\u003c/a\u003e Bump version to 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/20aea0a6ca0710f5427239bdd2fd8e8bf1caf634\"\u003e\u003ccode\u003e20aea0a\u003c/code\u003e\u003c/a\u003e Update changelog for 1.19.1 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20414\"\u003e#20414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/2b23b507524bf1bd7513eea6f2a16fb91e072cb6\"\u003e\u003ccode\u003e2b23b50\u003c/code\u003e\u003c/a\u003e Serialize raw errors in cache metas (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20372\"\u003e#20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/f60f90fb8872bf722e32aefd548daaf6d8560e05\"\u003e\u003ccode\u003ef60f90f\u003c/code\u003e\u003c/a\u003e Fail on PyPy in main instead of setup.py (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20389\"\u003e#20389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/58d485b4ea4776e0b9d4045b306cb0818ecc2aa6\"\u003e\u003ccode\u003e58d485b\u003c/code\u003e\u003c/a\u003e Fail with an explicit error on PyPy (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20384\"\u003e#20384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a4b31a26788b70c4a2a19adbafa2bbda43dc2e8b\"\u003e\u003ccode\u003ea4b31a2\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20383\"\u003e#20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/8a6eff478416cd3ed3931a6ed77ce61c88ab69e9\"\u003e\u003ccode\u003e8a6eff4\u003c/code\u003e\u003c/a\u003e [mypyc] fix generator regression with empty tuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20371\"\u003e#20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/70eceea682c041c0d8e8462dffef9c7bb252e014\"\u003e\u003ccode\u003e70eceea\u003c/code\u003e\u003c/a\u003e Fix noncommutative joins with bounded TypeVars (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20345\"\u003e#20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/3890fc49bf7cc02db04b1e63eb2540aaacdeecc0\"\u003e\u003ccode\u003e3890fc4\u003c/code\u003e\u003c/a\u003e Fix crash involving Unpack-ed TypeVarTuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20323\"\u003e#20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/c93d917a86993e06dcc88e508f28f4f5199ce1c8\"\u003e\u003ccode\u003ec93d917\u003c/code\u003e\u003c/a\u003e Fix crash on star import of redefinition (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20333\"\u003e#20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.18.2...v1.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pre-commit` from 4.3.0 to 4.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pre-commit/pre-commit/releases\"\u003epre-commit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epre-commit v4.5.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003elanguage: python\u003c/code\u003e with \u003ccode\u003erepo: local\u003c/code\u003e without \u003ccode\u003eadditional_dependencies\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3597\"\u003e#3597\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epre-commit v4.5.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epre-commit hazmat\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3585\"\u003e#3585\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epre-commit v4.4.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--fail-fast\u003c/code\u003e option to \u003ccode\u003epre-commit run\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3528\"\u003e#3528\u003c/a\u003e PR by \u003ca href=\"https://github.com/JulianMaurin\"\u003e\u003ccode\u003e@​JulianMaurin\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUpgrade \u003ccode\u003eruby-build\u003c/code\u003e / \u003ccode\u003erbenv\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3566\"\u003e#3566\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3565\"\u003e#3565\u003c/a\u003e issue by \u003ca href=\"https://github.com/MRigal\"\u003e\u003ccode\u003e@​MRigal\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003elanguage: unsupported\u003c/code\u003e / \u003ccode\u003elanguage: unsupported_script\u003c/code\u003e as aliases for \u003ccode\u003elanguage: system\u003c/code\u003e / \u003ccode\u003elanguage: script\u003c/code\u003e (which will eventually be deprecated).\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3577\"\u003e#3577\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd support docker-in-docker detection for cgroups v2.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3535\"\u003e#3535\u003c/a\u003e PR by \u003ca href=\"https://github.com/br-rhrbacek\"\u003e\u003ccode\u003e@​br-rhrbacek\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3360\"\u003e#3360\u003c/a\u003e issue by \u003ca href=\"https://github.com/JasonAlt\"\u003e\u003ccode\u003e@​JasonAlt\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle when docker gives \u003ccode\u003eSecurityOptions: null\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3537\"\u003e#3537\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3514\"\u003e#3514\u003c/a\u003e issue by \u003ca href=\"https://github.com/jenstroeger\"\u003e\u003ccode\u003e@​jenstroeger\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix error context for invalid \u003ccode\u003estages\u003c/code\u003e in \u003ccode\u003e.pre-commit-config.yaml\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3576\"\u003e#3576\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md\"\u003epre-commit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e4.5.1 - 2025-12-16\u003c/h1\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003elanguage: python\u003c/code\u003e with \u003ccode\u003erepo: local\u003c/code\u003e without \u003ccode\u003eadditional_dependencies\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3597\"\u003e#3597\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e4.5.0 - 2025-11-22\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epre-commit hazmat\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3585\"\u003e#3585\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e4.4.0 - 2025-11-08\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--fail-fast\u003c/code\u003e option to \u003ccode\u003epre-commit run\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3528\"\u003e#3528\u003c/a\u003e PR by \u003ca href=\"https://github.com/JulianMaurin\"\u003e\u003ccode\u003e@​JulianMaurin\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUpgrade \u003ccode\u003eruby-build\u003c/code\u003e / \u003ccode\u003erbenv\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3566\"\u003e#3566\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3565\"\u003e#3565\u003c/a\u003e issue by \u003ca href=\"https://github.com/MRigal\"\u003e\u003ccode\u003e@​MRigal\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003elanguage: unsupported\u003c/code\u003e / \u003ccode\u003elanguage: unsupported_script\u003c/code\u003e as aliases\nfor \u003ccode\u003elanguage: system\u003c/code\u003e / \u003ccode\u003elanguage: script\u003c/code\u003e (which will eventually be\ndeprecated).\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3577\"\u003e#3577\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd support docker-in-docker detection for cgroups v2.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3535\"\u003e#3535\u003c/a\u003e PR by \u003ca href=\"https://github.com/br-rhrbacek\"\u003e\u003ccode\u003e@​br-rhrbacek\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3360\"\u003e#3360\u003c/a\u003e issue by \u003ca href=\"https://github.com/JasonAlt\"\u003e\u003ccode\u003e@​JasonAlt\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle when docker gives \u003ccode\u003eSecurityOptions: null\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3537\"\u003e#3537\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3514\"\u003e#3514\u003c/a\u003e issue by \u003ca href=\"https://github.com/jenstroeger\"\u003e\u003ccode\u003e@​jenstroeger\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix error context for invalid \u003ccode\u003estages\u003c/code\u003e in \u003ccode\u003e.pre-commit-config.yaml\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3576\"\u003e#3576\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/8a0630ca1aa7f6d5665effe674ebe2022af17919\"\u003e\u003ccode\u003e8a0630c\u003c/code\u003e\u003c/a\u003e v4.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/fcbc745744377ef2c9fe6a7e1a21c67d797933dc\"\u003e\u003ccode\u003efcbc745\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3597\"\u003e#3597\u003c/a\u003e from pre-commit/empty-setup-py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/51592eececd13b99c40ec477ad8f810799147227\"\u003e\u003ccode\u003e51592ee\u003c/code\u003e\u003c/a\u003e fix python local template when artifact dirs are present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/67e8faf80baffcb4b79c31b89ca9a413a1cd6776\"\u003e\u003ccode\u003e67e8faf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3596\"\u003e#3596\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/c251e6b6d011b3b262339dc8e109de29b0ff8db1\"\u003e\u003ccode\u003ec251e6b\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/98ccafa3ce42b846b9a9be9ed73fbbec7415496d\"\u003e\u003ccode\u003e98ccafa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3593\"\u003e#3593\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/48953556d06f8cdb4248002c1a0044e69e0916b3\"\u003e\u003ccode\u003e4895355\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/2cedd58e691f4d3bc6ab266c7d7c28464c3502be\"\u003e\u003ccode\u003e2cedd58\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3588\"\u003e#3588\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/465192d7de58d569776eaaa818c94cb2b962d436\"\u003e\u003ccode\u003e465192d\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/fd42f96874279c4f65363bfea5238714419e54d7\"\u003e\u003ccode\u003efd42f96\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3586\"\u003e#3586\u003c/a\u003e from pre-commit/zipapp-sha256-file-not-needed\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pre-commit/pre-commit/compare/v4.3.0...v4.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.13.3 to 0.14.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.14\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-01-22.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve required parentheses in lambda bodies (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22747\"\u003e#22747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCombine range suppression code diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22613\"\u003e#22613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Second positional argument to \u003ccode\u003eAsset\u003c/code\u003e/\u003ccode\u003eDataset\u003c/code\u003e should not be a dictionary (\u003ccode\u003eAIR303\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22453\"\u003e#22453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Detect duplicate entries in \u003ccode\u003e__all__\u003c/code\u003e (\u003ccode\u003eRUF068\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22114\"\u003e#22114\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Allow shadowing non-builtin bindings (\u003ccode\u003eUP029\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22749\"\u003e#22749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Apply \u003ccode\u003eUP045\u003c/code\u003e to string arguments of \u003ccode\u003etyping.cast\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22320\"\u003e#22320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pie\u003c/code\u003e] Detect duplicated declared class fields in \u003ccode\u003ePIE794\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22717\"\u003e#22717\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix inconsistent handling of forward references for \u003ccode\u003e__new__\u003c/code\u003e, \u003ccode\u003e__enter__\u003c/code\u003e, \u003ccode\u003e__aenter__\u003c/code\u003e in \u003ccode\u003ePYI034\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22798\"\u003e#22798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pytest-style\u003c/code\u003e] Support \u003ccode\u003echeck\u003c/code\u003e parameter in \u003ccode\u003ePT011\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22725\"\u003e#22725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add exception for \u003ccode\u003ectypes.Structure._fields_\u003c/code\u003e (\u003ccode\u003eRUF012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22559\"\u003e#22559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMany fixes are now marked unsafe if they would remove comments:\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22656\"\u003e\u003ccode\u003eB009\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22657\"\u003e\u003ccode\u003eB010\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22658\"\u003e\u003ccode\u003eB013\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22659\"\u003e\u003ccode\u003eB014\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22632\"\u003e\u003ccode\u003eB033\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22662\"\u003e\u003ccode\u003eSIM910\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22661\"\u003e\u003ccode\u003eSIM911\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22772\"\u003e\u003ccode\u003eUP007\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22774\"\u003e\u003ccode\u003eUP039\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22773\"\u003e\u003ccode\u003eUP041\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22772\"\u003e\u003ccode\u003eUP045\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22767\"\u003e\u003ccode\u003eFURB105\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22681\"\u003e\u003ccode\u003eFURB116\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22680\"\u003e\u003ccode\u003eFURB136\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22679\"\u003e\u003ccode\u003eFURB140\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22670\"\u003e\u003ccode\u003eFURB145\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22669\"\u003e\u003ccode\u003eFURB154\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22668\"\u003e\u003ccode\u003eFURB157\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22667\"\u003e\u003ccode\u003eFURB164\u003c/code\u003e\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22666\"\u003e\u003ccode\u003eFURB181\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22665\"\u003e\u003ccode\u003eFURB188\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22663\"\u003e\u003ccode\u003eRUF019\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22664\"\u003e\u003ccode\u003eRUF020\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--exit-non-zero-on-format\u003c/code\u003e to formatter exit codes section (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22761\"\u003e#22761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate contributing guide for adding a new rule (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22779\"\u003e#22779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eFastAPI\u003c/code\u003e] Document fix safety for \u003ccode\u003eFAST001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22655\"\u003e#22655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Tweak explanation to focus on latency/efficiency tradeoff (\u003ccode\u003eASYNC110\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22715\"\u003e#22715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epandas-vet\u003c/code\u003e] Make example error out-of-the-box (\u003ccode\u003ePD002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22561\"\u003e#22561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Make the example work out of box (\u003ccode\u003eFURB101\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22770\"\u003e#22770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Make the example work out of box (\u003ccode\u003eFURB103\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22769\"\u003e#22769\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/caiquejjx\"\u003e\u003ccode\u003e@​caiquejjx\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/denyszhak\"\u003e\u003ccode\u003e@​denyszhak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sjyangkevin\"\u003e\u003ccode\u003e@​sjyangkevin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MeGaGiGaGon\"\u003e\u003ccode\u003e@​MeGaGiGaGon\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/leandrobbraga\"\u003e\u003ccode\u003e@​leandrobbraga\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.14\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-01-22.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve required parentheses in lambda bodies (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22747\"\u003e#22747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCombine range suppression code diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22613\"\u003e#22613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Second positional argument to \u003ccode\u003eAsset\u003c/code\u003e/\u003ccode\u003eDataset\u003c/code\u003e should not be a dictionary (\u003ccode\u003eAIR303\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22453\"\u003e#22453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Detect duplicate entries in \u003ccode\u003e__all__\u003c/code\u003e (\u003ccode\u003eRUF068\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22114\"\u003e#22114\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Allow shadowing non-builtin bindings (\u003ccode\u003eUP029\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22749\"\u003e#22749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Apply \u003ccode\u003eUP045\u003c/code\u003e to string arguments of \u003ccode\u003etyping.cast\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22320\"\u003e#22320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pie\u003c/code\u003e] Detect duplicated declared class fields in \u003ccode\u003ePIE794\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22717\"\u003e#22717\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix inconsistent handling of forward references for \u003ccode\u003e__new__\u003c/code\u003e, \u003ccode\u003e__enter__\u003c/code\u003e, \u003ccode\u003e__aenter__\u003c/code\u003e in \u003ccode\u003ePYI034\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22798\"\u003e#22798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pytest-style\u003c/code\u003e] Support \u003ccode\u003echeck\u003c/code\u003e parameter in \u003ccode\u003ePT011\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22725\"\u003e#22725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add exception for \u003ccode\u003ectypes.Structure._fields_\u003c/code\u003e (\u003ccode\u003eRUF012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22559\"\u003e#22559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMany fixes are now marked unsafe if they would remove comments:\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22656\"\u003e\u003ccode\u003eB009\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22657\"\u003e\u003ccode\u003eB010\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22658\"\u003e\u003ccode\u003eB013\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22659\"\u003e\u003ccode\u003eB014\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22632\"\u003e\u003ccode\u003eB033\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22662\"\u003e\u003ccode\u003eSIM910\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22661\"\u003e\u003ccode\u003eSIM911\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22772\"\u003e\u003ccode\u003eUP007\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22774\"\u003e\u003ccode\u003eUP039\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22773\"\u003e\u003ccode\u003eUP041\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22772\"\u003e\u003ccode\u003eUP045\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22767\"\u003e\u003ccode\u003eFURB105\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22681\"\u003e\u003ccode\u003eFURB116\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22680\"\u003e\u003ccode\u003eFURB136\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22679\"\u003e\u003ccode\u003eFURB140\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22670\"\u003e\u003ccode\u003eFURB145\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22669\"\u003e\u003ccode\u003eFURB154\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22668\"\u003e\u003ccode\u003eFURB157\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22667\"\u003e\u003ccode\u003eFURB164\u003c/code\u003e\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22666\"\u003e\u003ccode\u003eFURB181\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22665\"\u003e\u003ccode\u003eFURB188\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22663\"\u003e\u003ccode\u003eRUF019\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22664\"\u003e\u003ccode\u003eRUF020\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--exit-non-zero-on-format\u003c/code\u003e to formatter exit codes section (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22761\"\u003e#22761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate contributing guide for adding a new rule (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22779\"\u003e#22779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eFastAPI\u003c/code\u003e] Document fix safety for \u003ccode\u003eFAST001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22655\"\u003e#22655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Tweak explanation to focus on latency/efficiency tradeoff (\u003ccode\u003eASYNC110\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22715\"\u003e#22715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epandas-vet\u003c/code\u003e] Make example error out-of-the-box (\u003ccode\u003ePD002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22561\"\u003e#22561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Make the example work out of box (\u003ccode\u003eFURB101\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22770\"\u003e#22770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Make the example work out of box (\u003ccode\u003eFURB103\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22769\"\u003e#22769\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/caiquejjx\"\u003e\u003ccode\u003e@​caiquejjx\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/denyszhak\"\u003e\u003ccode\u003e@​denyszhak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sjyangkevin\"\u003e\u003ccode\u003e@​sjyangkevin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MeGaGiGaGon\"\u003e\u003ccode\u003e@​MeGaGiGaGon\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/leandrobbraga\"\u003e\u003ccode\u003e@​leandrobbraga\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8b2e7b36f246b990fe473a84eef25ff429e59ecf\"\u003e\u003ccode\u003e8b2e7b3\u003c/code\u003e\u003c/a\u003e Prepare release v0.14.14 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22813\"\u003e#22813\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/4c7d1f50fd8d1baf06a3c8885ecd0ded0113d383\"\u003e\u003ccode\u003e4c7d1f5\u003c/code\u003e\u003c/a\u003e [ty] Infer \u003ccode\u003eTypedDict\u003c/code\u003e types with \u0026gt;=1 required key as being always truthy (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/2\"\u003e#2\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b7de4341535ff2b299695335e0a7b9ebaf297348\"\u003e\u003ccode\u003eb7de434\u003c/code\u003e\u003c/a\u003e add CCfW hooks (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22803\"\u003e#22803\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b912dfc8788f8f8c351767899df6b72ce3366352\"\u003e\u003ccode\u003eb912dfc\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epyupgrade\u003c/code\u003e] Apply \u003ccode\u003eUP045\u003c/code\u003e to string arguments of \u003ccode\u003etyping.cast\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22320\"\u003e#22320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1ff062d1cccb8025de184a55c6dfe469a4293249\"\u003e\u003ccode\u003e1ff062d\u003c/code\u003e\u003c/a\u003e [ty] Improve completion rankings for raise-from/except contexts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22775\"\u003e#22775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7e408a51d24db2bca248bb90f2f7938f83efd22b\"\u003e\u003ccode\u003e7e408a5\u003c/code\u003e\u003c/a\u003e Update dependency wrangler to v4.59.1 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22793\"\u003e#22793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/ceb876b82300bd237d11e3eb77c46fcf3d3afe85\"\u003e\u003ccode\u003eceb876b\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix inconsistent handling of forward references for \u003ccode\u003e__new__\u003c/code\u003e,...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c5b4ee68c90faf0e609fa6553a171a7ba60ebdcb\"\u003e\u003ccode\u003ec5b4ee6\u003c/code\u003e\u003c/a\u003e [ty] Support solving generics involving PEP 695 type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22678\"\u003e#22678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b9a61293153f43df9963c727539309b76ac4756d\"\u003e\u003ccode\u003eb9a6129\u003c/code\u003e\u003c/a\u003e [ty] Improve support for kwarg splats in dictionary literals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22781\"\u003e#22781\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/f516d47ceb7f6a0c3a95eaaa2c7451a32b5d7120\"\u003e\u003ccode\u003ef516d47\u003c/code\u003e\u003c/a\u003e Update contributing guide for adding a new rule (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22779\"\u003e#22779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.13.3...0.14.14\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 8.4.2 to 9.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.0.2\u003c/h2\u003e\n\u003ch1\u003epytest 9.0.2 (2025-12-06)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13896\"\u003e#13896\u003c/a\u003e: The terminal progress feature added in pytest 9.0.0 has been disabled by default, except on Windows, due to compatibility issues with some terminal emulators.\u003c/p\u003e\n\u003cp\u003eYou may enable it again by passing \u003ccode\u003e-p terminalprogress\u003c/code\u003e. We may enable it by default again once compatibility improves in the future.\u003c/p\u003e\n\u003cp\u003eAdditionally, when the environment variable \u003ccode\u003eTERM\u003c/code\u003e is \u003ccode\u003edumb\u003c/code\u003e, the escape codes are no longer emitted, even if the plugin is enabled.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13904\"\u003e#13904\u003c/a\u003e: Fixed the TOML type of the \u003ccode\u003etmp_path_retention_count\u003c/code\u003e settings in the API reference from number to string.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13946\"\u003e#13946\u003c/a\u003e: The private \u003ccode\u003econfig.inicfg\u003c/code\u003e attribute was changed in a breaking manner in pytest 9.0.0.\nDue to its usage in the ecosystem, it is now restored to working order using a compatibility shim.\nIt will be deprecated in pytest 9.1 and removed in pytest 10.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13965\"\u003e#13965\u003c/a\u003e: Fixed quadratic-time behavior when handling \u003ccode\u003eunittest\u003c/code\u003e subtests in Python 3.10.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/4492\"\u003e#4492\u003c/a\u003e: The API Reference now contains cross-reference-able documentation of \u003ccode\u003epytest's command-line flags \u0026lt;command-line-flags\u0026gt;\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.0.1\u003c/h2\u003e\n\u003ch1\u003epytest 9.0.1 (2025-11-12)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13895\"\u003e#13895\u003c/a\u003e: Restore support for skipping tests via \u003ccode\u003eraise unittest.SkipTest\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13896\"\u003e#13896\u003c/a\u003e: The terminal progress plugin added in pytest 9.0 is now automatically disabled when iTerm2 is detected, it generated desktop notifications instead of the desired functionality.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13904\"\u003e#13904\u003c/a\u003e: Fixed the TOML type of the verbosity settings in the API reference from number to string.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13910\"\u003e#13910\u003c/a\u003e: Fixed \u003c!-- raw HTML omitted --\u003eUserWarning: Do not expect file_or_dir\u003c!-- raw HTML omitted --\u003e on some earlier Python 3.12 and 3.13 point versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePackaging updates and notes for downstreams\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13933\"\u003e#13933\u003c/a\u003e: The tox configuration has been adjusted to make sure the desired\nversion string can be passed into its \u003ccode\u003epackage_env\u003c/code\u003e through\nthe \u003ccode\u003eSETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTEST\u003c/code\u003e environment\nvariable as a part of the release process -- by \u003ccode\u003ewebknjaz\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributor-facing changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13891\"\u003e#13891\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13942\"\u003e#13942\u003c/a\u003e: The CI/CD part of the release automation is now capable of\ncreating GitHub Releases without having a Git checkout on\ndisk -- by \u003ccode\u003ebluetech\u003c/code\u003e and \u003ccode\u003ewebknjaz\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13933\"\u003e#13933\u003c/a\u003e: The tox configuration has been adjusted to make sure the desired\nversion string can be passed into its \u003ccode\u003epackage_env\u003c/code\u003e through\nthe \u003ccode\u003eSETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTEST\u003c/code\u003e environment\nvariable as a part of the release process -- by \u003ccode\u003ewebknjaz\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/pytest-dev/pytest/commit/3d10b5148e03eb82b3ee29181dbdc73cf82699e2\"\u003e\u003ccode\u003e3d10b51\u003c/code\u003e\u003c/a\u003e Prepare release version 9.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/188750b725add8c3400eee6fbb6b80559c296d69\"\u003e\u003ccode\u003e188750b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14030\"\u003e#14030\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/1e4b01d1f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b7d7bef90cb9a6db8ac1d3dd5b9ae0eb9abd6c58\"\u003e\u003ccode\u003eb7d7bef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14014\"\u003e#14014\u003c/a\u003e from bluetech/compat-note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bd08e85ac76614ff5ca9ae338aee8d8b06c8fae0\"\u003e\u003ccode\u003ebd08e85\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14013\"\u003e#14013\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/922b60377...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bc783862991241c442c9f9c068e51737ec15ea10\"\u003e\u003ccode\u003ebc78386\u003c/code\u003e\u003c/a\u003e Add CLI options reference documentation (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13930\"\u003e#13930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/5a4e398ce89bc23d2cf3fd98c042fdffb6fa8afa\"\u003e\u003ccode\u003e5a4e398\u003c/code\u003e\u003c/a\u003e Fix docs typo (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14005\"\u003e#14005\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14008\"\u003e#14008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/d7ae6df394398168bf9d926f803c26849c8f07ee\"\u003e\u003ccode\u003ed7ae6df\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14006\"\u003e#14006\u003c/a\u003e from pytest-dev/maintenance/update-plugin-list-tmpl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/556f6a22e12d13d1ffeceaf64424eb95d5e0fb87\"\u003e\u003ccode\u003e556f6a2\u003c/code\u003e\u003c/a\u003e pre-commit: fix rst-lint after new release (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13999\"\u003e#13999\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14001\"\u003e#14001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c60fbe63a26f64a42738e3f3527a8f79024fdf50\"\u003e\u003ccode\u003ec60fbe6\u003c/code\u003e\u003c/a\u003e Fix quadratic-time behavior when handling \u003ccode\u003eunittest\u003c/code\u003e subtests in Python 3.10 ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/73d9b011183d9a1c4a7007c1119d97a6e627788e\"\u003e\u003ccode\u003e73d9b01\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13995\"\u003e#13995\u003c/a\u003e from nicoddemus/patchback/backports/9.0.x/1b5200c0f...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/8.4.2...9.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sphinx-click` from 6.1.0 to 6.2.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/click-contrib/sphinx-click/commit/e8eb75e292ff6df69230420d992a34e68a7385d0\"\u003e\u003ccode\u003ee8eb75e\u003c/code\u003e\u003c/a\u003e add release notes with reno\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/click-contrib/sphinx-click/commit/46f6445bb67c76f2a4b638f4003862ee85dafba1\"\u003e\u003ccode\u003e46f6445\u003c/code\u003e\u003c/a\u003e fix tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/click-contrib/sphinx-click/commit/722f4217c1bf6dfd68f9e2c26aa52d590973b11e\"\u003e\u003ccode\u003e722f421\u003c/code\u003e\u003c/a\u003e print \u0026quot;Usage\u0026quot; before printing the command usage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/click-contrib/sphinx-click/commit/ebc38179a0229435becdd64026fa88be7ab2d60c\"\u003e\u003ccode\u003eebc3817\u003c/code\u003e\u003c/a\u003e Fix readthedocs build (redux)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/click-contrib/sphinx-click/commit/9ee09f9d3252fd6e8bce9578eca82411e89c76e5\"\u003e\u003ccode\u003e9ee09f9\u003c/code\u003e\u003c/a\u003e Fix readthedocs build\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/click-contrib/sphinx-click/compare/6.1.0...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `matplotlib` from 3.10.6 to 3.10.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/matplotlib/matplotlib/releases\"\u003ematplotlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREL: v3.10.8\u003c/h2\u003e\n\u003cp\u003eThis is a bugfix release in the 3.10.x series.\u003c/p\u003e\n\u003cp\u003eThe primary highlights of this release are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eProperly allow freethreaded mode in the MacOS backend\u003c/li\u003e\n\u003cli\u003eBetter error handling for MacOS backend\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eREL: v3.10.7\u003c/h2\u003e\n\u003cp\u003eThis is the latest bugfix release in the 3.10.x series.\u003c/p\u003e\n\u003cp\u003eThe most important update in this release is that the minimum version\nof \u003ccode\u003epyparsing\u003c/code\u003e has been updated to version 3.0.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/1392cbe3c79cdb93f9282747841d648770f60249\"\u003e\u003ccode\u003e1392cbe\u003c/code\u003e\u003c/a\u003e REL: v3.10.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/0b9ebb35f8310f22eb7f932b2ae14befb1f40b6f\"\u003e\u003ccode\u003e0b9ebb3\u003c/code\u003e\u003c/a\u003e Doc release prep v3.10.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/bc7b5c4377ce2544e8936255c51c1ff7cd0c5a85\"\u003e\u003ccode\u003ebc7b5c4\u003c/code\u003e\u003c/a\u003e Merge branch 'v3.10.7-doc' into v3.10.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/86b38d3f29aa2af2ddcbd1895433117caa0fba47\"\u003e\u003ccode\u003e86b38d3\u003c/code\u003e\u003c/a\u003e Github stats v3.10.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/9512188e42f9d221f83869113c44f99fe1832a0f\"\u003e\u003ccode\u003e9512188\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30717\"\u003e#30717\u003c/a\u003e from meeseeksmachine/auto-backport-of-pr-30714-on-v...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/d300769285e2c920804134e40ec83837eabe16d8\"\u003e\u003ccode\u003ed300769\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30714\"\u003e#30714\u003c/a\u003e: FIX: Gracefully handle numpy arrays as input to check_in_...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/799bc9561daea5b5578f888817cb45c9321a0463\"\u003e\u003ccode\u003e799bc95\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30711\"\u003e#30711\u003c/a\u003e from ngoldbaum/v3.10.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/134000ba19a4354da2ad1084627039e05c936754\"\u003e\u003ccode\u003e134000b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30697\"\u003e#30697\u003c/a\u003e from ngoldbaum/fix-plotting-on-worker-threads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/5b8e219d70f1daa443330eb6a5a6211506b37362\"\u003e\u003ccode\u003e5b8e219\u003c/code\u003e\u003c/a\u003e TST: Run macosx backends in a subprocess\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/878e71a95006d3aec9505f3bd836968951fdd163\"\u003e\u003ccode\u003e878e71a\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/29810\"\u003e#29810\u003c/a\u003e: Declare free-threaded support in MacOS backend extension ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/matplotlib/matplotlib/compare/v3.10.6...v3.10.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `deptry` from 0.23.1 to 0.24.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fpgmaas/deptry/releases\"\u003edeptry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.24.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003ch4\u003ePython 3.9 support dropped\u003c/h4\u003e\n\u003cp\u003eSupport for Python 3.9 has been dropped, as it has reached its end of life.\u003c/p\u003e\n\u003ch4\u003ePyPy 3.10 support dropped, 3.11 added\u003c/h4\u003e\n\u003cp\u003eSupport for PyPy 3.10 has been dropped, since it is unsupported. We now only test against PyPy 3.11, and only publish wheels for this version.\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd GitHub Actions annotations reporter (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1059\"\u003e#1059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support...\n\n_Description has been truncated_","html_url":"https://github.com/statisticsnorway/ssb-pre-system/pull/122","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/statisticsnorway%2Fssb-pre-system/issues/122","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/122/packages"},{"uuid":"3704392014","node_id":"PR_kwDOO1bbZM63kwzP","number":34,"state":"closed","title":"chore(deps): bump the production-dependencies group across 1 directory with 73 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-12-15T02:26:50.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-08T02:32:25.000Z","updated_at":"2025-12-15T02:26:52.000Z","time_to_close":604465,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"production-dependencies","update_count":73,"packages":[{"name":"ipykernel","old_version":"6.29.5","new_version":"7.1.0","repository_url":"https://github.com/ipython/ipykernel"},{"name":"matplotlib","old_version":"3.10.3","new_version":"3.10.7","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"pandas","old_version":"2.2.3","new_version":"2.3.3","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"plotly","old_version":"6.1.2","new_version":"6.5.0","repository_url":"https://github.com/plotly/plotly.py"},{"name":"pypsa","old_version":"0.34.1","new_version":"1.0.5","repository_url":"https://github.com/PyPSA/PyPSA"},{"name":"asttokens","old_version":"3.0.0","new_version":"3.0.1","repository_url":"https://github.com/gristlabs/asttokens"},{"name":"attrs","old_version":"25.3.0","new_version":"25.4.0","repository_url":"https://github.com/sponsors/hynek"},{"name":"bottleneck","old_version":"1.5.0","new_version":"1.6.0","repository_url":"https://github.com/pydata/bottleneck"},{"name":"cdsapi","old_version":"0.7.6","new_version":"0.7.7","repository_url":"https://github.com/ecmwf/cdsapi"},{"name":"certifi","old_version":"2025.4.26","new_version":"2025.11.12","repository_url":"https://github.com/certifi/python-certifi"},{"name":"cffi","old_version":"1.17.1","new_version":"2.0.0","repository_url":"https://github.com/python-cffi/cffi"},{"name":"cfgrib","old_version":"0.9.15.0","new_version":"0.9.15.1","repository_url":"https://github.com/ecmwf/cfgrib"},{"name":"cftime","old_version":"1.6.4.post1","new_version":"1.6.5","repository_url":"https://github.com/Unidata/cftime"},{"name":"charset-normalizer","old_version":"3.4.2","new_version":"3.4.4","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"click","old_version":"8.2.1","new_version":"8.3.1","repository_url":"https://github.com/pallets/click"},{"name":"cloudpickle","old_version":"3.1.1","new_version":"3.1.2","repository_url":"https://github.com/cloudpipe/cloudpickle"},{"name":"comm","old_version":"0.2.2","new_version":"0.2.3","repository_url":"https://github.com/ipython/comm"},{"name":"contourpy","old_version":"1.3.2","new_version":"1.3.3","repository_url":"https://github.com/contourpy/contourpy"},{"name":"dask","old_version":"2025.5.1","new_version":"2025.11.0","repository_url":"https://github.com/dask/dask"},{"name":"debugpy","old_version":"1.8.14","new_version":"1.8.17","repository_url":"https://github.com/microsoft/debugpy"},{"name":"eccodes","old_version":"2.42.0","new_version":"2.44.0","repository_url":"https://github.com/ecmwf/eccodes-python"},{"name":"ecmwf-datastores-client","old_version":"0.2.0","new_version":"0.4.1","repository_url":"https://github.com/ecmwf/ecmwf-datastores-client"},{"name":"executing","old_version":"2.2.0","new_version":"2.2.1","repository_url":"https://github.com/alexmojaki/executing"},{"name":"fastjsonschema","old_version":"2.21.1","new_version":"2.21.2","repository_url":"https://github.com/horejsek/python-fastjsonschema"},{"name":"findlibs","old_version":"0.1.1","new_version":"0.1.2","repository_url":"https://github.com/ecmwf/findlibs"},{"name":"fonttools","old_version":"4.58.1","new_version":"4.61.0","repository_url":"https://github.com/fonttools/fonttools"},{"name":"fsspec","old_version":"2025.5.1","new_version":"2025.12.0","repository_url":"https://github.com/fsspec/filesystem_spec"},{"name":"geopandas","old_version":"1.1.0","new_version":"1.1.1","repository_url":"https://github.com/geopandas/geopandas"},{"name":"h5netcdf","old_version":"1.6.3","new_version":"1.7.3","repository_url":"https://github.com/h5netcdf/h5netcdf"},{"name":"h5py","old_version":"3.14.0","new_version":"3.15.1","repository_url":"https://github.com/h5py/h5py"},{"name":"highspy","old_version":"1.10.0","new_version":"1.12.0","repository_url":"https://github.com/ERGO-Code/HiGHS"},{"name":"idna","old_version":"3.10","new_version":"3.11","repository_url":"https://github.com/kjd/idna"},{"name":"ipython","old_version":"9.3.0","new_version":"9.8.0","repository_url":"https://github.com/ipython/ipython"},{"name":"jsonschema","old_version":"4.24.0","new_version":"4.25.1","repository_url":"https://github.com/python-jsonschema/jsonschema"},{"name":"jsonschema-specifications","old_version":"2025.4.1","new_version":"2025.9.1","repository_url":"https://github.com/python-jsonschema/jsonschema-specifications"},{"name":"jupyter-core","old_version":"5.8.1","new_version":"5.9.1","repository_url":"https://github.com/jupyter/jupyter_core"},{"name":"kiwisolver","old_version":"1.4.8","new_version":"1.4.9","repository_url":"https://github.com/nucleic/kiwi"},{"name":"linopy","old_version":"0.5.5","new_version":"0.5.8","repository_url":"https://github.com/PyPSA/linopy"},{"name":"matplotlib-inline","old_version":"0.1.7","new_version":"0.2.1","repository_url":"https://github.com/ipython/matplotlib-inline"},{"name":"multiurl","old_version":"0.3.6","new_version":"0.3.7","repository_url":"https://github.com/ecmwf/multiurl"},{"name":"narwhals","old_version":"1.41.0","new_version":"2.13.0","repository_url":"https://github.com/narwhals-dev/narwhals"},{"name":"netcdf4","old_version":"1.7.2","new_version":"1.7.3","repository_url":"https://github.com/Unidata/netcdf4-python"},{"name":"networkx","old_version":"3.5","new_version":"3.6","repository_url":"https://github.com/networkx/networkx"},{"name":"numexpr","old_version":"2.10.2","new_version":"2.14.1","repository_url":"https://github.com/pydata/numexpr"},{"name":"numpy","old_version":"2.2.0","new_version":"2.3.5","repository_url":"https://github.com/numpy/numpy"},{"name":"packaging","old_version":"24.2","new_version":"25.0","repository_url":"https://github.com/pypa/packaging"},{"name":"parso","old_version":"0.8.4","new_version":"0.8.5","repository_url":"https://github.com/davidhalter/parso"},{"name":"pillow","old_version":"11.2.1","new_version":"12.0.0","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"platformdirs","old_version":"4.3.8","new_version":"4.5.1","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"polars","old_version":"1.30.0","new_version":"1.35.2","repository_url":"https://github.com/pola-rs/polars"},{"name":"prompt-toolkit","old_version":"3.0.51","new_version":"3.0.52","repository_url":"https://github.com/prompt-toolkit/python-prompt-toolkit"},{"name":"psutil","old_version":"7.0.0","new_version":"7.1.3","repository_url":"https://github.com/giampaolo/psutil"},{"name":"pycparser","old_version":"2.22","new_version":"2.23","repository_url":"https://github.com/eliben/pycparser"},{"name":"pygments","old_version":"2.19.1","new_version":"2.19.2","repository_url":"https://github.com/pygments/pygments"},{"name":"pyogrio","old_version":"0.11.0","new_version":"0.12.1","repository_url":"https://github.com/geopandas/pyogrio"},{"name":"pyparsing","old_version":"3.2.3","new_version":"3.2.5","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"pyproj","old_version":"3.7.1","new_version":"3.7.2","repository_url":"https://github.com/pyproj4/pyproj"},{"name":"pytz","old_version":"2024.2","new_version":"2025.2","repository_url":"https://github.com/stub42/pytz"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"pyzmq","old_version":"26.4.0","new_version":"27.1.0","repository_url":"https://github.com/zeromq/pyzmq"},{"name":"referencing","old_version":"0.36.2","new_version":"0.37.0","repository_url":"https://github.com/python-jsonschema/referencing"},{"name":"requests","old_version":"2.32.4","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"rpds-py","old_version":"0.25.1","new_version":"0.30.0","repository_url":"https://github.com/crate-py/rpds"},{"name":"scipy","old_version":"1.15.3","new_version":"1.16.3","repository_url":"https://github.com/scipy/scipy"},{"name":"shapely","old_version":"2.0.7","new_version":"2.1.2","repository_url":"https://github.com/shapely/shapely"},{"name":"toolz","old_version":"1.0.0","new_version":"1.1.0","repository_url":"https://github.com/pytoolz/toolz"},{"name":"tornado","old_version":"6.5.1","new_version":"6.5.2","repository_url":"https://github.com/tornadoweb/tornado"},{"name":"typing-extensions","old_version":"4.14.0","new_version":"4.15.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"tzdata","old_version":"2024.2","new_version":"2025.2","repository_url":"https://github.com/python/tzdata"},{"name":"urllib3","old_version":"2.5.0","new_version":"2.6.0","repository_url":"https://github.com/urllib3/urllib3"},{"name":"wcwidth","old_version":"0.2.13","new_version":"0.2.14","repository_url":"https://github.com/jquast/wcwidth"},{"name":"xarray","old_version":"2025.4.0","new_version":"2025.12.0","repository_url":"https://github.com/pydata/xarray"},{"name":"zipp","old_version":"3.22.0","new_version":"3.23.0","repository_url":"https://github.com/jaraco/zipp"}],"path":null,"ecosystem":"pip"},"body":"Bumps the production-dependencies group with 73 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [ipykernel](https://github.com/ipython/ipykernel) | `6.29.5` | `7.1.0` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.10.3` | `3.10.7` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.2.3` | `2.3.3` |\n| [plotly](https://github.com/plotly/plotly.py) | `6.1.2` | `6.5.0` |\n| [pypsa](https://github.com/PyPSA/PyPSA) | `0.34.1` | `1.0.5` |\n| [asttokens](https://github.com/gristlabs/asttokens) | `3.0.0` | `3.0.1` |\n| [attrs](https://github.com/sponsors/hynek) | `25.3.0` | `25.4.0` |\n| [bottleneck](https://github.com/pydata/bottleneck) | `1.5.0` | `1.6.0` |\n| [cdsapi](https://github.com/ecmwf/cdsapi) | `0.7.6` | `0.7.7` |\n| [certifi](https://github.com/certifi/python-certifi) | `2025.4.26` | `2025.11.12` |\n| [cffi](https://github.com/python-cffi/cffi) | `1.17.1` | `2.0.0` |\n| [cfgrib](https://github.com/ecmwf/cfgrib) | `0.9.15.0` | `0.9.15.1` |\n| [cftime](https://github.com/Unidata/cftime) | `1.6.4.post1` | `1.6.5` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.2` | `3.4.4` |\n| [click](https://github.com/pallets/click) | `8.2.1` | `8.3.1` |\n| [cloudpickle](https://github.com/cloudpipe/cloudpickle) | `3.1.1` | `3.1.2` |\n| [comm](https://github.com/ipython/comm) | `0.2.2` | `0.2.3` |\n| [contourpy](https://github.com/contourpy/contourpy) | `1.3.2` | `1.3.3` |\n| [dask](https://github.com/dask/dask) | `2025.5.1` | `2025.11.0` |\n| [debugpy](https://github.com/microsoft/debugpy) | `1.8.14` | `1.8.17` |\n| [eccodes](https://github.com/ecmwf/eccodes-python) | `2.42.0` | `2.44.0` |\n| [ecmwf-datastores-client](https://github.com/ecmwf/ecmwf-datastores-client) | `0.2.0` | `0.4.1` |\n| [executing](https://github.com/alexmojaki/executing) | `2.2.0` | `2.2.1` |\n| [fastjsonschema](https://github.com/horejsek/python-fastjsonschema) | `2.21.1` | `2.21.2` |\n| [findlibs](https://github.com/ecmwf/findlibs) | `0.1.1` | `0.1.2` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.58.1` | `4.61.0` |\n| [fsspec](https://github.com/fsspec/filesystem_spec) | `2025.5.1` | `2025.12.0` |\n| [geopandas](https://github.com/geopandas/geopandas) | `1.1.0` | `1.1.1` |\n| [h5netcdf](https://github.com/h5netcdf/h5netcdf) | `1.6.3` | `1.7.3` |\n| [h5py](https://github.com/h5py/h5py) | `3.14.0` | `3.15.1` |\n| [highspy](https://github.com/ERGO-Code/HiGHS) | `1.10.0` | `1.12.0` |\n| [idna](https://github.com/kjd/idna) | `3.10` | `3.11` |\n| [ipython](https://github.com/ipython/ipython) | `9.3.0` | `9.8.0` |\n| [jsonschema](https://github.com/python-jsonschema/jsonschema) | `4.24.0` | `4.25.1` |\n| [jsonschema-specifications](https://github.com/python-jsonschema/jsonschema-specifications) | `2025.4.1` | `2025.9.1` |\n| [jupyter-core](https://github.com/jupyter/jupyter_core) | `5.8.1` | `5.9.1` |\n| [kiwisolver](https://github.com/nucleic/kiwi) | `1.4.8` | `1.4.9` |\n| [linopy](https://github.com/PyPSA/linopy) | `0.5.5` | `0.5.8` |\n| [matplotlib-inline](https://github.com/ipython/matplotlib-inline) | `0.1.7` | `0.2.1` |\n| [multiurl](https://github.com/ecmwf/multiurl) | `0.3.6` | `0.3.7` |\n| [narwhals](https://github.com/narwhals-dev/narwhals) | `1.41.0` | `2.13.0` |\n| [netcdf4](https://github.com/Unidata/netcdf4-python) | `1.7.2` | `1.7.3` |\n| [networkx](https://github.com/networkx/networkx) | `3.5` | `3.6` |\n| [numexpr](https://github.com/pydata/numexpr) | `2.10.2` | `2.14.1` |\n| [numpy](https://github.com/numpy/numpy) | `2.2.0` | `2.3.5` |\n| [packaging](https://github.com/pypa/packaging) | `24.2` | `25.0` |\n| [parso](https://github.com/davidhalter/parso) | `0.8.4` | `0.8.5` |\n| [pillow](https://github.com/python-pillow/Pillow) | `11.2.1` | `12.0.0` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.3.8` | `4.5.1` |\n| [polars](https://github.com/pola-rs/polars) | `1.30.0` | `1.35.2` |\n| [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) | `3.0.51` | `3.0.52` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.1.3` |\n| [pycparser](https://github.com/eliben/pycparser) | `2.22` | `2.23` |\n| [pygments](https://github.com/pygments/pygments) | `2.19.1` | `2.19.2` |\n| [pyogrio](https://github.com/geopandas/pyogrio) | `0.11.0` | `0.12.1` |\n| [pyparsing](https://github.com/pyparsing/pyparsing) | `3.2.3` | `3.2.5` |\n| [pyproj](https://github.com/pyproj4/pyproj) | `3.7.1` | `3.7.2` |\n| [pytz](https://github.com/stub42/pytz) | `2024.2` | `2025.2` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [pyzmq](https://github.com/zeromq/pyzmq) | `26.4.0` | `27.1.0` |\n| [referencing](https://github.com/python-jsonschema/referencing) | `0.36.2` | `0.37.0` |\n| [requests](https://github.com/psf/requests) | `2.32.4` | `2.32.5` |\n| [rpds-py](https://github.com/crate-py/rpds) | `0.25.1` | `0.30.0` |\n| [scipy](https://github.com/scipy/scipy) | `1.15.3` | `1.16.3` |\n| [shapely](https://github.com/shapely/shapely) | `2.0.7` | `2.1.2` |\n| [toolz](https://github.com/pytoolz/toolz) | `1.0.0` | `1.1.0` |\n| [tornado](https://github.com/tornadoweb/tornado) | `6.5.1` | `6.5.2` |\n| [typing-extensions](https://github.com/python/typing_extensions) | `4.14.0` | `4.15.0` |\n| [tzdata](https://github.com/python/tzdata) | `2024.2` | `2025.2` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.5.0` | `2.6.0` |\n| [wcwidth](https://github.com/jquast/wcwidth) | `0.2.13` | `0.2.14` |\n| [xarray](https://github.com/pydata/xarray) | `2025.4.0` | `2025.12.0` |\n| [zipp](https://github.com/jaraco/zipp) | `3.22.0` | `3.23.0` |\n\n\nUpdates `ipykernel` from 6.29.5 to 7.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ipython/ipykernel/releases\"\u003eipykernel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.1.0\u003c/h2\u003e\n\u003ch2\u003e7.1.0\u003c/h2\u003e\n\u003cp\u003eIPykernel 7.1.0 fixes an issue where display outputs such as Matplotlib plots were not included when using \u003ccode\u003e%notebook\u003c/code\u003e magic to save sessions as \u003ccode\u003e.ipynb\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1435\"\u003e#1435\u003c/a\u003e). This is enabled using the traitlet \u003ccode\u003eZMQDisplayPublisher.store_display_history\u003c/code\u003e which defaults to the previous behaviour of False. This is a minor release rather than a patch release due to the addition of the new traitlet.\u003c/p\u003e\n\u003cp\u003eOutput from threads is restored to the pre-6.29 behavior by default (route to latest cell, unless \u003ccode\u003eget_ipython().set_parent()\u003c/code\u003e is called explicitly from the thread. If it is called, output from that thread will continue to be routed to the same cell). This behavior is now opt-in, instead of unconditional (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1451\"\u003e#1451\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003eThis release also fixes bugs that were introduced into the 7.x branch relating to Matplotlib plots in separate windows not being displayed correctly (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1458\"\u003e#1458\u003c/a\u003e), kernels launched in new threads failing asserts (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1455\"\u003e#1455\u003c/a\u003e), and \u003ccode\u003eContextVar\u003c/code\u003es persisting between cells (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1462\"\u003e#1462\u003c/a\u003e). There is also a fix for keyboard interrupts on Windows (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1434\"\u003e#1434\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/ipython/ipykernel/compare/v7.0.1...6f61a6835c217e42c406ee01b359e2fa235baf43\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStore display outputs in history for \u003ccode\u003e%notebook\u003c/code\u003e magic \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1435\"\u003e#1435\u003c/a\u003e (\u003ca href=\"https://github.com/Darshan808\"\u003e\u003ccode\u003e@​Darshan808\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix ContextVar persistence across cells \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1462\"\u003e#1462\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix matplotlib eventloops \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1458\"\u003e#1458\u003c/a\u003e (\u003ca href=\"https://github.com/ianthomas23\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefer to kernel launching thread instead of assuming the main thread \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1455\"\u003e#1455\u003c/a\u003e (\u003ca href=\"https://github.com/dfalbel\"\u003e\u003ccode\u003e@​dfalbel\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix routing of background thread output when no parent is set explicitly \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1451\"\u003e#1451\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix KeyboardInterrupt on Windows by manually resetting interrupt event \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1434\"\u003e#1434\u003c/a\u003e (\u003ca href=\"https://github.com/ptosco\"\u003e\u003ccode\u003e@​ptosco\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate pre-commit and related \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1465\"\u003e#1465\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest that matplotlib event loop integration is responsive \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1463\"\u003e#1463\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate tests for 3.14 \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1453\"\u003e#1453\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/ipython/ipykernel/graphs/contributors?from=2025-10-14\u0026amp;to=2025-10-27\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3ACarreau+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3ADarshan808+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​Darshan808\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Adfalbel+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​dfalbel\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aianthomas23+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Akrassowski+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Alumberbot-app+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​lumberbot-app\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aminrk+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aptosco+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​ptosco\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev7.0.1\u003c/h2\u003e\n\u003ch2\u003e7.0.1\u003c/h2\u003e\n\u003cp\u003eIPykernel 7.0.1 is a bug fix release to support CPython 3.14.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/ipython/ipykernel/compare/v7.0.0...6d9a14a21a8e328e384ebac48e4ccbaad85b1d45\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid overriding Thread._context in Python 3.14 \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1447\"\u003e#1447\u003c/a\u003e (\u003ca href=\"https://github.com/ianthomas23\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ipython/ipykernel/blob/main/CHANGELOG.md\"\u003eipykernel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.1.0\u003c/h2\u003e\n\u003cp\u003eIPykernel 7.1.0 fixes an issue where display outputs such as Matplotlib plots were not included when using \u003ccode\u003e%notebook\u003c/code\u003e magic to save sessions as \u003ccode\u003e.ipynb\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1435\"\u003e#1435\u003c/a\u003e). This is enabled using the traitlet \u003ccode\u003eZMQDisplayPublisher.store_display_history\u003c/code\u003e which defaults to the previous behaviour of False. This is a minor release rather than a patch release due to the addition of the new traitlet.\u003c/p\u003e\n\u003cp\u003eOutput from threads is restored to the pre-6.29 behavior by default (route to latest cell, unless \u003ccode\u003eget_ipython().set_parent()\u003c/code\u003e is called explicitly from the thread. If it is called, output from that thread will continue to be routed to the same cell). This behavior is now opt-in, instead of unconditional (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1451\"\u003e#1451\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003eThis release also fixes bugs that were introduced into the 7.x branch relating to Matplotlib plots in separate windows not being displayed correctly (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1458\"\u003e#1458\u003c/a\u003e), kernels launched in new threads failing asserts (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1455\"\u003e#1455\u003c/a\u003e), and \u003ccode\u003eContextVar\u003c/code\u003es persisting between cells (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1462\"\u003e#1462\u003c/a\u003e). There is also a fix for keyboard interrupts on Windows (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1434\"\u003e#1434\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/ipython/ipykernel/compare/v7.0.1...6f61a6835c217e42c406ee01b359e2fa235baf43\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStore display outputs in history for \u003ccode\u003e%notebook\u003c/code\u003e magic \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1435\"\u003e#1435\u003c/a\u003e (\u003ca href=\"https://github.com/Darshan808\"\u003e\u003ccode\u003e@​Darshan808\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix ContextVar persistence across cells \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1462\"\u003e#1462\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix matplotlib eventloops \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1458\"\u003e#1458\u003c/a\u003e (\u003ca href=\"https://github.com/ianthomas23\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefer to kernel launching thread instead of assuming the main thread \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1455\"\u003e#1455\u003c/a\u003e (\u003ca href=\"https://github.com/dfalbel\"\u003e\u003ccode\u003e@​dfalbel\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix routing of background thread output when no parent is set explicitly \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1451\"\u003e#1451\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix KeyboardInterrupt on Windows by manually resetting interrupt event \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1434\"\u003e#1434\u003c/a\u003e (\u003ca href=\"https://github.com/ptosco\"\u003e\u003ccode\u003e@​ptosco\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate pre-commit and related \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1465\"\u003e#1465\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest that matplotlib event loop integration is responsive \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1463\"\u003e#1463\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate tests for 3.14 \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1453\"\u003e#1453\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/ipython/ipykernel/graphs/contributors?from=2025-10-14\u0026amp;to=2025-10-27\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3ACarreau+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3ADarshan808+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​Darshan808\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Adfalbel+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​dfalbel\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aianthomas23+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Akrassowski+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Alumberbot-app+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​lumberbot-app\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aminrk+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aptosco+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​ptosco\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e7.0.1\u003c/h2\u003e\n\u003cp\u003eIPykernel 7.0.1 is a bug fix release to support CPython 3.14.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/ipython/ipykernel/compare/v7.0.0...6d9a14a21a8e328e384ebac48e4ccbaad85b1d45\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid overriding Thread._context in Python 3.14 \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1447\"\u003e#1447\u003c/a\u003e (\u003ca href=\"https://github.com/ianthomas23\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix 7.x license warnings \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1448\"\u003e#1448\u003c/a\u003e (\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eci: Test on PyPy 3.11 instead of 3.10 \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1444\"\u003e#1444\u003c/a\u003e (\u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\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/ipython/ipykernel/commit/39eaf96ab6db0d0ff9ad269831384c53a11e11d8\"\u003e\u003ccode\u003e39eaf96\u003c/code\u003e\u003c/a\u003e Publish 7.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipykernel/commit/6f61a6835c217e42c406ee01b359e2fa235baf43\"\u003e\u003ccode\u003e6f61a68\u003c/code\u003e\u003c/a\u003e test that matplotlib event loop integration is responsive (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1463\"\u003e#1463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipykernel/commit/8446e02948c390793e129affeceedfa30ed5080f\"\u003e\u003ccode\u003e8446e02\u003c/code\u003e\u003c/a\u003e Fix KeyboardInterrupt on Windows by manually resetting interrupt event (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1434\"\u003e#1434\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipykernel/commit/dd1e09484854c8dedcd98436bc01b6b8e1cc9034\"\u003e\u003ccode\u003edd1e094\u003c/code\u003e\u003c/a\u003e update pre-commit and related (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1465\"\u003e#1465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipykernel/commit/95f245138589db4f723b8af06107cdfeadc53314\"\u003e\u003ccode\u003e95f2451\u003c/code\u003e\u003c/a\u003e fix ContextVar persistence across cells (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1462\"\u003e#1462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipykernel/commit/c56a7aab3cad1fb91f7e7185dc7403d561ecd667\"\u003e\u003ccode\u003ec56a7aa\u003c/code\u003e\u003c/a\u003e Fix matplotlib eventloops (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1458\"\u003e#1458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipykernel/commit/c7af34cd19ebcd43f5aafe1919909feb6e898387\"\u003e\u003ccode\u003ec7af34c\u003c/code\u003e\u003c/a\u003e Refer to kernel laucnhing thread instead of assuming the main thread (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1455\"\u003e#1455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipykernel/commit/7193d14de447a18470a18d60b81eda5f0048b6aa\"\u003e\u003ccode\u003e7193d14\u003c/code\u003e\u003c/a\u003e Fix routing of background thread output when no parent is set explicitly (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1451\"\u003e#1451\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipykernel/commit/b8f5dfc3a35a658c66b85213e60f634bd8a44488\"\u003e\u003ccode\u003eb8f5dfc\u003c/code\u003e\u003c/a\u003e Store display outputs in history for \u003ccode\u003e%notebook\u003c/code\u003e magic (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1435\"\u003e#1435\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipykernel/commit/93f11dbb02692a7922cb6fdb4ebadffdb8b691c0\"\u003e\u003ccode\u003e93f11db\u003c/code\u003e\u003c/a\u003e update tests for 3.14 (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1453\"\u003e#1453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ipython/ipykernel/compare/v6.29.5...v7.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `matplotlib` from 3.10.3 to 3.10.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/matplotlib/matplotlib/releases\"\u003ematplotlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREL: v3.10.7\u003c/h2\u003e\n\u003cp\u003eThis is the latest bugfix release in the 3.10.x series.\u003c/p\u003e\n\u003cp\u003eThe most important update in this release is that the minimum version\nof \u003ccode\u003epyparsing\u003c/code\u003e has been updated to version 3.0.\u003c/p\u003e\n\u003ch2\u003eREL: v3.10.6\u003c/h2\u003e\n\u003cp\u003eThis is a bugfix release in the 3.10.x series.\u003c/p\u003e\n\u003cp\u003eHighlights from this release include:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e- Fix regression of hi-dpi support for Qt\n- Fix race condition in TexManager.make_dvi \u0026amp; make_png\n- Various documentation and other bugfixes\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eREL: v3.10.5\u003c/h2\u003e\n\u003cp\u003eThis is the fourth bugfix release of the 3.10.x series.\u003c/p\u003e\n\u003cp\u003eIncluded in this release is distributed wheels for Python 3.14 (including freethreaded) and Windows ARM.\u003c/p\u003e\n\u003cp\u003eThere are also several smaller bugfixes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/4aeb773422464799998d900198b35cb80e94b3e1\"\u003e\u003ccode\u003e4aeb773\u003c/code\u003e\u003c/a\u003e REL: v3.10.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/080add32f6b3c82075ccfb1111b21d5ff9e9c075\"\u003e\u003ccode\u003e080add3\u003c/code\u003e\u003c/a\u003e Merge branch 'v3.10.6-doc' into v3.10.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/a604a8beed19bdda1355a29a12ab2904367cf140\"\u003e\u003ccode\u003ea604a8b\u003c/code\u003e\u003c/a\u003e Github Stats v3.10.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/f550261fadf30702a42bc85f71e3489a3c2f6b99\"\u003e\u003ccode\u003ef550261\u003c/code\u003e\u003c/a\u003e Zenodo v3.10.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/9a5e3e4253a3deaa5c83451b1208b5d46759ff7c\"\u003e\u003ccode\u003e9a5e3e4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30628\"\u003e#30628\u003c/a\u003e from meeseeksmachine/auto-backport-of-pr-30626-on-v...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/eb8cb0ce31f6965713a5d46fe4fadf2dffb74773\"\u003e\u003ccode\u003eeb8cb0c\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30626\"\u003e#30626\u003c/a\u003e: MNT: Fix new F401 unused imports warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/8fadc71e0e372f05aa0305ef425c5152d70d6f39\"\u003e\u003ccode\u003e8fadc71\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/29745\"\u003e#29745\u003c/a\u003e: Use PEP8 style method and function names from (\u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30589\"\u003e#30589\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/098876ee6f695f6c5297d4cf3f974c9d64ff4c79\"\u003e\u003ccode\u003e098876e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30614\"\u003e#30614\u003c/a\u003e from meeseeksmachine/auto-backport-of-pr-30612-on-v...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/eb42d8637ba5891aa806fa6b0ed73835c16b2741\"\u003e\u003ccode\u003eeb42d86\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30612\"\u003e#30612\u003c/a\u003e: MNT: update black pin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/4a9c187a73fce92074b262612b3285dcff2d615e\"\u003e\u003ccode\u003e4a9c187\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30572\"\u003e#30572\u003c/a\u003e from QuLogic/auto-backport-of-pr-30571-on-v3.10.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/matplotlib/matplotlib/compare/v3.10.3...v3.10.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pandas` from 2.2.3 to 2.3.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pandas-dev/pandas/releases\"\u003epandas's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePandas 2.3.3\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 2.3.3.\nThis release includes some improvements and fixes to the future string data type (preview feature for the upcoming pandas 3.0). We recommend that all users upgrade to this version.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/pandas-docs/version/2.3/whatsnew/v2.3.3.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\nPandas 2.3.3 supports Python 3.9 and higher, and is the first release to support Python 3.14.\u003c/p\u003e\n\u003cp\u003eThe release will be available on the conda-forge channel:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install pandas --channel conda-forge\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr via PyPI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install --upgrade pandas\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\u003c/p\u003e\n\u003ch2\u003ePandas 2.3.2\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 2.3.2.\nThis release includes some improvements and fixes to the future string data type (preview feature for the upcoming pandas 3.0). We recommend that all users upgrade to this version.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/pandas-docs/version/2.3/whatsnew/v2.3.2.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\nPandas 2.3.2 supports Python 3.9 and higher.\u003c/p\u003e\n\u003cp\u003eThe release will be available on the conda-forge channel:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install pandas --channel conda-forge\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr via PyPI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install --upgrade pandas\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\u003c/p\u003e\n\u003ch2\u003ePandas 2.3.1\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 2.3.1.\nThis release includes some improvements and fixes to the future string data type (preview feature for the upcoming pandas 3.0). We recommend that all users upgrade to this version.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/pandas-docs/version/2.3.1/whatsnew/v2.3.1.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\nPandas 2.3.1 supports Python 3.9 and higher.\u003c/p\u003e\n\u003cp\u003eThe release will be available on the conda-forge channel:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install pandas --channel conda-forge\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr via PyPI:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/9c8bc3e55188c8aff37207a74f1dd144980b8874\"\u003e\u003ccode\u003e9c8bc3e\u003c/code\u003e\u003c/a\u003e RLS: 2.3.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/6aa788a00bda9b0f004302076dad94df3edeafc7\"\u003e\u003ccode\u003e6aa788a\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] DOC: prepare 2.3.3 whatsnew notes for release (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62499\"\u003e#62499\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62508\"\u003e#62508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/b64f0df403d11ac733d9f460f89a5e99c8044ed0\"\u003e\u003ccode\u003eb64f0df\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] BUG: avoid validation error for ufunc with string[python] ar...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/058eb2b0edfc408dae9966ef1f03372f2a3ff04c\"\u003e\u003ccode\u003e058eb2b\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] BUG: String[pyarrow] comparison with mixed object (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62424\"\u003e#62424\u003c/a\u003e) (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/2ca088daef6a9d9333fea8aedffc7e50d28dfdee\"\u003e\u003ccode\u003e2ca088d\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] DEPR: remove the Period resampling deprecation (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62480\"\u003e#62480\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62\"\u003e#62\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/92bf98f623572ed053d48be5818c8503f1b61888\"\u003e\u003ccode\u003e92bf98f\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] BUG: fix .str.isdigit to honor unicode superscript for older...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/e57c7d6a2247316188fba0ba2a0db3c11028d75c\"\u003e\u003ccode\u003ee57c7d6\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62452\"\u003e#62452\u003c/a\u003e on branch 2.3.x (TST: Adjust tests for numexpr 2.13) (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62454\"\u003e#62454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/e0fe9a03c90e560c34a3bbbdd1735a8b64f7b281\"\u003e\u003ccode\u003ee0fe9a0\u003c/code\u003e\u003c/a\u003e Backport to 2.3.x: REGR: from_records not initializing subclasses properly (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/23a1085e641c8e3a5b500e319c5973e4160b9236\"\u003e\u003ccode\u003e23a1085\u003c/code\u003e\u003c/a\u003e BUG: improve future warning for boolean operations with missaligned indexes (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/61136969fb18b438b6660bd5d485d0236dbf4a71\"\u003e\u003ccode\u003e6113696\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62396\"\u003e#62396\u003c/a\u003e on branch 2.3.x (PKG/DOC: indicate Python 3.14 support in ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandas-dev/pandas/compare/v2.2.3...v2.3.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `plotly` from 6.1.2 to 6.5.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.5.0\u003c/h2\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate plotly.js from version 3.2.0 to version 3.3.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.3.0\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5421\"\u003e#5421\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ehovertemplate\u003c/code\u003e for \u003ccode\u003ecandlestick\u003c/code\u003e and \u003ccode\u003eohlc\u003c/code\u003e traces [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7619\"\u003e#7619\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where numpy datetime contained in Python list was converted to integer [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5415\"\u003e#5415\u003c/a\u003e]\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.4.0...v6.5.0\"\u003ehttps://github.com/plotly/plotly.py/compare/v6.4.0...v6.5.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev6.4.0\u003c/h2\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate plotly.js from version 3.1.1 to version 3.2.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5388\"\u003e#5357\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ehovertemplatefallback\u003c/code\u003e and \u003ccode\u003etexttemplatefallback\u003c/code\u003e attributes [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7577\"\u003e#7577\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd \u0026quot;SI extended\u0026quot; formatting rule for tick exponents on axis labels, allowing values to be displayed with extended SI prefixes (e.g., femto, pico, atto) [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7249\"\u003e#7249\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003ecreate_hexbin_mapbox\u003c/code\u003e in favor of \u003ccode\u003ecreate_hexbin_map\u003c/code\u003e, update related function calls [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5358\"\u003e5358\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/ajlien\"\u003e\u003ccode\u003e@​ajlien\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.3.1\u003c/h2\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Plotly.js from version 3.1.0 to version 3.1.1. See the Plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5357\"\u003e#5357\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eFix issue preventing Scattergl plots with text elements from rendering [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7563\"\u003eplotly.js#7563\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUse native legends when converting from matplotlib [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5312\"\u003e#5312\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/robertoffmoura\"\u003e\u003ccode\u003e@​robertoffmoura\u003c/code\u003e\u003c/a\u003e to the contribution!\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003eshared_yaxes\u003c/code\u003e to work with secondary axes [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5180\"\u003e#5180\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/gmjw\"\u003e\u003ccode\u003e@​gmjw\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where width/height in plot layout were not respected during Kaleido image export [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5325\"\u003e#5325\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eFix typo in default argument to \u003ccode\u003e_ternary_contour.py\u003c/code\u003e [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5315\"\u003e#5315\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/Lexachoc\"\u003e\u003ccode\u003e@​Lexachoc\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eFix incorrect \u003ccode\u003efig.show()\u003c/code\u003e behavior when \u003ccode\u003eipython\u003c/code\u003e is installed [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5258\"\u003e#5258\u003c/a\u003e]\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.3.0...v6.3.1\"\u003ehttps://github.com/plotly/plotly.py/compare/v6.3.0...v6.3.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev6.3.0\u003c/h2\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Plotly.js from version 3.0.1 to version 3.1.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5318\"\u003e#5318\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExposed \u003ccode\u003eplotly.io.get_chrome()\u003c/code\u003e as a function which can be called from within a Python script. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5282\"\u003e#5282\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResolved issue causing extraneous engine deprecation warnings [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5287\"\u003e#5287\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/jdbeel\"\u003e\u003ccode\u003e@​jdbeel\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.2.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd SRI (Subresource Integrity) hash support for CDN script tags when using \u003ccode\u003einclude_plotlyjs='cdn'\u003c/code\u003e. This enhances security by ensuring browser verification of CDN-served plotly.js files [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5165\"\u003e#5165\u003c/a\u003e] (with thanks to \u003ca href=\"https://github.com/ddworken\"\u003e\u003ccode\u003e@​ddworken\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow setting Plotly.js path via \u003ccode\u003epio.defaults\u003c/code\u003e [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5207\"\u003e#5207\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/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.0] - 2025-11-17\u003c/h2\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate plotly.js from version 3.2.0 to version 3.3.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.3.0\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5421\"\u003e#5421\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ehovertemplate\u003c/code\u003e for \u003ccode\u003ecandlestick\u003c/code\u003e and \u003ccode\u003eohlc\u003c/code\u003e traces [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7619\"\u003e#7619\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where numpy datetime contained in Python list was converted to integer [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5415\"\u003e#5415\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.4.0] - 2025-11-02\u003c/h2\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate plotly.js from version 3.1.1 to version 3.2.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5388\"\u003e#5357\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ehovertemplatefallback\u003c/code\u003e and \u003ccode\u003etexttemplatefallback\u003c/code\u003e attributes [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7577\"\u003e#7577\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd \u0026quot;SI extended\u0026quot; formatting rule for tick exponents on axis labels, allowing values to be displayed with extended SI prefixes (e.g., femto, pico, atto) [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7249\"\u003e#7249\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003ecreate_hexbin_mapbox\u003c/code\u003e in favor of \u003ccode\u003ecreate_hexbin_map\u003c/code\u003e, update related function calls [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5358\"\u003e5358\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/ajlien\"\u003e\u003ccode\u003e@​ajlien\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.3.1] - 2025-10-02\u003c/h2\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Plotly.js from version 3.1.0 to version 3.1.1. See the Plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5357\"\u003e#5357\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eFix issue preventing Scattergl plots with text elements from rendering [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7563\"\u003eplotly.js#7563\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUse native legends when converting from matplotlib [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5312\"\u003e#5312\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/robertoffmoura\"\u003e\u003ccode\u003e@​robertoffmoura\u003c/code\u003e\u003c/a\u003e to the contribution!\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003eshared_yaxes\u003c/code\u003e to work with secondary axes [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5180\"\u003e#5180\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/gmjw\"\u003e\u003ccode\u003e@​gmjw\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where width/height in plot layout were not respected during Kaleido image export [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5325\"\u003e#5325\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eFix typo in default argument to \u003ccode\u003e_ternary_contour.py\u003c/code\u003e [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5315\"\u003e#5315\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/Lexachoc\"\u003e\u003ccode\u003e@​Lexachoc\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eFix incorrect \u003ccode\u003efig.show()\u003c/code\u003e behavior when \u003ccode\u003eipython\u003c/code\u003e is installed [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5258\"\u003e#5258\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.3.0] - 2025-08-12\u003c/h2\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Plotly.js from version 3.0.1 to version 3.1.0. See the Plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5318\"\u003e#5318\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExposed \u003ccode\u003eplotly.io.get_chrome()\u003c/code\u003e as a function which can be called from within a Python script. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5282\"\u003e#5282\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResolved issue causing extraneous engine deprecation warnings [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5287\"\u003e#5287\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/jdbeel\"\u003e\u003ccode\u003e@​jdbeel\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.2.0] - 2025-06-26\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd SRI (Subresource Integrity) hash support for CDN script tags when using \u003ccode\u003einclude_plotlyjs='cdn'\u003c/code\u003e. This enhances security by ensuring browser verification of CDN-served plotly.js files [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5165\"\u003e#5165\u003c/a\u003e] (with thanks to \u003ca href=\"https://github.com/ddworken\"\u003e\u003ccode\u003e@​ddworken\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow setting Plotly.js path via \u003ccode\u003epio.defaults\u003c/code\u003e [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5207\"\u003e#5207\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/plotly/plotly.py/commit/b19f8e54350e753b3e82cdc078293e826009a640\"\u003e\u003ccode\u003eb19f8e5\u003c/code\u003e\u003c/a\u003e changelog formatting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/1ec9a16b3700a3399f7bf6d802a42510fe60c215\"\u003e\u003ccode\u003e1ec9a16\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/83a2b0b4594dd330ff23ccdb77770773ac7ef1bc\"\u003e\u003ccode\u003e83a2b0b\u003c/code\u003e\u003c/a\u003e version changes for v6.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/a49f495aee7fbee5ac0a18dab4f563e7a68ce3e7\"\u003e\u003ccode\u003ea49f495\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5421\"\u003e#5421\u003c/a\u003e from plotly/update-plotlyjs-3.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/f68752659ebbe499cd50cb4ca961d882aedfa84a\"\u003e\u003ccode\u003ef687526\u003c/code\u003e\u003c/a\u003e update plotly/labextension with files from ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/83ab425007895dabe5f682400bd45671be1a6386\"\u003e\u003ccode\u003e83ab425\u003c/code\u003e\u003c/a\u003e update package-lock with new plotly.js\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/a3480f0237e76074fc3d9c47363689ae2b8a8ac7\"\u003e\u003ccode\u003ea3480f0\u003c/code\u003e\u003c/a\u003e package-lock indentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/e519d5a46e44c90b24e678a93a2548a7cb0ae567\"\u003e\u003ccode\u003ee519d5a\u003c/code\u003e\u003c/a\u003e update plotly.js to v3.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/22b0ac0ee686b1fc06ecb35c1b9b7f8e5261acba\"\u003e\u003ccode\u003e22b0ac0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5415\"\u003e#5415\u003c/a\u003e from plotly/fix-np-date-handling-issue\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/aa30be57c36d0ca602c0683d2232e7724f2b9dcf\"\u003e\u003ccode\u003eaa30be5\u003c/code\u003e\u003c/a\u003e Update _plotly_utils/basevalidators.py\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/plotly/plotly.py/compare/v6.1.2...v6.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pypsa` from 0.34.1 to 1.0.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyPSA/PyPSA/releases\"\u003epypsa's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.0.5\u003c/h2\u003e\n\u003cp\u003eRevised release notes are available in the \u003ca href=\"https://docs.pypsa.org/latest/release-notes/\"\u003edocumentation\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: free up disk space by \u003ca href=\"https://github.com/lkstrp\"\u003e\u003ccode\u003e@​lkstrp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1447\"\u003ePyPSA/PyPSA#1447\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd user Serentica by \u003ca href=\"https://github.com/gincrement\"\u003e\u003ccode\u003e@​gincrement\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1453\"\u003ePyPSA/PyPSA#1453\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump 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/PyPSA/PyPSA/pull/1455\"\u003ePyPSA/PyPSA#1455\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: CVaR optimization fails if components have no marginal costs by \u003ca href=\"https://github.com/Irieo\"\u003e\u003ccode\u003e@​Irieo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1457\"\u003ePyPSA/PyPSA#1457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix markdown syntax for pip install command by \u003ca href=\"https://github.com/flxlchr\"\u003e\u003ccode\u003e@​flxlchr\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1460\"\u003ePyPSA/PyPSA#1460\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run model runs only with src changes by \u003ca href=\"https://github.com/lkstrp\"\u003e\u003ccode\u003e@​lkstrp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1462\"\u003ePyPSA/PyPSA#1462\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: using inactive generators in global carrier constraint by \u003ca href=\"https://github.com/lkstrp\"\u003e\u003ccode\u003e@​lkstrp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1450\"\u003ePyPSA/PyPSA#1450\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix typo and improve description by \u003ca href=\"https://github.com/flxlchr\"\u003e\u003ccode\u003e@​flxlchr\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1461\"\u003ePyPSA/PyPSA#1461\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate users.md by \u003ca href=\"https://github.com/gincrement\"\u003e\u003ccode\u003e@​gincrement\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1458\"\u003ePyPSA/PyPSA#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix description in stochastic optimization documentation by \u003ca href=\"https://github.com/energyLS\"\u003e\u003ccode\u003e@​energyLS\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1452\"\u003ePyPSA/PyPSA#1452\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate users.md / Meridian Economics by \u003ca href=\"https://github.com/gincrement\"\u003e\u003ccode\u003e@​gincrement\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1463\"\u003ePyPSA/PyPSA#1463\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix broadcasting bug for rolling horizon with linearised UC case by \u003ca href=\"https://github.com/Irieo\"\u003e\u003ccode\u003e@​Irieo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1464\"\u003ePyPSA/PyPSA#1464\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: expressions returning zero for non-extendable generators by \u003ca href=\"https://github.com/FabianHofmann\"\u003e\u003ccode\u003e@​FabianHofmann\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1451\"\u003ePyPSA/PyPSA#1451\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/flxlchr\"\u003e\u003ccode\u003e@​flxlchr\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1460\"\u003ePyPSA/PyPSA#1460\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PyPSA/PyPSA/compare/v1.0.4...v1.0.5\"\u003ehttps://github.com/PyPSA/PyPSA/compare/v1.0.4...v1.0.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.0.4\u003c/h2\u003e\n\u003cp\u003eRevised release notes are available in the \u003ca href=\"https://PyPSA.readthedocs.io/en/latest/release-notes.html\"\u003edocumentation\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd example notebook on negative prices in unit commitment model by \u003ca href=\"https://github.com/Irieo\"\u003e\u003ccode\u003e@​Irieo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1434\"\u003ePyPSA/PyPSA#1434\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd pypsa-asean by \u003ca href=\"https://github.com/fneum\"\u003e\u003ccode\u003e@​fneum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1435\"\u003ePyPSA/PyPSA#1435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix link in stochastic optimization example by \u003ca href=\"https://github.com/euronion\"\u003e\u003ccode\u003e@​euronion\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1436\"\u003ePyPSA/PyPSA#1436\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: snapshot selection for operational in multi period optimization by \u003ca href=\"https://github.com/FabianHofmann\"\u003e\u003ccode\u003e@​FabianHofmann\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1437\"\u003ePyPSA/PyPSA#1437\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: masking of nan constraints in kvl by \u003ca href=\"https://github.com/FabianHofmann\"\u003e\u003ccode\u003e@​FabianHofmann\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1438\"\u003ePyPSA/PyPSA#1438\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix handling of inactive storage components in constraints/variables by \u003ca href=\"https://github.com/Irieo\"\u003e\u003ccode\u003e@​Irieo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1442\"\u003ePyPSA/PyPSA#1442\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: busmap clustering for multilinks by \u003ca href=\"https://github.com/lkstrp\"\u003e\u003ccode\u003e@​lkstrp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1441\"\u003ePyPSA/PyPSA#1441\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: follow up on \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/issues/1441\"\u003e#1441\u003c/a\u003e by \u003ca href=\"https://github.com/lkstrp\"\u003e\u003ccode\u003e@​lkstrp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1445\"\u003ePyPSA/PyPSA#1445\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnpin shapely upper bound by \u003ca href=\"https://github.com/brynpickering\"\u003e\u003ccode\u003e@​brynpickering\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1444\"\u003ePyPSA/PyPSA#1444\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: use pixi for model tests by \u003ca href=\"https://github.com/lkstrp\"\u003e\u003ccode\u003e@​lkstrp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1443\"\u003ePyPSA/PyPSA#1443\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/brynpickering\"\u003e\u003ccode\u003e@​brynpickering\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1444\"\u003ePyPSA/PyPSA#1444\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PyPSA/PyPSA/compare/v1.0.3...v1.0.4\"\u003ehttps://github.com/PyPSA/PyPSA/compare/v1.0.3...v1.0.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.0.3\u003c/h2\u003e\n\u003cp\u003eRevised release notes are available in the \u003ca href=\"https://PyPSA.readthedocs.io/en/latest/release-notes.html\"\u003edocumentation\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyPSA/PyPSA/blob/master/docs/release-notes.md\"\u003epypsa's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/PyPSA/PyPSA/releases/tag/v1.0.5\"\u003e\u003cstrong\u003ev1.0.5\u003c/strong\u003e\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e4th December 2025\u003c!-- raw HTML omitted --\u003e { id=\u0026quot;v1.0.5\u0026quot; }\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix curtailment, capacity, and capex expressions returning zero for non-extendable generators. (\u003c!-- raw HTML omitted --\u003e)\u003c/li\u003e\n\u003cli\u003eFix using inactive generators in global carrier constraint. (\u003c!-- raw HTML omitted --\u003e)\u003c/li\u003e\n\u003cli\u003eFix CVaR optimization to handle networks with zero operational costs. (\u003c!-- raw HTML omitted --\u003e)\u003c/li\u003e\n\u003cli\u003eFix xarray broadcasting for rolling-horizon with linearized unit commitment optimization. (\u003c!-- raw HTML omitted --\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/PyPSA/PyPSA/releases/tag/v1.0.4\"\u003e\u003cstrong\u003ev1.0.4\u003c/strong\u003e\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e21st November 2025\u003c!-- raw HTML omitted --\u003e { id=\u0026quot;v1.0.4\u0026quot; }\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix busmap clustering to correctly remap all bus ports in multi-port links. (\u003c!-- raw HTML omitted --\u003e)\u003c/li\u003e\n\u003cli\u003eFix handling of inactive \u003ccode\u003eStorageUnit\u003c/code\u003e or \u003ccode\u003eStore\u003c/code\u003e components (\u003c!-- raw HTML omitted --\u003e)\u003c/li\u003e\n\u003cli\u003eFix snapshot selection in operational limit global constraint with investment period. (\u003c!-- raw HTML omitted --\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded new example notebook demonstrating negative electricity prices in linearized unit commitment problem. (\u003c!-- raw HTML omitted --\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/PyPSA/PyPSA/releases/tag/v1.0.3\"\u003e\u003cstrong\u003ev1.0.3\u003c/strong\u003e\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e6th November 2025\u003c!-- raw HTML omitted --\u003e { id=\u0026quot;v1.0.3\u0026quot; }\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix ramp_limit_up/down constraints: correctly detect components with ramp limits, handle rolling-horizon windows by using previous-window dispatch, and add unit tests for Link ramp limits and ramping constraints in rolling horizon mode. (\u003c!-- raw HTML omitted --\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/PyPSA/PyPSA/releases/tag/v1.0.2\"\u003e\u003cstrong\u003ev1.0.2\u003c/strong\u003e\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e24th October 2025\u003c!-- raw HTML omitted --\u003e { id=\u0026quot;v1.0.2\u0026quot; }\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix infinite recursion error when pickling networks. (\u003c!-- raw HTML omitted --\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/PyPSA/PyPSA/releases/tag/v1.0.1\"\u003e\u003cstrong\u003ev1.0.1\u003c/strong\u003e\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e20th October 2025\u003c!-- raw HTML omitted --\u003e { id=\u0026quot;v1.0.1\u0026quot; }\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix [\u003ccode\u003en.set_snapshots\u003c/code\u003e][pypsa.Network.set_snapshots] to synchronize investment period weightings when snapshots with new periods are set. (\u003c!-- raw HTML omitted --\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix scenario extraction methods ([pypsa.Network.get_scenario][] and [\u003ccode\u003en['scenario']\u003c/code\u003e][pypsa.Network.\u003cstrong\u003egetitem\u003c/strong\u003e]) to properly handle empty components (\u003c!-- raw HTML omitted --\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix bus validation when adding global constraints via [pypsa.Network.add][], eliminating false warnings for GlobalConstraints. (\u003c!-- raw HTML omitted --\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix dimension name consistency when adding investment period weightings. (\u003c!-- raw HTML omitted --\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/PyPSA/PyPSA/releases/tag/v1.0.0\"\u003e\u003cstrong\u003ev1.0.0\u003c/strong\u003e\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e14th October 2025\u003c!-- raw HTML omitted --\u003e 🎉 { id=\u0026quot;v1.0.0\u0026quot; }\u003c/h2\u003e\n\u003ch3\u003e\u003cstrong\u003ePyPSA 1.0\u003c/strong\u003e is here!\u003c/h3\u003e\n\u003cp\u003eCheck out \u003ca href=\"https://github.com/PyPSA/PyPSA/blob/master/docs/v1-guide.md\"\u003eWhat's new in PyPSA v1.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyPSA/PyPSA/commit/470e3de1c8086f8805deca9d4c834d11e2f49c57\"\u003e\u003ccode\u003e470e3de\u003c/code\u003e\u003c/a\u003e [github-actions.ci] prepare release v1.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyPSA/PyPSA/commit/56e9645a158e7ea8ae7df5bd2fd8b3cde7cbfe05\"\u003e\u003ccode\u003e56e9645\u003c/code\u003e\u003c/a\u003e prepare release \u003ccode\u003ev1.0.5\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyPSA/PyPSA/commit/6c46fdd0f68be1543af9f17aac8af978f2030dfc\"\u003e\u003ccode\u003e6c46fdd\u003c/code\u003e\u003c/a\u003e fix: expressions returning zero for non-extendable generators (\u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/issues/1451\"\u003e#1451\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyPSA/PyPSA/commit/325e6620340d350b3977049eb0a078542c3003d6\"\u003e\u003ccode\u003e325e662\u003c/code\u003e\u003c/a\u003e Fix broadcasting bug for rolling horizon with linearised UC case (\u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/issues/1464\"\u003e#1464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyPSA/PyPSA/commit/a4b5416e8346b4e696c6b95d25d1aed28dfd6723\"\u003e\u003ccode\u003ea4b5416\u003c/code\u003e\u003c/a\u003e Update users.md / Meridian Economics (\u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/issues/1463\"\u003e#1463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyPSA/PyPSA/commit/4c7037dbd8b241f29494ff6473ba97e36364ee87\"\u003e\u003ccode\u003e4c7037d\u003c/code\u003e\u003c/a\u003e Update example of stochastic optimization documentation (\u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/issues/1452\"\u003e#1452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyPSA/PyPSA/commit/53324de38945dd273185d018002649186f9f514b\"\u003e\u003ccode\u003e53324de\u003c/code\u003e\u003c/a\u003e Update users.md (\u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/issues/1458\"\u003e#1458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyPSA/PyPSA/commit/2532a8a251cfc58d7c49669dc3693d780bac7f16\"\u003e\u003ccode\u003e2532a8a\u003c/code\u003e\u003c/a\u003e docs: fix typo and improve description (\u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/issues/1461\"\u003e#1461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyPSA/PyPSA/commit/7460437c63887d542c1b90d65f103e4e4ff1ca56\"\u003e\u003ccode\u003e7460437\u003c/code\u003e\u003c/a\u003e fix: using inactive generators in global carrier constraint (\u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyPSA/PyPSA/commit/681b9ac3fd5f6edeb9d23bf9ca288107f67b3965\"\u003e\u003ccode\u003e681b9ac\u003c/code\u003e\u003c/a\u003e ci: run model runs only with src changes (\u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/issues/1462\"\u003e#1462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/PyPSA/PyPSA/compare/v0.34.1...v1.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `asttokens` from 3.0.0 to 3.0.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gristlabs/asttokens/commit/bdbf396fc0e006912ba82f1137dfd6b2d5aa9af2\"\u003e\u003ccode\u003ebdbf396\u003c/code\u003e\u003c/a\u003e Update mypy; add 3.14 to the CI; drop python 3.8 support (\u003ca href=\"https://redirect.github.com/gristlabs/asttokens/issues/167\"\u003e#167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gristlabs/asttokens/commit/f859c055e8453650e1987c5aefaaec36582d3a07\"\u003e\u003ccode\u003ef859c05\u003c/code\u003e\u003c/a\u003e Add tests for astroid v2, v3, and v4 to the CI (\u003ca href=\"https://redirect.github.com/gristlabs/asttokens/issues/166\"\u003e#166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gristlabs/asttokens/commit/84ef059ba28d08816d3d881e363b9ed42bbeae3a\"\u003e\u003ccode\u003e84ef059\u003c/code\u003e\u003c/a\u003e Adapt asttokens for astroid 4.x (\u003ca href=\"https://redirect.github.com/gristlabs/asttokens/issues/165\"\u003e#165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gristlabs/asttokens/commit/9db9335648659520c7c8453bc39550fa4f95d539\"\u003e\u003ccode\u003e9db9335\u003c/code\u003e\u003c/a\u003e Various links improvements (\u003ca href=\"https://redirect.github.com/gristlabs/asttokens/issues/163\"\u003e#163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gristlabs/asttokens/commit/3371ebf7f48f6a731d409fffd6ba235e6a95d85b\"\u003e\u003ccode\u003e3371ebf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gristlabs/asttokens/issues/161\"\u003e#161\u003c/a\u003e from gristlabs/dependabot/pip/docs/requests-2.32.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gristlabs/asttokens/commit/3a60115d3efdb01efc8a6442b59fdd0071518e70\"\u003e\u003ccode\u003e3a60115\u003c/code\u003e\u003c/a\u003e Bump requests from 2.32.2 to 2.32.4 in /docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gristlabs/asttokens/commit/584b51c6c084455ad4597886657783d1b661ddfa\"\u003e\u003ccode\u003e584b51c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gristlabs/asttokens/issues/160\"\u003e#160\u003c/a\u003e from gristlabs/dependabot/pip/docs/urllib3-2.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gristlabs/asttokens/commit/3e9d703323ce94987bf9e030bd010eae13fa15b4\"\u003e\u003ccode\u003e3e9d703\u003c/code\u003e\u003c/a\u003e Bump urllib3 from 2.2.2 to 2.5.0 in /docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gristlabs/asttokens/commit/64d3f7c3637775fef832a9a9cdb78ec02da494e6\"\u003e\u003ccode\u003e64d3f7c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gristlabs/asttokens/issues/158\"\u003e#158\u003c/a\u003e from gristlabs/dependabot/pip/docs/jinja2-3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gristlabs/asttokens/commit/9b5fb1abfb171cfb1f01c2d996cbd31e9d1f0660\"\u003e\u003ccode\u003e9b5fb1a\u003c/code\u003e\u003c/a\u003e Bump jinja2 from 3.1.4 to 3.1.6 in /docs\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gristlabs/asttokens/compare/v3.0.0...v3.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `attrs` from 25.3.0 to 25.4.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sponsors/hynek/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bottleneck` from 1.5.0 to 1.6.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydata/bottleneck/blob/master/RELEASE.rst\"\u003ebottleneck's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eBottleneck 1.6.0\u003c/h1\u003e\n\u003cp\u003e\u003cem\u003eRelease date 2025-09-05\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003eMaintenance\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e- Add Python 3.14 support, drop Python 3.9 \n- Add free-threading trove classifier\n- Bump upper bound on numpy to account for numpy 2.3.x\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/bottleneck/commit/3e5e705762b866e401eb9c0de9ce16b4cabc6348\"\u003e\u003ccode\u003e3e5e705\u003c/code\u003e\u003c/a\u003e MAINT: fix warning about \u003ccode\u003epp_*\u003c/code\u003e skip selector for PyPy wheels not being neede...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/bottleneck/commit/e3978ab0b742fc1d826193dbdf81f8c0f96b9bcf\"\u003e\u003ccode\u003ee3978ab\u003c/code\u003e\u003c/a\u003e MNT: Prepare changelog for 1.6.0  (\u003ca href=\"https://redirect.github.com/pydata/bottleneck/issues/482\"\u003e#482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/bottleneck/commit/aff8796c9ccb5e4fe5baa7b0dff0076eacdfcae3\"\u003e\u003ccode\u003eaff8796\u003c/code\u003e\u003c/a\u003e CI: windows-2019 runner was retired, move to windows-2022\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/bottleneck/commit/f5f011f1e165f7ad8ce64d306aaff0a3f4d335a8\"\u003e\u003ccode\u003ef5f011f\u003c/code\u003e\u003c/a\u003e MAINT: add Python 3.14 support, drop Python 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/bottleneck/commit/f3944e9b02b1fa48322624e2efd1468f33a05f79\"\u003e\u003ccode\u003ef3944e9\u003c/code\u003e\u003c/a\u003e MAINT: add free-threading trove classifier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/bottleneck/commit/148684f2bfd1af29e791fa6a7773641a7e025754\"\u003e\u003ccode\u003e148684f\u003c/code\u003e\u003c/a\u003e BLD: bump upper bound on numpy to account for numpy 2.3.x\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pydata/bottleneck/compare/v1.5.0...v1.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cdsapi` from 0.7.6 to 0.7.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ecmwf/cdsapi/releases\"\u003ecdsapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.7.7\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ecmwf/cdsapi/compare/0.7.6...0.7.7\"\u003ehttps://github.com/ecmwf/cdsapi/compare/0.7.6...0.7.7\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ecmwf/cdsapi/commit/e1be102bce7b7dafb27e9831c42863fdeada557b\"\u003e\u003ccode\u003ee1be102\u003c/code\u003e\u003c/a\u003e Update setup.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ecmwf/cdsapi/commit/72d7cec0b611c2f71c1a69da4668368df5118cdb\"\u003e\u003ccode\u003e72d7cec\u003c/code\u003e\u003c/a\u003e back to development version\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ecmwf/cdsapi/compare/0.7.6...0.7.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2025.4.26 to 2025.11.12\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/37ea150bee10958559f804f128de2fdd48e1ed45\"\u003e\u003ccode\u003e37ea150\u003c/code\u003e\u003c/a\u003e 2025.11.12 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/375\"\u003e#375\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/2fa50bb698145e2401e17b23f6969d3952a6f7c1\"\u003e\u003ccode\u003e2fa50bb\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 4.6.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/374\"\u003e#374\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/6cadb5304715523e57ea425f833aa3495a4e01e4\"\u003e\u003ccode\u003e6cadb53\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 5.0.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/373\"\u003e#373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/fb14ac49a976b1695d84b1ac1307276a20b3aac9\"\u003e\u003ccode\u003efb14ac4\u003c/code\u003e\u003c/a\u003e 2025.10.05 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/371\"\u003e#371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/2c7c7ee6b76a118191b685a4cc028d4241f22eb7\"\u003e\u003ccode\u003e2c7c7ee\u003c/code\u003e\u003c/a\u003e Add Python 3.14 classifier in setup.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/1a5cb7b3771bba256755f88b3dcf3ac13f064622\"\u003e\u003ccode\u003e1a5cb7b\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5.6.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/367\"\u003e#367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/dea59605ef2b266c2e0e67938e8c8535a04b1211\"\u003e\u003ccode\u003edea5960\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/certifi/python-certifi/issues/366\"\u003e#366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/83566b7c993eef772facdaff59c7bba105675329\"\u003e\u003ccode\u003e83566b7\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.2 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/ca2e121bdb304fd01f802d3b1ee6a65684f569f2\"\u003e\u003ccode\u003eca2e121\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/a97d9ad8f87c382378dddc0b0b33b9770932404e\"\u003e\u003ccode\u003ea97d9ad\u003c/code\u003e\u003c/a\u003e 2025.08.03 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/362\"\u003e#362\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2025.04.26...2025.11.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cffi` from 1.17.1 to 2.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-cffi/cffi/releases\"\u003ecffi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Python 3.14 support.\u003c/li\u003e\n\u003cli\u003eAdd CPython free-threaded support (3.14t+ only) - huge thanks to the folks at Quansight Labs for all the work to get this one sorted!\u003c/li\u003e\n\u003cli\u003eDrop Python \u0026lt;= 3.8 support.\u003c/li\u003e\n\u003cli\u003eFix order dependency affecting nested type size calculation (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/148\"\u003e#148\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-cffi/cffi/compare/v1.17.1...v2.0.0\"\u003ehttps://github.com/python-cffi/cffi/compare/v1.17.1...v2.0.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.0.0b1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Python 3.14 support.\u003c/li\u003e\n\u003cli\u003eAdd CPython free-threaded support (3.14t+ only).\u003c/li\u003e\n\u003cli\u003eDrop Python \u0026lt;= 3.8 support.\u003c/li\u003e\n\u003cli\u003eFix order dependency affecting nested type size calculation (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/148\"\u003e#148\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-cffi/cffi/compare/v1.17.1...v2.0.0b1\"\u003ehttps://github.com/python-cffi/cffi/compare/v1.17.1...v2.0.0b1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-cffi/cffi/commit/6366c01d84e9a78e7e85f12ebe9760ba5d19b6d3\"\u003e\u003ccode\u003e6366c01\u003c/code\u003e\u003c/a\u003e release 2.0.0 (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/196\"\u003e#196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-cffi/cffi/commit/95c847663aec401e4003927a274e4de9b8595f4f\"\u003e\u003ccode\u003e95c8476\u003c/code\u003e\u003c/a\u003e 2.0.0 post beta backports (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/195\"\u003e#195\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-cffi/cffi/commit/195cbda66b6be9297ef6d584644e50cfdcca4e8a\"\u003e\u003ccode\u003e195cbda\u003c/code\u003e\u003c/a\u003e Release 2.0.0b1 (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/183\"\u003e#183\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-cffi/cffi/commit/b4bbe7940d3f76027534db1aecbae9b61c35221a\"\u003e\u003ccode\u003eb4bbe79\u003c/code\u003e\u003c/a\u003e fix version test to support beta\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-cffi/cffi/commit/7ed073de66e713cf791b6fdfa23685c81fdfd6ad\"\u003e\u003ccode\u003e7ed073d\u003c/code\u003e\u003c/a\u003e Add support for the free-threaded build (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/178\"\u003e#178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-cffi/cffi/commit/67a170dc7972dc9361743690b38da3d963b200ef\"\u003e\u003ccode\u003e67a170d\u003c/code\u003e\u003c/a\u003e Change the license from MIT to MIT-no-attribution, which is the same without ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://githu...\n\n_Description has been truncated_","html_url":"https://github.com/ryanjenkinson/data-centre-modelling/pull/34","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanjenkinson%2Fdata-centre-modelling/issues/34","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/34/packages"},{"uuid":"3680986567","node_id":"PR_kwDOJpUnI862WJFs","number":111,"state":"closed","title":"Bump the poetry-dependencies group across 1 directory with 50 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-01T10:38:09.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-01T13:19:11.000Z","updated_at":"2026-01-01T10:38:11.000Z","time_to_close":2668738,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"poetry-dependencies","update_count":50,"packages":[{"name":"black","old_version":"25.9.0","new_version":"25.11.0","repository_url":"https://github.com/psf/black"},{"name":"coverage","old_version":"7.10.7","new_version":"7.12.0","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"mypy","old_version":"1.18.2","new_version":"1.19.0","repository_url":"https://github.com/python/mypy"},{"name":"pre-commit","old_version":"4.3.0","new_version":"4.5.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"ruff","old_version":"0.13.3","new_version":"0.14.7","repository_url":"https://github.com/astral-sh/ruff"},{"name":"pytest","old_version":"8.4.2","new_version":"9.0.1","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"matplotlib","old_version":"3.10.6","new_version":"3.10.7","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"deptry","old_version":"0.23.1","new_version":"0.24.0","repository_url":"https://github.com/fpgmaas/deptry"},{"name":"pyarrow","old_version":"21.0.0","new_version":"22.0.0","repository_url":"https://github.com/apache/arrow"},{"name":"anyio","old_version":"4.11.0","new_version":"4.12.0","repository_url":"https://github.com/agronholm/anyio"},{"name":"arrow","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/arrow-py/arrow"},{"name":"asttokens","old_version":"3.0.0","new_version":"3.0.1","repository_url":"https://github.com/gristlabs/asttokens"},{"name":"beautifulsoup4","old_version":"4.14.2","new_version":"4.14.3"},{"name":"bleach","old_version":"6.2.0","new_version":"6.3.0","repository_url":"https://github.com/mozilla/bleach"},{"name":"certifi","old_version":"2025.10.5","new_version":"2025.11.12","repository_url":"https://github.com/certifi/python-certifi"},{"name":"cfgv","old_version":"3.4.0","new_version":"3.5.0","repository_url":"https://github.com/asottile/cfgv"},{"name":"charset-normalizer","old_version":"3.4.3","new_version":"3.4.4","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"click","old_version":"8.3.0","new_version":"8.3.1","repository_url":"https://github.com/pallets/click"},{"name":"exceptiongroup","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/agronholm/exceptiongroup"},{"name":"filelock","old_version":"3.19.1","new_version":"3.20.0","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"fonttools","old_version":"4.60.1","new_version":"4.61.0","repository_url":"https://github.com/fonttools/fonttools"},{"name":"idna","old_version":"3.10","new_version":"3.11","repository_url":"https://github.com/kjd/idna"},{"name":"iniconfig","old_version":"2.1.0","new_version":"2.3.0","repository_url":"https://github.com/pytest-dev/iniconfig"},{"name":"ipykernel","old_version":"6.30.1","new_version":"7.1.0","repository_url":"https://github.com/ipython/ipykernel"},{"name":"ipywidgets","old_version":"8.1.7","new_version":"8.1.8","repository_url":"https://github.com/jupyter-widgets/ipywidgets"},{"name":"jupyter-core","old_version":"5.8.1","new_version":"5.9.1","repository_url":"https://github.com/jupyter/jupyter_core"},{"name":"jupyterlab","old_version":"4.4.9","new_version":"4.5.0","repository_url":"https://github.com/jupyterlab/jupyterlab"},{"name":"jupyterlab-widgets","old_version":"3.0.15","new_version":"3.0.16","repository_url":"https://github.com/jupyter-widgets/ipywidgets"},{"name":"lark","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/lark-parser/lark"},{"name":"matplotlib-inline","old_version":"0.1.7","new_version":"0.2.1","repository_url":"https://github.com/ipython/matplotlib-inline"},{"name":"numexpr","old_version":"2.13.1","new_version":"2.14.1","repository_url":"https://github.com/pydata/numexpr"},{"name":"pillow","old_version":"11.3.0","new_version":"12.0.0","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"platformdirs","old_version":"4.4.0","new_version":"4.5.0","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"psutil","old_version":"7.1.0","new_version":"7.1.3","repository_url":"https://github.com/giampaolo/psutil"},{"name":"referencing","old_version":"0.36.2","new_version":"0.37.0","repository_url":"https://github.com/python-jsonschema/referencing"},{"name":"rpds-py","old_version":"0.27.1","new_version":"0.30.0","repository_url":"https://github.com/crate-py/rpds"},{"name":"ruamel-yaml","old_version":"0.18.15","new_version":"0.18.16"},{"name":"ruamel-yaml-clib","old_version":"0.2.14","new_version":"0.2.15"},{"name":"starlette","old_version":"0.48.0","new_version":"0.50.0","repository_url":"https://github.com/Kludex/starlette"},{"name":"tomli","old_version":"2.2.1","new_version":"2.3.0","repository_url":"https://github.com/hukkin/tomli"},{"name":"types-pytz","old_version":"2025.2.0.20250809","new_version":"2025.2.0.20251108","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"uvicorn","old_version":"0.37.0","new_version":"0.38.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"virtualenv","old_version":"20.34.0","new_version":"20.35.4","repository_url":"https://github.com/pypa/virtualenv"},{"name":"watchfiles","old_version":"1.1.0","new_version":"1.1.1","repository_url":"https://github.com/samuelcolvin/watchfiles"},{"name":"webcolors","old_version":"24.11.1","new_version":"25.10.0","repository_url":"https://github.com/ubernostrum/webcolors"},{"name":"websocket-client","old_version":"1.8.0","new_version":"1.9.0","repository_url":"https://github.com/websocket-client/websocket-client"},{"name":"widgetsnbextension","old_version":"4.0.14","new_version":"4.0.15"}],"path":null,"ecosystem":"pip"},"body":"Bumps the poetry-dependencies group with 47 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [black](https://github.com/psf/black) | `25.9.0` | `25.11.0` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.10.7` | `7.12.0` |\n| [mypy](https://github.com/python/mypy) | `1.18.2` | `1.19.0` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.3.0` | `4.5.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.13.3` | `0.14.7` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.2` | `9.0.1` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.10.6` | `3.10.7` |\n| [deptry](https://github.com/fpgmaas/deptry) | `0.23.1` | `0.24.0` |\n| [pyarrow](https://github.com/apache/arrow) | `21.0.0` | `22.0.0` |\n| [anyio](https://github.com/agronholm/anyio) | `4.11.0` | `4.12.0` |\n| [arrow](https://github.com/arrow-py/arrow) | `1.3.0` | `1.4.0` |\n| [asttokens](https://github.com/gristlabs/asttokens) | `3.0.0` | `3.0.1` |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.14.2` | `4.14.3` |\n| [bleach](https://github.com/mozilla/bleach) | `6.2.0` | `6.3.0` |\n| [certifi](https://github.com/certifi/python-certifi) | `2025.10.5` | `2025.11.12` |\n| [cfgv](https://github.com/asottile/cfgv) | `3.4.0` | `3.5.0` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.3` | `3.4.4` |\n| [click](https://github.com/pallets/click) | `8.3.0` | `8.3.1` |\n| [exceptiongroup](https://github.com/agronholm/exceptiongroup) | `1.3.0` | `1.3.1` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.19.1` | `3.20.0` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.60.1` | `4.61.0` |\n| [idna](https://github.com/kjd/idna) | `3.10` | `3.11` |\n| [iniconfig](https://github.com/pytest-dev/iniconfig) | `2.1.0` | `2.3.0` |\n| [ipykernel](https://github.com/ipython/ipykernel) | `6.30.1` | `7.1.0` |\n| [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) | `8.1.7` | `8.1.8` |\n| [jupyter-core](https://github.com/jupyter/jupyter_core) | `5.8.1` | `5.9.1` |\n| [jupyterlab](https://github.com/jupyterlab/jupyterlab) | `4.4.9` | `4.5.0` |\n| [jupyterlab-widgets](https://github.com/jupyter-widgets/ipywidgets) | `3.0.15` | `3.0.16` |\n| [lark](https://github.com/lark-parser/lark) | `1.3.0` | `1.3.1` |\n| [matplotlib-inline](https://github.com/ipython/matplotlib-inline) | `0.1.7` | `0.2.1` |\n| [numexpr](https://github.com/pydata/numexpr) | `2.13.1` | `2.14.1` |\n| [pillow](https://github.com/python-pillow/Pillow) | `11.3.0` | `12.0.0` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.4.0` | `4.5.0` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.1.0` | `7.1.3` |\n| [referencing](https://github.com/python-jsonschema/referencing) | `0.36.2` | `0.37.0` |\n| [rpds-py](https://github.com/crate-py/rpds) | `0.27.1` | `0.30.0` |\n| ruamel-yaml | `0.18.15` | `0.18.16` |\n| ruamel-yaml-clib | `0.2.14` | `0.2.15` |\n| [starlette](https://github.com/Kludex/starlette) | `0.48.0` | `0.50.0` |\n| [tomli](https://github.com/hukkin/tomli) | `2.2.1` | `2.3.0` |\n| [types-pytz](https://github.com/typeshed-internal/stub_uploader) | `2025.2.0.20250809` | `2025.2.0.20251108` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.37.0` | `0.38.0` |\n| [virtualenv](https://github.com/pypa/virtualenv) | `20.34.0` | `20.35.4` |\n| [watchfiles](https://github.com/samuelcolvin/watchfiles) | `1.1.0` | `1.1.1` |\n| [webcolors](https://github.com/ubernostrum/webcolors) | `24.11.1` | `25.10.0` |\n| [websocket-client](https://github.com/websocket-client/websocket-client) | `1.8.0` | `1.9.0` |\n| [widgetsnbextension](http://jupyter.org) | `4.0.14` | `4.0.15` |\n\n\nUpdates `black` from 25.9.0 to 25.11.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.11.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable base 3.14 support (\u003ca href=\"https://redirect.github.com/psf/black/issues/4804\"\u003e#4804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for the new Python 3.14 t-string syntax introduced by PEP 750 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4805\"\u003e#4805\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where comments between \u003ccode\u003e# fmt: off\u003c/code\u003e and \u003ccode\u003e# fmt: on\u003c/code\u003e were reformatted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4811\"\u003e#4811\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eComments containing fmt directives now preserve their exact formatting instead of\nbeing normalized (\u003ca href=\"https://redirect.github.com/psf/black/issues/4811\"\u003e#4811\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMove \u003ccode\u003emultiline_string_handling\u003c/code\u003e from \u003ccode\u003e--unstable\u003c/code\u003e to \u003ccode\u003e--preview\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4760\"\u003e#4760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where module docstrings would be treated as normal strings if preceded by\ncomments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4764\"\u003e#4764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where python 3.12 generics syntax split line happens weirdly (\u003ca href=\"https://redirect.github.com/psf/black/issues/4777\"\u003e#4777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStandardize type comments to form \u003ccode\u003e# type: \u0026lt;value\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003efix_fmt_skip_in_one_liners\u003c/code\u003e preview feature to respect \u003ccode\u003e# fmt: skip\u003c/code\u003e for compound\nstatements with semicolon-separated bodies (\u003ca href=\"https://redirect.github.com/psf/black/issues/4800\"\u003e#4800\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eno_cache\u003c/code\u003e option to control caching behavior. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4803\"\u003e#4803\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReleases now include arm64 Linux binaries (\u003ca href=\"https://redirect.github.com/psf/black/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOutput\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWrite unchanged content to stdout when excluding formatting from stdin using pipes\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4610\"\u003e#4610\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImplemented BlackDClient. This simple python client allows to easily send formatting\nrequests to blackd (\u003ca href=\"https://redirect.github.com/psf/black/issues/4774\"\u003e#4774\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIntegrations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable 3.14 base CI (\u003ca href=\"https://redirect.github.com/psf/black/issues/4804\"\u003e#4804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnhance GitHub Action \u003ccode\u003epsf/black\u003c/code\u003e to support the \u003ccode\u003erequired-version\u003c/code\u003e major-version-only\n\u0026quot;stability\u0026quot; format when using pyproject.toml (\u003ca href=\"https://redirect.github.com/psf/black/issues/4770\"\u003e#4770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove error message for vim plugin users. It now handles independently vim version\u003c/li\u003e\n\u003cli\u003eVim: Warn on unsupported Vim and Python versions independently (\u003ca href=\"https://redirect.github.com/psf/black/issues/4772\"\u003e#4772\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eVim: Print the import paths when importing black fails (\u003ca href=\"https://redirect.github.com/psf/black/issues/4675\"\u003e#4675\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eVim: Fix handling of virtualenvs that have a different Python version (\u003ca href=\"https://redirect.github.com/psf/black/issues/4675\"\u003e#4675\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.11.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable base 3.14 support (\u003ca href=\"https://redirect.github.com/psf/black/issues/4804\"\u003e#4804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for the new Python 3.14 t-string syntax introduced by PEP 750 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4805\"\u003e#4805\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where comments between \u003ccode\u003e# fmt: off\u003c/code\u003e and \u003ccode\u003e# fmt: on\u003c/code\u003e were reformatted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4811\"\u003e#4811\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eComments containing fmt directives now preserve their exact formatting instead of\nbeing normalized (\u003ca href=\"https://redirect.github.com/psf/black/issues/4811\"\u003e#4811\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMove \u003ccode\u003emultiline_string_handling\u003c/code\u003e from \u003ccode\u003e--unstable\u003c/code\u003e to \u003ccode\u003e--preview\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4760\"\u003e#4760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where module docstrings would be treated as normal strings if preceded by\ncomments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4764\"\u003e#4764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where python 3.12 generics syntax split line happens weirdly (\u003ca href=\"https://redirect.github.com/psf/black/issues/4777\"\u003e#4777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStandardize type comments to form \u003ccode\u003e# type: \u0026lt;value\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003efix_fmt_skip_in_one_liners\u003c/code\u003e preview feature to respect \u003ccode\u003e# fmt: skip\u003c/code\u003e for compound\nstatements with semicolon-separated bodies (\u003ca href=\"https://redirect.github.com/psf/black/issues/4800\"\u003e#4800\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eno_cache\u003c/code\u003e option to control caching behavior. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4803\"\u003e#4803\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReleases now include arm64 Linux binaries (\u003ca href=\"https://redirect.github.com/psf/black/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReleases now include arm64 Windows binaries and wheels (\u003ca href=\"https://redirect.github.com/psf/black/issues/4814\"\u003e#4814\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOutput\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWrite unchanged content to stdout when excluding formatting from stdin using pipes\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4610\"\u003e#4610\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImplemented BlackDClient. This simple python client allows to easily send formatting\nrequests to blackd (\u003ca href=\"https://redirect.github.com/psf/black/issues/4774\"\u003e#4774\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIntegrations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable 3.14 base CI (\u003ca href=\"https://redirect.github.com/psf/black/issues/4804\"\u003e#4804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnhance GitHub Action \u003ccode\u003epsf/black\u003c/code\u003e to support the \u003ccode\u003erequired-version\u003c/code\u003e major-version-only\n\u0026quot;stability\u0026quot; format when using pyproject.toml (\u003ca href=\"https://redirect.github.com/psf/black/issues/4770\"\u003e#4770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eoutput-file\u003c/code\u003e input to GitHub Action \u003ccode\u003epsf/black\u003c/code\u003e to write formatter output to a\nfile for artifact capture and log cleanliness (\u003ca href=\"https://redirect.github.com/psf/black/issues/4824\"\u003e#4824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove error message for vim plugin users. It now handles independently vim version\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/05f0a8ce1f71fbb36e1e032d3b518c7b945089a2\"\u003e\u003ccode\u003e05f0a8c\u003c/code\u003e\u003c/a\u003e Prepare for 25.11.0 release (\u003ca href=\"https://redirect.github.com/psf/black/issues/4825\"\u003e#4825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/ae17c61310e44401ca55d17a9c01db1dc03940a6\"\u003e\u003ccode\u003eae17c61\u003c/code\u003e\u003c/a\u003e Fix tests on pytest 9 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4835\"\u003e#4835\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/138745eca650aa59ab30458f7b1c026b66608a09\"\u003e\u003ccode\u003e138745e\u003c/code\u003e\u003c/a\u003e Include Windows and Python 3.14 in PR wheel build matrix, fix Windows build (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/18170d6d8d9bdde97d4cd3568cfa8be434a09ff3\"\u003e\u003ccode\u003e18170d6\u003c/code\u003e\u003c/a\u003e ci: add label for running all builds on a pull request (\u003ca href=\"https://redirect.github.com/psf/black/issues/4833\"\u003e#4833\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/0e793e3d7e0d12dbda1573fa1bb785b1f066ee7c\"\u003e\u003ccode\u003e0e793e3\u003c/code\u003e\u003c/a\u003e fix windows wheels (\u003ca href=\"https://redirect.github.com/psf/black/issues/4830\"\u003e#4830\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/b71f36c9fda07930c83e22681e0ec08ddf5a3980\"\u003e\u003ccode\u003eb71f36c\u003c/code\u003e\u003c/a\u003e Use build[uv] as cibuildwheel frontend (\u003ca href=\"https://redirect.github.com/psf/black/issues/4831\"\u003e#4831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/a7bd594493bb5cb703beee877a2df40556b0baaa\"\u003e\u003ccode\u003ea7bd594\u003c/code\u003e\u003c/a\u003e Skip free threaded builds in cibuildwheel (\u003ca href=\"https://redirect.github.com/psf/black/issues/4829\"\u003e#4829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/862dee91fa1259ca2bc00f10538b52a4959bdbe8\"\u003e\u003ccode\u003e862dee9\u003c/code\u003e\u003c/a\u003e Update cibuildwheel (\u003ca href=\"https://redirect.github.com/psf/black/issues/4828\"\u003e#4828\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/b5f354c56627640e0b853af51a51d9262bafa9f0\"\u003e\u003ccode\u003eb5f354c\u003c/code\u003e\u003c/a\u003e build: restrict to pytest 9.0 due to breakage in custom pytest_configure (\u003ca href=\"https://redirect.github.com/psf/black/issues/4827\"\u003e#4827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/f705197f57149b79ed83cccf22e4fed19b48a7bf\"\u003e\u003ccode\u003ef705197\u003c/code\u003e\u003c/a\u003e t-string support (\u003ca href=\"https://redirect.github.com/psf/black/issues/4805\"\u003e#4805\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/25.9.0...25.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `coverage` from 7.10.7 to 7.12.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coveragepy/coveragepy/blob/main/CHANGES.rst\"\u003ecoverage's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 7.12.0 — 2025-11-18\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe HTML report now shows separate coverage totals for statements and\nbranches, as well as the usual combined coverage percentage. Thanks to Ryuta\nOtsuka for the \u003ccode\u003ediscussion \u0026lt;issue 2081_\u0026gt;\u003c/code\u003e_ and the \u003ccode\u003eimplementation \u0026lt;pull 2085_\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe JSON report now includes separate coverage totals for statements and\nbranches, thanks to \u003ccode\u003eRyuta Otsuka \u0026lt;pull 2090_\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: \u003ccode\u003eexcept*\u003c/code\u003e clauses were not handled properly under the \u0026quot;sysmon\u0026quot;\nmeasurement core, causing KeyError exceptions as described in \u003ccode\u003eissue 2086\u003c/code\u003e_.\nThis is now fixed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: we now defend against aggressive mocking of \u003ccode\u003eopen()\u003c/code\u003e that could cause\nerrors inside coverage.py.  An example of a failure is in \u003ccode\u003eissue 2083\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: in unusual cases where a test suite intentionally exhausts the system's\nfile descriptors to test handling errors in \u003ccode\u003eopen()\u003c/code\u003e, coverage.py would\nfail when trying to open source files, as described in \u003ccode\u003eissue 2091\u003c/code\u003e_.  This\nis now fixed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA small tweak to the HTML report: file paths now use thin spaces around\nslashes to make them easier to read.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 2081: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2081\"\u003ecoveragepy/coveragepy#2081\u003c/a\u003e\n.. _issue 2083: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2083\"\u003ecoveragepy/coveragepy#2083\u003c/a\u003e\n.. _pull 2085: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2085\"\u003ecoveragepy/coveragepy#2085\u003c/a\u003e\n.. _issue 2086: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2086\"\u003ecoveragepy/coveragepy#2086\u003c/a\u003e\n.. _pull 2090: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2090\"\u003ecoveragepy/coveragepy#2090\u003c/a\u003e\n.. _issue 2091: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2091\"\u003ecoveragepy/coveragepy#2091\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-11-3:\u003c/p\u003e\n\u003ch2\u003eVersion 7.11.3 — 2025-11-09\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the 7.11.1 changes meant that conflicts between a requested measurement\ncore and other settings would raise an error. This was a breaking change from\nprevious behavior, as reported in \u003ccode\u003eissue 2076\u003c/code\u003e_ and \u003ccode\u003eissue 2078\u003c/code\u003e_.\u003c/p\u003e\n\u003cp\u003eThe previous behavior has been restored: when the requested core conflicts\nwith other settings, another core is used instead, and a warning is issued.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFor contributors: the repo has moved from Ned's \u003ccode\u003enedbat GitHub account\u003c/code\u003e_ to\nthe \u003ccode\u003ecoveragepy GitHub organization\u003c/code\u003e_. The default branch has changed from\nmaster to main.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/63db2b12d7a4fedda90061553ccf2ec6849c8a3d\"\u003e\u003ccode\u003e63db2b1\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/598bbc3a51a492860547e7c3d8d076b811efe1bb\"\u003e\u003ccode\u003e598bbc3\u003c/code\u003e\u003c/a\u003e docs: prep for 7.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/557dd15f75bc4b4bf93b6163a9e6b2b29647d90d\"\u003e\u003ccode\u003e557dd15\u003c/code\u003e\u003c/a\u003e feat: add statement and branch coverage percentages to JSON report (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2090\"\u003e#2090\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/e18359c834f0f428425b62fc564ec6d106d413e5\"\u003e\u003ccode\u003ee18359c\u003c/code\u003e\u003c/a\u003e fix: don't crash if open() genuinely fails. \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2091\"\u003e#2091\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/fff5e59b28e0a4660a5e19975eb02aeffcb05a01\"\u003e\u003ccode\u003efff5e59\u003c/code\u003e\u003c/a\u003e docs: thanks, Ryuta Otsuka \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2085\"\u003e#2085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/97bf6251ef0c40174645d6fb0352a25df3531e72\"\u003e\u003ccode\u003e97bf625\u003c/code\u003e\u003c/a\u003e docs: support files for the sample html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/8320b746113ec269437d3465873ff7ae19eeccc1\"\u003e\u003ccode\u003e8320b74\u003c/code\u003e\u003c/a\u003e style(html): tweak the styling for the new stmt/branch stats \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2085\"\u003e#2085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/7e081839b0987c6a9b3bba4efe86e80deb1c1776\"\u003e\u003ccode\u003e7e08183\u003c/code\u003e\u003c/a\u003e feat(templite): {% else %}\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/4abe253c579db1b3d72a4b2dfd52bf9b7c2fc2aa\"\u003e\u003ccode\u003e4abe253\u003c/code\u003e\u003c/a\u003e feat: add statement and branch coverage columns to index.html report (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2085\"\u003e#2085\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/ddbafa90974ff4de00467f05ba712d6d21937920\"\u003e\u003ccode\u003eddbafa9\u003c/code\u003e\u003c/a\u003e build: no longer need to work around a pytest/iTerm2 bug\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coveragepy/coveragepy/compare/7.10.7...7.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.18.2 to 1.19.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eMypy Release Notes\u003c/h1\u003e\n\u003ch2\u003eNext Release\u003c/h2\u003e\n\u003ch3\u003eDrop Support for Python 3.9\u003c/h3\u003e\n\u003cp\u003eMypy no longer supports running with Python 3.9, which has reached end-of-life.\nWhen running mypy with Python 3.10+, it is still possible to type check code\nthat needs to support Python 3.9 with the \u003ccode\u003e--python-version 3.9\u003c/code\u003e argument.\nSupport for this will be dropped in the first half of 2026!\u003c/p\u003e\n\u003cp\u003eContributed by Marc Mueller (PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20156\"\u003e20156\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eMypy 1.19\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.19.0 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\nimprovements and bug fixes. You can install it as follows:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install -U mypy\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eYou can read the full documentation for this release on \u003ca href=\"http://mypy.readthedocs.io\"\u003eRead the Docs\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003ePython 3.9 Support Ending Soon\u003c/h3\u003e\n\u003cp\u003eThis is the last mypy feature release that supports Python 3.9, which reached\nend of life in October 2025.\u003c/p\u003e\n\u003ch3\u003ePerformance Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch to a more dynamic SCC processing logic (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20053\"\u003e20053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpeed up type aliases (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19810\"\u003e19810\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed‑Format Cache Improvements\u003c/h3\u003e\n\u003cp\u003eMypy uses a cache by default to speed up incremental runs by reusing partial results\nfrom earlier runs. Mypy 1.18 added a new binary fixed-format cache representation as\nan experimental feature. The feature is no longer experimental, and we are planning\nto enable it by default in a future mypy release (possibly 1.20), since it's faster\nand uses less space than the original, JSON-based cache format. Use\n\u003ccode\u003e--fixed-format-cache\u003c/code\u003e to enable the fixed-format cache.\u003c/p\u003e\n\u003cp\u003eMypy now has an extra dependency on the \u003ccode\u003elibrt\u003c/code\u003e PyPI package, as it's needed for\ncache serialization and deserialization.\u003c/p\u003e\n\u003cp\u003eMypy ships with a tool to convert fixed-format cache files to the old JSON format.\nExample of how to use this:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e$ python -m mypy.exportjson .mypy_cache/.../my_module.data.ff\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0f068c9ec604daa09e69c92545b059f4b44f566e\"\u003e\u003ccode\u003e0f068c9\u003c/code\u003e\u003c/a\u003e Remove +dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/6d5cf52e67da306b62455cdce4ce9a9ccec35d02\"\u003e\u003ccode\u003e6d5cf52\u003c/code\u003e\u003c/a\u003e Various updates to 1.19 changelog (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20304\"\u003e#20304\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/3c813083b27c87cf3a32e7422191b02bf59fab6e\"\u003e\u003ccode\u003e3c81308\u003c/code\u003e\u003c/a\u003e Add draft version of 1.19 release notes (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20296\"\u003e#20296\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/1999a20e9898f673fa2f4c9a91790c075141ba71\"\u003e\u003ccode\u003e1999a20\u003c/code\u003e\u003c/a\u003e [mypyc] librt base64: use existing SIMD CPU dispatch by customizing build fla...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/1b94fbb9fbc581de7e057d71e9892e3acbf9a7d3\"\u003e\u003ccode\u003e1b94fbb\u003c/code\u003e\u003c/a\u003e [mypyc] Fix vtable pointer with inherited dunder new (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20302\"\u003e#20302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/13369cb25fe450f755f63e59156b86df84c08b3d\"\u003e\u003ccode\u003e13369cb\u003c/code\u003e\u003c/a\u003e [mypyc] Fix crash on super in generator (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20291\"\u003e#20291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a087a5894935cfdbc2eba27a6d04ebca38fd6659\"\u003e\u003ccode\u003ea087a58\u003c/code\u003e\u003c/a\u003e Update import map when new modules added (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20271\"\u003e#20271\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/35e843cc38cedc1bdf87d9937c06d51189ad0e45\"\u003e\u003ccode\u003e35e843c\u003c/code\u003e\u003c/a\u003e [mypyc] Add efficient librt.base64.b64decode (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20263\"\u003e#20263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/094f66dc742cec2d69add9296fb21cdef50624d0\"\u003e\u003ccode\u003e094f66d\u003c/code\u003e\u003c/a\u003e [mypyc] Add \u003cstrong\u003erepr\u003c/strong\u003e to AssignmentTarget subclasses (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20258\"\u003e#20258\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0738db3f9d336622923c7ee143e1c3adf7600a31\"\u003e\u003ccode\u003e0738db3\u003c/code\u003e\u003c/a\u003e Do not push partial types to the binder (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20202\"\u003e#20202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.18.2...v1.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pre-commit` from 4.3.0 to 4.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pre-commit/pre-commit/releases\"\u003epre-commit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epre-commit v4.5.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epre-commit hazmat\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3585\"\u003e#3585\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epre-commit v4.4.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--fail-fast\u003c/code\u003e option to \u003ccode\u003epre-commit run\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3528\"\u003e#3528\u003c/a\u003e PR by \u003ca href=\"https://github.com/JulianMaurin\"\u003e\u003ccode\u003e@​JulianMaurin\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUpgrade \u003ccode\u003eruby-build\u003c/code\u003e / \u003ccode\u003erbenv\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3566\"\u003e#3566\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3565\"\u003e#3565\u003c/a\u003e issue by \u003ca href=\"https://github.com/MRigal\"\u003e\u003ccode\u003e@​MRigal\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003elanguage: unsupported\u003c/code\u003e / \u003ccode\u003elanguage: unsupported_script\u003c/code\u003e as aliases for \u003ccode\u003elanguage: system\u003c/code\u003e / \u003ccode\u003elanguage: script\u003c/code\u003e (which will eventually be deprecated).\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3577\"\u003e#3577\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd support docker-in-docker detection for cgroups v2.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3535\"\u003e#3535\u003c/a\u003e PR by \u003ca href=\"https://github.com/br-rhrbacek\"\u003e\u003ccode\u003e@​br-rhrbacek\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3360\"\u003e#3360\u003c/a\u003e issue by \u003ca href=\"https://github.com/JasonAlt\"\u003e\u003ccode\u003e@​JasonAlt\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle when docker gives \u003ccode\u003eSecurityOptions: null\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3537\"\u003e#3537\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3514\"\u003e#3514\u003c/a\u003e issue by \u003ca href=\"https://github.com/jenstroeger\"\u003e\u003ccode\u003e@​jenstroeger\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix error context for invalid \u003ccode\u003estages\u003c/code\u003e in \u003ccode\u003e.pre-commit-config.yaml\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3576\"\u003e#3576\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md\"\u003epre-commit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e4.5.0 - 2025-11-22\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epre-commit hazmat\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3585\"\u003e#3585\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e4.4.0 - 2025-11-08\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--fail-fast\u003c/code\u003e option to \u003ccode\u003epre-commit run\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3528\"\u003e#3528\u003c/a\u003e PR by \u003ca href=\"https://github.com/JulianMaurin\"\u003e\u003ccode\u003e@​JulianMaurin\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUpgrade \u003ccode\u003eruby-build\u003c/code\u003e / \u003ccode\u003erbenv\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3566\"\u003e#3566\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3565\"\u003e#3565\u003c/a\u003e issue by \u003ca href=\"https://github.com/MRigal\"\u003e\u003ccode\u003e@​MRigal\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003elanguage: unsupported\u003c/code\u003e / \u003ccode\u003elanguage: unsupported_script\u003c/code\u003e as aliases\nfor \u003ccode\u003elanguage: system\u003c/code\u003e / \u003ccode\u003elanguage: script\u003c/code\u003e (which will eventually be\ndeprecated).\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3577\"\u003e#3577\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd support docker-in-docker detection for cgroups v2.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3535\"\u003e#3535\u003c/a\u003e PR by \u003ca href=\"https://github.com/br-rhrbacek\"\u003e\u003ccode\u003e@​br-rhrbacek\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3360\"\u003e#3360\u003c/a\u003e issue by \u003ca href=\"https://github.com/JasonAlt\"\u003e\u003ccode\u003e@​JasonAlt\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle when docker gives \u003ccode\u003eSecurityOptions: null\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3537\"\u003e#3537\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3514\"\u003e#3514\u003c/a\u003e issue by \u003ca href=\"https://github.com/jenstroeger\"\u003e\u003ccode\u003e@​jenstroeger\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix error context for invalid \u003ccode\u003estages\u003c/code\u003e in \u003ccode\u003e.pre-commit-config.yaml\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3576\"\u003e#3576\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/1af6c8fa9502336c6977c2ff3e79185bd97a6e57\"\u003e\u003ccode\u003e1af6c8f\u003c/code\u003e\u003c/a\u003e v4.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/3358a3b54077cd8c8c99618aed003b771a21cb65\"\u003e\u003ccode\u003e3358a3b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3585\"\u003e#3585\u003c/a\u003e from pre-commit/hazmat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/bdf68790b78158268bbc8482f76491a61d75809a\"\u003e\u003ccode\u003ebdf6879\u003c/code\u003e\u003c/a\u003e add pre-commit hazmat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/e436690f140cbbe1d0f359654edf3ab9ecb8da2d\"\u003e\u003ccode\u003ee436690\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3584\"\u003e#3584\u003c/a\u003e from pre-commit/exitstack\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/8d34f95308fc4c14dea3d3e90153acfdaf55e2de\"\u003e\u003ccode\u003e8d34f95\u003c/code\u003e\u003c/a\u003e use ExitStack instead of start + stop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/9c7ea88ab95cb063cb0f0b74f395ff7b9cdbe0c5\"\u003e\u003ccode\u003e9c7ea88\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3583\"\u003e#3583\u003c/a\u003e from pre-commit/forward-compat-map-manifest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/844dacc168d68a32553ecf8a99178ab395fdb11e\"\u003e\u003ccode\u003e844dacc\u003c/code\u003e\u003c/a\u003e add forward-compat error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/6a1d543e523a02bbaad43da7df594cedff242abd\"\u003e\u003ccode\u003e6a1d543\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3582\"\u003e#3582\u003c/a\u003e from pre-commit/move-gc-back\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/66278a9a0b69a69fde820d2b85a7e198eae52981\"\u003e\u003ccode\u003e66278a9\u003c/code\u003e\u003c/a\u003e move logic for gc back to commands.gc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/1b32c50bc7e2f6b603b7ce26ecdf67c9c9dee3c6\"\u003e\u003ccode\u003e1b32c50\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3579\"\u003e#3579\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/pre-commit/compare/v4.3.0...v4.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.13.3 to 0.14.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.7\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-28.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Handle string literal bindings in suspicious-url-open-usage (\u003ccode\u003eS310\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21469\"\u003e#21469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix \u003ccode\u003ePLR1708\u003c/code\u003e false positives on nested functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21177\"\u003e#21177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix suppression for empty dict without tuple key annotation (\u003ccode\u003ePLE1141\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21290\"\u003e#21290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add rule \u003ccode\u003eRUF066\u003c/code\u003e to detect unnecessary class properties (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21535\"\u003e#21535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Catch more dummy variable uses (\u003ccode\u003eRUF052\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19799\"\u003e#19799\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[server] Set severity for non-rule diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21559\"\u003e#21559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-implicit-str-concat\u003c/code\u003e] Avoid invalid fix in (\u003ccode\u003eISC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21517\"\u003e#21517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eparser\u003c/code\u003e] Fix panic when parsing IPython escape command expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21480\"\u003e#21480\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow partial fixability indicator in statistics output (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21513\"\u003e#21513\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikeleppane\"\u003e\u003ccode\u003e@​mikeleppane\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/senekor\"\u003e\u003ccode\u003e@​senekor\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ShaharNaveh\"\u003e\u003ccode\u003e@​ShaharNaveh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JumboBear\"\u003e\u003ccode\u003e@​JumboBear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prakhar1144\"\u003e\u003ccode\u003e@​prakhar1144\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tsvikas\"\u003e\u003ccode\u003e@​tsvikas\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AlexWaygood\"\u003e\u003ccode\u003e@​AlexWaygood\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.14.7\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.14.7/ruff-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/astral-sh/ruff/releases/download/0.14.7/ruff-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.7\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-28.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Handle string literal bindings in suspicious-url-open-usage (\u003ccode\u003eS310\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21469\"\u003e#21469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix \u003ccode\u003ePLR1708\u003c/code\u003e false positives on nested functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21177\"\u003e#21177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix suppression for empty dict without tuple key annotation (\u003ccode\u003ePLE1141\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21290\"\u003e#21290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add rule \u003ccode\u003eRUF066\u003c/code\u003e to detect unnecessary class properties (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21535\"\u003e#21535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Catch more dummy variable uses (\u003ccode\u003eRUF052\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19799\"\u003e#19799\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[server] Set severity for non-rule diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21559\"\u003e#21559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-implicit-str-concat\u003c/code\u003e] Avoid invalid fix in (\u003ccode\u003eISC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21517\"\u003e#21517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eparser\u003c/code\u003e] Fix panic when parsing IPython escape command expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21480\"\u003e#21480\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow partial fixability indicator in statistics output (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21513\"\u003e#21513\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikeleppane\"\u003e\u003ccode\u003e@​mikeleppane\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/senekor\"\u003e\u003ccode\u003e@​senekor\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ShaharNaveh\"\u003e\u003ccode\u003e@​ShaharNaveh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JumboBear\"\u003e\u003ccode\u003e@​JumboBear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prakhar1144\"\u003e\u003ccode\u003e@​prakhar1144\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tsvikas\"\u003e\u003ccode\u003e@​tsvikas\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AlexWaygood\"\u003e\u003ccode\u003e@​AlexWaygood\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.14.6\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-21.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Support new PySNMP API paths (\u003ccode\u003eS508\u003c/code\u003e, \u003ccode\u003eS509\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21374\"\u003e#21374\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdjust own-line comment placement between branches (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21185\"\u003e#21185\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid syntax error when formatting attribute expressions with outer parentheses, parenthesized value, and trailing comment on value (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20418\"\u003e#20418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic when formatting comments in unary expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21501\"\u003e#21501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect \u003ccode\u003efmt: skip\u003c/code\u003e for compound statements on a single line (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20633\"\u003e#20633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Fix \u003ccode\u003eFURB103\u003c/code\u003e autofix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21454\"\u003e#21454\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/ecab623fb2fe3846de4cafa0dfef0385a7245941\"\u003e\u003ccode\u003eecab623\u003c/code\u003e\u003c/a\u003e Bump 0.14.7 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21684\"\u003e#21684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/42f152108aad444b7d65359aea931be4dd15dffd\"\u003e\u003ccode\u003e42f1521\u003c/code\u003e\u003c/a\u003e [ty] Generic types aliases (implicit and PEP 613) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21553\"\u003e#21553\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/594b7b04d3b04bcf42861f86207017c8117678ca\"\u003e\u003ccode\u003e594b7b0\u003c/code\u003e\u003c/a\u003e [ty] Preserve quoting style when autofixing \u003ccode\u003eTypedDict\u003c/code\u003e keys (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21682\"\u003e#21682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b5b4917d7f4a324f5d32cc55dfb1d08e75cc9e6f\"\u003e\u003ccode\u003eb5b4917\u003c/code\u003e\u003c/a\u003e [ty] Fix override of final method summary (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21681\"\u003e#21681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/0084e94f78742685ddacf2dab28530c2ece3393e\"\u003e\u003ccode\u003e0084e94\u003c/code\u003e\u003c/a\u003e [ty] Fix subtyping of \u003ccode\u003etype[Any]\u003c/code\u003e / \u003ccode\u003etype[T]\u003c/code\u003e and protocols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21678\"\u003e#21678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/566c959add8c5aa5d25fd14db513c792e4048b50\"\u003e\u003ccode\u003e566c959\u003c/code\u003e\u003c/a\u003e [ty] Rename \u003ccode\u003eReferenceRequestHandler\u003c/code\u003e file (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21680\"\u003e#21680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8bcfc198b83051db0c8a3c7b8f0c8a8c339947c7\"\u003e\u003ccode\u003e8bcfc19\u003c/code\u003e\u003c/a\u003e [ty] Implement \u003ccode\u003etyping.final\u003c/code\u003e for methods (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21646\"\u003e#21646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c534bfaf01671b8020edd440bc7f4f22070af583\"\u003e\u003ccode\u003ec534bfa\u003c/code\u003e\u003c/a\u003e [ty] Implement patterns and typevars in the LSP (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21671\"\u003e#21671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/5e1b2eef5797b00de8329bf38ceacf5cacd00c87\"\u003e\u003ccode\u003e5e1b2ee\u003c/code\u003e\u003c/a\u003e [ty] implement rendering of \u003ccode\u003e.. code:: lang\u003c/code\u003e in docstrings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21665\"\u003e#21665\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/98681b9356bd0b8ef086cc54118b58de532c5310\"\u003e\u003ccode\u003e98681b9\u003c/code\u003e\u003c/a\u003e [ty] Add \u003ccode\u003edb\u003c/code\u003e parameter to \u003ccode\u003eParameters::new\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21674\"\u003e#21674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.13.3...0.14.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 8.4.2 to 9.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.0.1\u003c/h2\u003e\n\u003ch1\u003epytest 9.0.1 (2025-11-12)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13895\"\u003e#13895\u003c/a\u003e: Restore support for skipping tests via \u003ccode\u003eraise unittest.SkipTest\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13896\"\u003e#13896\u003c/a\u003e: The terminal progress plugin added in pytest 9.0 is now automatically disabled when iTerm2 is detected, it generated desktop notifications instead of the desired functionality.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13904\"\u003e#13904\u003c/a\u003e: Fixed the TOML type of the verbosity settings in the API reference from number to string.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13910\"\u003e#13910\u003c/a\u003e: Fixed \u003c!-- raw HTML omitted --\u003eUserWarning: Do not expect file_or_dir\u003c!-- raw HTML omitted --\u003e on some earlier Python 3.12 and 3.13 point versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePackaging updates and notes for downstreams\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13933\"\u003e#13933\u003c/a\u003e: The tox configuration has been adjusted to make sure the desired\nversion string can be passed into its \u003ccode\u003epackage_env\u003c/code\u003e through\nthe \u003ccode\u003eSETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTEST\u003c/code\u003e environment\nvariable as a part of the release process -- by \u003ccode\u003ewebknjaz\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributor-facing changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13891\"\u003e#13891\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13942\"\u003e#13942\u003c/a\u003e: The CI/CD part of the release automation is now capable of\ncreating GitHub Releases without having a Git checkout on\ndisk -- by \u003ccode\u003ebluetech\u003c/code\u003e and \u003ccode\u003ewebknjaz\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13933\"\u003e#13933\u003c/a\u003e: The tox configuration has been adjusted to make sure the desired\nversion string can be passed into its \u003ccode\u003epackage_env\u003c/code\u003e through\nthe \u003ccode\u003eSETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTEST\u003c/code\u003e environment\nvariable as a part of the release process -- by \u003ccode\u003ewebknjaz\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.0.0\u003c/h2\u003e\n\u003ch1\u003epytest 9.0.0 (2025-11-05)\u003c/h1\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/1367\"\u003e#1367\u003c/a\u003e: \u003cstrong\u003eSupport for subtests\u003c/strong\u003e has been added.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003esubtests \u0026lt;subtests\u0026gt;\u003c/code\u003e are an alternative to parametrization, useful in situations where the parametrization values are not all known at collection time.\u003c/p\u003e\n\u003cp\u003eExample:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003edef contains_docstring(p: Path) -\u0026gt; bool:\n    \u0026quot;\u0026quot;\u0026quot;Return True if the given Python file contains a top-level docstring.\u0026quot;\u0026quot;\u0026quot;\n    ...\n\u003cp\u003edef test_py_files_contain_docstring(subtests: pytest.Subtests) -\u0026gt; None:\u003cbr /\u003e\nfor path in Path.cwd().glob(\u0026quot;*.py\u0026quot;):\u003cbr /\u003e\nwith subtests.test(path=str(path)):\u003cbr /\u003e\nassert contains_docstring(path)\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/d1b64aa60b9e1a0fcfaf03af7ebeb185f1024a87\"\u003e\u003ccode\u003ed1b64aa\u003c/code\u003e\u003c/a\u003e Prepare release version 9.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/0a497c7b213ea950821319fd80dce219b0033f32\"\u003e\u003ccode\u003e0a497c7\u003c/code\u003e\u003c/a\u003e regendoc: remove CI environment variables (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13950\"\u003e#13950\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13951\"\u003e#13951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/a9f7e6ed579b8844e302067b7f05122b82993355\"\u003e\u003ccode\u003ea9f7e6e\u003c/code\u003e\u003c/a\u003e 🧪 Run \u003ccode\u003egh release\u003c/code\u003e w/o Git in CI/CD (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13942\"\u003e#13942\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13947\"\u003e#13947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/2682a6607304f1f5bb5a2140340003cdf5121bc4\"\u003e\u003ccode\u003e2682a66\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13944\"\u003e#13944\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/bef7d34f1...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/a999997e36c53d189ecded3369bf35bfe2be96ad\"\u003e\u003ccode\u003ea999997\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13941\"\u003e#13941\u003c/a\u003e from nicoddemus/min-pre-commit-version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/4bd63a0ead81d740aa767a4384d3b0b4c18f2ef2\"\u003e\u003ccode\u003e4bd63a0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13935\"\u003e#13935\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/ce8b8a7b4...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/15f93b332c1c3ec9c200c0ad3d55af5a2158e0db\"\u003e\u003ccode\u003e15f93b3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13933\"\u003e#13933\u003c/a\u003e from webknjaz/maintenance/tox-pep517-env-setuptools...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/0fa11ae3f79d06dc9e2f1f7c81ade4a1126d9ef3\"\u003e\u003ccode\u003e0fa11ae\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13927\"\u003e#13927\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/3d8075743...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/fa454700133c7b2cc960cba3b1cd09cc048c25a0\"\u003e\u003ccode\u003efa45470\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13926\"\u003e#13926\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/d587e0cf8...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b4e3973505a2b7a2caa17ccc392d91a6ad73e122\"\u003e\u003ccode\u003eb4e3973\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13922\"\u003e#13922\u003c/a\u003e from bluetech/fix-argparse-userwarning\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/8.4.2...9.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `matplotlib` from 3.10.6 to 3.10.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/matplotlib/matplotlib/releases\"\u003ematplotlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREL: v3.10.7\u003c/h2\u003e\n\u003cp\u003eThis is the latest bugfix release in the 3.10.x series.\u003c/p\u003e\n\u003cp\u003eThe most important update in this release is that the minimum version\nof \u003ccode\u003epyparsing\u003c/code\u003e has been updated to version 3.0.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/4aeb773422464799998d900198b35cb80e94b3e1\"\u003e\u003ccode\u003e4aeb773\u003c/code\u003e\u003c/a\u003e REL: v3.10.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/080add32f6b3c82075ccfb1111b21d5ff9e9c075\"\u003e\u003ccode\u003e080add3\u003c/code\u003e\u003c/a\u003e Merge branch 'v3.10.6-doc' into v3.10.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/a604a8beed19bdda1355a29a12ab2904367cf140\"\u003e\u003ccode\u003ea604a8b\u003c/code\u003e\u003c/a\u003e Github Stats v3.10.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/f550261fadf30702a42bc85f71e3489a3c2f6b99\"\u003e\u003ccode\u003ef550261\u003c/code\u003e\u003c/a\u003e Zenodo v3.10.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/9a5e3e4253a3deaa5c83451b1208b5d46759ff7c\"\u003e\u003ccode\u003e9a5e3e4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30628\"\u003e#30628\u003c/a\u003e from meeseeksmachine/auto-backport-of-pr-30626-on-v...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/eb8cb0ce31f6965713a5d46fe4fadf2dffb74773\"\u003e\u003ccode\u003eeb8cb0c\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30626\"\u003e#30626\u003c/a\u003e: MNT: Fix new F401 unused imports warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/8fadc71e0e372f05aa0305ef425c5152d70d6f39\"\u003e\u003ccode\u003e8fadc71\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/29745\"\u003e#29745\u003c/a\u003e: Use PEP8 style method and function names from (\u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30589\"\u003e#30589\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/098876ee6f695f6c5297d4cf3f974c9d64ff4c79\"\u003e\u003ccode\u003e098876e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30614\"\u003e#30614\u003c/a\u003e from meeseeksmachine/auto-backport-of-pr-30612-on-v...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/eb42d8637ba5891aa806fa6b0ed73835c16b2741\"\u003e\u003ccode\u003eeb42d86\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30612\"\u003e#30612\u003c/a\u003e: MNT: update black pin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/4a9c187a73fce92074b262612b3285dcff2d615e\"\u003e\u003ccode\u003e4a9c187\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30572\"\u003e#30572\u003c/a\u003e from QuLogic/auto-backport-of-pr-30571-on-v3.10.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/matplotlib/matplotlib/compare/v3.10.6...v3.10.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `deptry` from 0.23.1 to 0.24.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fpgmaas/deptry/releases\"\u003edeptry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.24.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003ch4\u003ePython 3.9 support dropped\u003c/h4\u003e\n\u003cp\u003eSupport for Python 3.9 has been dropped, as it has reached its end of life.\u003c/p\u003e\n\u003ch4\u003ePyPy 3.10 support dropped, 3.11 added\u003c/h4\u003e\n\u003cp\u003eSupport for PyPy 3.10 has been dropped, since it is unsupported. We now only test against PyPy 3.11, and only publish wheels for this version.\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd GitHub Actions annotations reporter (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1059\"\u003e#1059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.14 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1224\"\u003e#1224\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1328\"\u003e#1328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePublish wheels for PyPy 3.11 and drop 3.10 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1227\"\u003e#1227\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFull Changelog\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/compare/0.23.1...0.24.0\"\u003ehttps://github.com/fpgmaas/deptry/compare/0.23.1...0.24.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/fpgmaas/deptry/blob/main/CHANGELOG.md\"\u003edeptry's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.24.0 - 2025-11-09\u003c/h2\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003ch4\u003ePython 3.9 support dropped\u003c/h4\u003e\n\u003cp\u003eSupport for Python 3.9 has been dropped, as it has reached its end of life.\u003c/p\u003e\n\u003ch4\u003ePyPy 3.10 support dropped, 3.11 added\u003c/h4\u003e\n\u003cp\u003eSupport for PyPy 3.10 has been dropped, since it is unsupported. We now only test against PyPy 3.11, and only publish wheels for this version.\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd GitHub Actions annotations reporter (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1059\"\u003e#1059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.14 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1224\"\u003e#1224\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1328\"\u003e#1328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePublish wheels for PyPy 3.11 and drop 3.10 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1227\"\u003e#1227\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFull Changelog\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/compare/0.23.1...0.24.0\"\u003ehttps://github.com/fpgmaas/deptry/compare/0.23.1...0.24.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/4cc2d65ce1343957c911ca45709d6080cb9f82c3\"\u003e\u003ccode\u003e4cc2d65\u003c/code\u003e\u003c/a\u003e docs(changelog): add 0.24.0 release notes (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1330\"\u003e#1330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/8757b318e9974bbfa7ec65dabf999bc935ac026f\"\u003e\u003ccode\u003e8757b31\u003c/code\u003e\u003c/a\u003e chore: sync all dependency groups by default and run mypy locally (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1337\"\u003e#1337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/5ebc5c066831dd3dfeef7e79a4ae4f5934d744b9\"\u003e\u003ccode\u003e5ebc5c0\u003c/code\u003e\u003c/a\u003e feat: add github annotations reporter (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1059\"\u003e#1059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/aa59b6fa66bd3468ad681317de14189606a9c04e\"\u003e\u003ccode\u003eaa59b6f\u003c/code\u003e\u003c/a\u003e fix(deps): update ruff rust to v0.14.4 (patch) (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1335\"\u003e#1335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/87a6b87428641bc7cab3b22d00d788e28ed86ae9\"\u003e\u003ccode\u003e87a6b87\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1336\"\u003e#1336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/6b938ae73633b1a1f46e3888c9673b49d5e9dd60\"\u003e\u003ccode\u003e6b938ae\u003c/code\u003e\u003c/a\u003e chore(deps): update uv-version to v0.9.8 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1334\"\u003e#1334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/92c35bab5ad0a11d2becc31e4cdbe4413a746233\"\u003e\u003ccode\u003e92c35ba\u003c/code\u003e\u003c/a\u003e chore(deps): update pre-commit hook woodruffw/zizmor-pre-commit to v1.16.3 (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/a8be2902812426acaf00ff344dc93a48f30d48d7\"\u003e\u003ccode\u003ea8be290\u003c/code\u003e\u003c/a\u003e chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.14.4 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1332\"\u003e#1332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/6abefd1237071ba0e8d3fc1c9e02a402ccde11f6\"\u003e\u003ccode\u003e6abefd1\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency mkdocs-material to v9.6.23 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1331\"\u003e#1331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/6b556861d72024d1f8b5f8c8ead9d1b48cef0f9e\"\u003e\u003ccode\u003e6b55686\u003c/code\u003e\u003c/a\u003e test: update all test dependencies (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1313\"\u003e#1313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fpgmaas/deptry/compare/0.23.1...0.24.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyarrow` from 21.0.0 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/arrow/releases\"\u003epyarrow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Arrow 22.0.0\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/22.0.0.html\"\u003ehttps://arrow.apache.org/release/22.0.0.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 22.0.0 RC1\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 22.0.0 RC1\u003c/p\u003e\n\u003ch2\u003eApache Arrow 22.0.0 RC0\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 22.0.0 RC0\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/5aeb5f217f1ba39c428c9b481f393bd37097f69e\"\u003e\u003ccode\u003e5aeb5f2\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update versions for 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/81563ad2c53f886a4901191e0f2d05238398e177\"\u003e\u003ccode\u003e81563ad\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update .deb/.rpm changelogs for 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/c5055366fb5d6ae6a7c51ae50135ebf3203b48af\"\u003e\u003ccode\u003ec505536\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update CHANGELOG.md for 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/e04fafb1242ce428b5068f075de58579992f8c5c\"\u003e\u003ccode\u003ee04fafb\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/47838\"\u003eGH-47838\u003c/a\u003e: [C++][Parquet] Set Variant specification version to 1 to align with...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/07e4d5aeadf0c24542309edc3056ed26dfc5f49c\"\u003e\u003ccode\u003e07e4d5a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/47819\"\u003eGH-47819\u003c/a\u003e: [CI][Packaging][Release] Avoid triggering Linux packages on release...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/e2fa94cf96c5b21924451ca52a6b522618c28a9e\"\u003e\u003ccode\u003ee2fa94c\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/47809\"\u003eGH-47809\u003c/a\u003e: [CI][Release] Fix Windows verification job trying to install patch ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/2140934e4d79587ffa91e5d1462ac7ee673d2df0\"\u003e\u003ccode\u003e2140934\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/47738\"\u003eGH-47738\u003c/a\u003e: [R] Update NEWS.md for 22.0.0 (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/47739\"\u003e#47739\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/08f5304074ce550c342f97e107081ea61a51e3da\"\u003e\u003ccode\u003e08f5304\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/47803\"\u003eGH-47803\u003c/a\u003e: [C++][Parquet] Fix read out of bounds on invalid RLE data (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/47804\"\u003e#47804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/d5b8e2b151730312ef80a975627ef7ff2423a232\"\u003e\u003ccode\u003ed5b8e2b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/47438\"\u003eGH-47438\u003c/a\u003e: [Python][Packaging] Set up wheel building for Python 3.14 (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/47616\"\u003e#47616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/618f6090118606f83a93cdd88e47868db9c61b8f\"\u003e\u003ccode\u003e618f609\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/47795\"\u003eGH-47795\u003c/a\u003e: [Archery] Add support for custom Docker registry (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/47796\"\u003e#47796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/arrow/compare/apache-arrow-21.0.0...apache-arrow-22.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `anyio` from 4.11.0 to 4.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/agronholm/anyio/releases\"\u003eanyio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.12.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for asyncio's \u003ca href=\"https://docs.python.org/3/library/asyncio-graph.html\"\u003etask call graphs\u003c/a\u003e on Python 3.14 and later when using AnyIO's task groups (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded an asynchronous implementation of the \u003ccode\u003efunctools\u003c/code\u003e module (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1001\"\u003e#1001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003euvloop=True\u003c/code\u003e on Windows via the \u003ca href=\"https://github.com/Vizonex/Winloop\"\u003ewinloop\u003c/a\u003e implementation (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/960\"\u003e#960\u003c/a\u003e; PR by \u003ca href=\"https://github.com/Vizonex\"\u003e\u003ccode\u003e@​Vizonex\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded support for use as a context manager to \u003ccode\u003eanyio.lowlevel.RunVar\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1003\"\u003e#1003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003e__all__\u003c/code\u003e declarations to public submodules (\u003ccode\u003eanyio.lowlevel\u003c/code\u003e etc.) (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1009\"\u003e#1009\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded the ability to set the token count of a \u003ccode\u003eCapacityLimiter\u003c/code\u003e to zero (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1019\"\u003e#1019\u003c/a\u003e; requires Python 3.10 or later when using Trio)\u003c/li\u003e\n\u003cli\u003eAdded parameters \u003ccode\u003ecase_sensitive\u003c/code\u003e and \u003ccode\u003erecurse_symlinks\u003c/code\u003e along with support for path-like objects to \u003ccode\u003eanyio.Path.glob()\u003c/code\u003e and \u003ccode\u003eanyio.Path.rglob()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1033\"\u003e#1033\u003c/a\u003e; PR by \u003ca href=\"https://github.com/northisup\"\u003e\u003ccode\u003e@​northisup\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDropped \u003ccode\u003esniffio\u003c/code\u003e as a direct dependency and added the \u003ccode\u003eget_available_backends()\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1021\"\u003e#1021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eProcess.stdin.send()\u003c/code\u003e not raising \u003ccode\u003eClosedResourceError\u003c/code\u003e and \u003ccode\u003eBrokenResourceError\u003c/code\u003e on asyncio. Previously, a non-AnyIO exception was raised in such cases (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/671\"\u003e#671\u003c/a\u003e; PR by \u003ca href=\"https://github.com/gschaffner\"\u003e\u003ccode\u003e@​gschaffner\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eProcess.stdin.send()\u003c/code\u003e not checkpointing before writing data on asyncio (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1002\"\u003e#1002\u003c/a\u003e; PR by \u003ca href=\"https://github.com/gschaffner\"\u003e\u003ccode\u003e@​gschaffner\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a race condition where cancelling a \u003ccode\u003eFuture\u003c/code\u003e from \u003ccode\u003eBlockingPortal.start_task_soon()\u003c/code\u003e would sometimes not cancel the async function (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1011\"\u003e#1011\u003c/a\u003e; PR by \u003ca href=\"https://github.com/gschaffner\"\u003e\u003ccode\u003e@​gschaffner\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the presence of the pytest plugin causing breakage with older versions of pytest (\u0026lt;= 6.1.2) (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1028\"\u003e#1028\u003c/a\u003e; PR by \u003ca href=\"https://github.com/saper\"\u003e\u003ccode\u003e@​saper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a rarely occurring \u003ccode\u003eRuntimeError: Set changed size during iteration\u003c/code\u003e while shutting down the process pool when using the asyncio backend (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/985\"\u003e#985\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/bc021b634291223d6829c0a689152173443a8545\"\u003e\u003ccode\u003ebc021b6\u003c/code\u003e\u003c/a\u003e Fixed the download-artifact settings to retain the expected behavior\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/c6000aa2837f75733f3c09c454f5a31eb9f9f536\"\u003e\u003ccode\u003ec6000aa\u003c/code\u003e\u003c/a\u003e Corrected the format of the version in the changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/9d1bfe0da4261bcef3c10cd31218237805a89937\"\u003e\u003ccode\u003e9d1bfe0\u003c/code\u003e\u003c/a\u003e Bumped up the version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/77f7ce25e12c9becf5081105a47b1914e50a3e0a\"\u003e\u003ccode\u003e77f7ce2\u003c/code\u003e\u003c/a\u003e Fixed RuntimeError while shutting down the asyncio process pool (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1039\"\u003e#1039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/aecc666e6b3b40f977ee715d141bdd89711b45cb\"\u003e\u003ccode\u003eaecc666\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/e5569adf98394dfabebccf215a04d05d7819b506\"\u003e\u003ccode\u003ee5569ad\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1037\"\u003e#1037\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/dde3ab8583cb194e663f6fb87703a4a79e2701eb\"\u003e\u003ccode\u003edde3ab8\u003c/code\u003e\u003c/a\u003e Moved a changelog entry to its correct position\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/250d4f183245bf7ee5ead0ff39d521cda2b8d617\"\u003e\u003ccode\u003e250d4f1\u003c/code\u003e\u003c/a\u003e Restore compatibility with pytest\u0026lt;=6.1.2 (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/3708e227838e2f51464900cf806b25c30ca458a7\"\u003e\u003ccode\u003e3708e22\u003c/code\u003e\u003c/a\u003e Fixed a typo in the documentation (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1035\"\u003e#1035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/9adbe08c55e725b0388dcc4ab7556875da881a4c\"\u003e\u003ccode\u003e9adbe08\u003c/code\u003e\u003c/a\u003e Add new params to Path.glob \u0026amp; Path.rglob introduced since 3.12 (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1034\"\u003e#1034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/agronholm/anyio/compare/4.11.0...4.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `arrow` 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/arrow-py/arrow/releases\"\u003earrow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.4.0\u003c/h2\u003e\n\u003ch2\u003eADDED\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eweek_start\u003c/code\u003e parameter to \u003ccode\u003efloor()\u003c/code\u003e and \u003ccode\u003eceil()\u003c/code\u003e methods. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1222\"\u003e#1222\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1222\"\u003earrow-py/arrow#1222\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eFORMAT_RFC3339_STRICT\u003c/code\u003e with a T separator. [PR \u003ca href=\"https://redirect.github.c...\n\n_Description has been truncated_","html_url":"https://github.com/statisticsnorway/ssb-pre-system/pull/111","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/statisticsnorway%2Fssb-pre-system/issues/111","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/111/packages"},{"uuid":"3577808956","node_id":"PR_kwDOJpUnI86w-nyM","number":107,"state":"closed","title":"Bump the poetry-dependencies group with 31 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-12-01T13:12:57.000Z","author_association":null,"state_reason":null,"created_at":"2025-11-01T10:33:09.000Z","updated_at":"2025-12-01T13:12:59.000Z","time_to_close":2601588,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"poetry-dependencies","update_count":31,"packages":[{"name":"coverage","old_version":"7.10.7","new_version":"7.11.0","repository_url":"https://github.com/nedbat/coveragepy"},{"name":"ruff","old_version":"0.13.3","new_version":"0.14.3","repository_url":"https://github.com/astral-sh/ruff"},{"name":"matplotlib","old_version":"3.10.6","new_version":"3.10.7","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"pyarrow","old_version":"21.0.0","new_version":"22.0.0","repository_url":"https://github.com/apache/arrow"},{"name":"arrow","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/arrow-py/arrow"},{"name":"bleach","old_version":"6.2.0","new_version":"6.3.0","repository_url":"https://github.com/mozilla/bleach"},{"name":"charset-normalizer","old_version":"3.4.3","new_version":"3.4.4","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"filelock","old_version":"3.19.1","new_version":"3.20.0","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"idna","old_version":"3.10","new_version":"3.11","repository_url":"https://github.com/kjd/idna"},{"name":"iniconfig","old_version":"2.1.0","new_version":"2.3.0","repository_url":"https://github.com/pytest-dev/iniconfig"},{"name":"ipykernel","old_version":"6.30.1","new_version":"7.1.0","repository_url":"https://github.com/ipython/ipykernel"},{"name":"jupyter-core","old_version":"5.8.1","new_version":"5.9.1","repository_url":"https://github.com/jupyter/jupyter_core"},{"name":"jupyterlab","old_version":"4.4.9","new_version":"4.4.10","repository_url":"https://github.com/jupyterlab/jupyterlab"},{"name":"jupyterlab-server","old_version":"2.27.3","new_version":"2.28.0","repository_url":"https://github.com/jupyterlab/jupyterlab_server"},{"name":"lark","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/lark-parser/lark"},{"name":"matplotlib-inline","old_version":"0.1.7","new_version":"0.2.1","repository_url":"https://github.com/ipython/matplotlib-inline"},{"name":"numexpr","old_version":"2.13.1","new_version":"2.14.1","repository_url":"https://github.com/pydata/numexpr"},{"name":"pillow","old_version":"11.3.0","new_version":"12.0.0","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"platformdirs","old_version":"4.4.0","new_version":"4.5.0","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"psutil","old_version":"7.1.0","new_version":"7.1.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"pytokens","old_version":"0.1.10","new_version":"0.2.0","repository_url":"https://github.com/tusharsadhwani/pytokens"},{"name":"referencing","old_version":"0.36.2","new_version":"0.37.0","repository_url":"https://github.com/python-jsonschema/referencing"},{"name":"rpds-py","old_version":"0.27.1","new_version":"0.28.0","repository_url":"https://github.com/crate-py/rpds"},{"name":"ruamel-yaml","old_version":"0.18.15","new_version":"0.18.16"},{"name":"starlette","old_version":"0.48.0","new_version":"0.49.1","repository_url":"https://github.com/Kludex/starlette"},{"name":"tomli","old_version":"2.2.1","new_version":"2.3.0","repository_url":"https://github.com/hukkin/tomli"},{"name":"uvicorn","old_version":"0.37.0","new_version":"0.38.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"virtualenv","old_version":"20.34.0","new_version":"20.35.4","repository_url":"https://github.com/pypa/virtualenv"},{"name":"watchfiles","old_version":"1.1.0","new_version":"1.1.1","repository_url":"https://github.com/samuelcolvin/watchfiles"},{"name":"webcolors","old_version":"24.11.1","new_version":"25.10.0","repository_url":"https://github.com/ubernostrum/webcolors"},{"name":"websocket-client","old_version":"1.8.0","new_version":"1.9.0","repository_url":"https://github.com/websocket-client/websocket-client"}],"path":null,"ecosystem":"pip"},"body":"Bumps the poetry-dependencies group with 31 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [coverage](https://github.com/nedbat/coveragepy) | `7.10.7` | `7.11.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.13.3` | `0.14.3` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.10.6` | `3.10.7` |\n| [pyarrow](https://github.com/apache/arrow) | `21.0.0` | `22.0.0` |\n| [arrow](https://github.com/arrow-py/arrow) | `1.3.0` | `1.4.0` |\n| [bleach](https://github.com/mozilla/bleach) | `6.2.0` | `6.3.0` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.3` | `3.4.4` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.19.1` | `3.20.0` |\n| [idna](https://github.com/kjd/idna) | `3.10` | `3.11` |\n| [iniconfig](https://github.com/pytest-dev/iniconfig) | `2.1.0` | `2.3.0` |\n| [ipykernel](https://github.com/ipython/ipykernel) | `6.30.1` | `7.1.0` |\n| [jupyter-core](https://github.com/jupyter/jupyter_core) | `5.8.1` | `5.9.1` |\n| [jupyterlab](https://github.com/jupyterlab/jupyterlab) | `4.4.9` | `4.4.10` |\n| [jupyterlab-server](https://github.com/jupyterlab/jupyterlab_server) | `2.27.3` | `2.28.0` |\n| [lark](https://github.com/lark-parser/lark) | `1.3.0` | `1.3.1` |\n| [matplotlib-inline](https://github.com/ipython/matplotlib-inline) | `0.1.7` | `0.2.1` |\n| [numexpr](https://github.com/pydata/numexpr) | `2.13.1` | `2.14.1` |\n| [pillow](https://github.com/python-pillow/Pillow) | `11.3.0` | `12.0.0` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.4.0` | `4.5.0` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.1.0` | `7.1.2` |\n| [pytokens](https://github.com/tusharsadhwani/pytokens) | `0.1.10` | `0.2.0` |\n| [referencing](https://github.com/python-jsonschema/referencing) | `0.36.2` | `0.37.0` |\n| [rpds-py](https://github.com/crate-py/rpds) | `0.27.1` | `0.28.0` |\n| ruamel-yaml | `0.18.15` | `0.18.16` |\n| [starlette](https://github.com/Kludex/starlette) | `0.48.0` | `0.49.1` |\n| [tomli](https://github.com/hukkin/tomli) | `2.2.1` | `2.3.0` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.37.0` | `0.38.0` |\n| [virtualenv](https://github.com/pypa/virtualenv) | `20.34.0` | `20.35.4` |\n| [watchfiles](https://github.com/samuelcolvin/watchfiles) | `1.1.0` | `1.1.1` |\n| [webcolors](https://github.com/ubernostrum/webcolors) | `24.11.1` | `25.10.0` |\n| [websocket-client](https://github.com/websocket-client/websocket-client) | `1.8.0` | `1.9.0` |\n\nUpdates `coverage` from 7.10.7 to 7.11.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst\"\u003ecoverage's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 7.11.0 — 2025-10-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9, declared support for Python 3.15 alpha.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _changes_7-10-7:\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/20ef00b4abc33a52ffcb10de4d3144e29dbea6a3\"\u003e\u003ccode\u003e20ef00b\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/5edf8ebf1f9754b32bad92d4826ed651614d9b94\"\u003e\u003ccode\u003e5edf8eb\u003c/code\u003e\u003c/a\u003e docs: prep for 7.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/2c023ae7a1c50e375d20c31b0b8c693416ba92a5\"\u003e\u003ccode\u003e2c023ae\u003c/code\u003e\u003c/a\u003e build: 3.15 is supported\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/2f1b95b0bd913397da3236155ca78e2117731247\"\u003e\u003ccode\u003e2f1b95b\u003c/code\u003e\u003c/a\u003e refactor: no need for _BaseCoverageException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/72b1bcc77e0062eefaf9d1da40c6b8c2ef0ec27e\"\u003e\u003ccode\u003e72b1bcc\u003c/code\u003e\u003c/a\u003e build: test light-threads on all versions of Python\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/16e93797527eada3417afc439fc4b28a432d6efc\"\u003e\u003ccode\u003e16e9379\u003c/code\u003e\u003c/a\u003e refactor: move core tests to their own file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/bc8875db8f98439c046f4c141cb7aecdaa8d1f56\"\u003e\u003ccode\u003ebc8875d\u003c/code\u003e\u003c/a\u003e test: change a test to be in-process so metacov can capture its work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/8e5d5b1bd53147e8618019191a062d2b86747355\"\u003e\u003ccode\u003e8e5d5b1\u003c/code\u003e\u003c/a\u003e build: tweak some version info\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/b0236dffef02f1aa219326b96230bdf26b9f5e6c\"\u003e\u003ccode\u003eb0236df\u003c/code\u003e\u003c/a\u003e test: more tests for core selection, and some refactoring of them\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/56edde623ae497c3638e608ef6803583c1db8720\"\u003e\u003ccode\u003e56edde6\u003c/code\u003e\u003c/a\u003e build: next version will be 7.11.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nedbat/coveragepy/compare/7.10.7...7.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.13.3 to 0.14.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.3\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-10-30.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRespect \u003ccode\u003e--output-format\u003c/code\u003e with \u003ccode\u003e--watch\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21097\"\u003e#21097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epydoclint\u003c/code\u003e] Fix false positive on explicit exception re-raising (\u003ccode\u003eDOC501\u003c/code\u003e, \u003ccode\u003eDOC502\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21011\"\u003e#21011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Revert to stable behavior if imports for module lie in alternate branches for \u003ccode\u003eF401\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20878\"\u003e#20878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Implement \u003ccode\u003estop-iteration-return\u003c/code\u003e (\u003ccode\u003ePLR1708\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20733\"\u003e#20733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add support for additional eager conversion patterns (\u003ccode\u003eRUF065\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20657\"\u003e#20657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix finding keyword range for clause header after statement ending with semicolon (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21067\"\u003e#21067\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix syntax error false positive on nested alternative patterns (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21104\"\u003e#21104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eISC001\u003c/code\u003e] Fix panic when string literals are unclosed (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21034\"\u003e#21034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-django\u003c/code\u003e] Apply \u003ccode\u003eDJ001\u003c/code\u003e to annotated fields (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20907\"\u003e#20907\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix \u003ccode\u003ePYI034\u003c/code\u003e to not trigger on metaclasses (\u003ccode\u003ePYI034\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20881\"\u003e#20881\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Fix \u003ccode\u003eTC003\u003c/code\u003e false positive with \u003ccode\u003efuture-annotations\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21125\"\u003e#21125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Fix false positive for \u003ccode\u003e__class__\u003c/code\u003e in lambda expressions within class definitions (\u003ccode\u003eF821\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20564\"\u003e#20564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix false positive for \u003ccode\u003eTypeVar\u003c/code\u003e with default on Python \u0026lt;3.13 (\u003ccode\u003eUP046\u003c/code\u003e,\u003ccode\u003eUP047\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21045\"\u003e#21045\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing docstring sections to the numpy list (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20931\"\u003e#20931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Extend \u003ccode\u003eairflow.models..Param\u003c/code\u003e check (\u003ccode\u003eAIR311\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21043\"\u003e#21043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Warn that \u003ccode\u003eairflow....DAG.create_dagrun\u003c/code\u003e has been removed (\u003ccode\u003eAIR301\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21093\"\u003e#21093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Preserve digit separators in \u003ccode\u003eDecimal\u003c/code\u003e constructor (\u003ccode\u003eFURB157\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20588\"\u003e#20588\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid sending an unnecessary \u0026quot;clear diagnostics\u0026quot; message for clients supporting pull diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21105\"\u003e#21105\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Fix correct example for \u003ccode\u003eS308\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21128\"\u003e#21128\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClearer error message when \u003ccode\u003eline-length\u003c/code\u003e goes beyond threshold (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21072\"\u003e#21072\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jvacek\"\u003e\u003ccode\u003e@​jvacek\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/augustelalande\"\u003e\u003ccode\u003e@​augustelalande\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prakhar1144\"\u003e\u003ccode\u003e@​prakhar1144\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.3\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-10-30.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRespect \u003ccode\u003e--output-format\u003c/code\u003e with \u003ccode\u003e--watch\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21097\"\u003e#21097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epydoclint\u003c/code\u003e] Fix false positive on explicit exception re-raising (\u003ccode\u003eDOC501\u003c/code\u003e, \u003ccode\u003eDOC502\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21011\"\u003e#21011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Revert to stable behavior if imports for module lie in alternate branches for \u003ccode\u003eF401\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20878\"\u003e#20878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Implement \u003ccode\u003estop-iteration-return\u003c/code\u003e (\u003ccode\u003ePLR1708\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20733\"\u003e#20733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add support for additional eager conversion patterns (\u003ccode\u003eRUF065\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20657\"\u003e#20657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix finding keyword range for clause header after statement ending with semicolon (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21067\"\u003e#21067\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix syntax error false positive on nested alternative patterns (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21104\"\u003e#21104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eISC001\u003c/code\u003e] Fix panic when string literals are unclosed (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21034\"\u003e#21034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-django\u003c/code\u003e] Apply \u003ccode\u003eDJ001\u003c/code\u003e to annotated fields (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20907\"\u003e#20907\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix \u003ccode\u003ePYI034\u003c/code\u003e to not trigger on metaclasses (\u003ccode\u003ePYI034\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20881\"\u003e#20881\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Fix \u003ccode\u003eTC003\u003c/code\u003e false positive with \u003ccode\u003efuture-annotations\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21125\"\u003e#21125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Fix false positive for \u003ccode\u003e__class__\u003c/code\u003e in lambda expressions within class definitions (\u003ccode\u003eF821\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20564\"\u003e#20564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix false positive for \u003ccode\u003eTypeVar\u003c/code\u003e with default on Python \u0026lt;3.13 (\u003ccode\u003eUP046\u003c/code\u003e,\u003ccode\u003eUP047\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21045\"\u003e#21045\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing docstring sections to the numpy list (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20931\"\u003e#20931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Extend \u003ccode\u003eairflow.models..Param\u003c/code\u003e check (\u003ccode\u003eAIR311\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21043\"\u003e#21043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Warn that \u003ccode\u003eairflow....DAG.create_dagrun\u003c/code\u003e has been removed (\u003ccode\u003eAIR301\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21093\"\u003e#21093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Preserve digit separators in \u003ccode\u003eDecimal\u003c/code\u003e constructor (\u003ccode\u003eFURB157\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20588\"\u003e#20588\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid sending an unnecessary \u0026quot;clear diagnostics\u0026quot; message for clients supporting pull diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21105\"\u003e#21105\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Fix correct example for \u003ccode\u003eS308\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21128\"\u003e#21128\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClearer error message when \u003ccode\u003eline-length\u003c/code\u003e goes beyond threshold (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21072\"\u003e#21072\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jvacek\"\u003e\u003ccode\u003e@​jvacek\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/augustelalande\"\u003e\u003ccode\u003e@​augustelalande\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prakhar1144\"\u003e\u003ccode\u003e@​prakhar1144\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TaKO8Ki\"\u003e\u003ccode\u003e@​TaKO8Ki\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8737a2d5f5138d855ef4b3ff6982bd7684324eab\"\u003e\u003ccode\u003e8737a2d\u003c/code\u003e\u003c/a\u003e Bump v0.14.3 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21152\"\u003e#21152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/3be3a10a2fc6ddaafc13d1f5bca566282285be5f\"\u003e\u003ccode\u003e3be3a10\u003c/code\u003e\u003c/a\u003e [ty] Don't provide completions when in class or function definition (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21146\"\u003e#21146\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/13375d0e42bcf7e4dac346d8fad991b97222371d\"\u003e\u003ccode\u003e13375d0\u003c/code\u003e\u003c/a\u003e [ty] Use the top materialization of classes for narrowing in class-patterns f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c0b04d4b7cfd725a9ca1b92b8bc4d93a63c56c59\"\u003e\u003ccode\u003ec0b04d4\u003c/code\u003e\u003c/a\u003e [ty] Update \u0026quot;constraint implication\u0026quot; relation to work on constraints between ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1c7ea690a820deaa0e17ecf72593ebc4781f3752\"\u003e\u003ccode\u003e1c7ea69\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Fix \u003ccode\u003eTC003\u003c/code\u003e false positive with \u003ccode\u003efuture-annotations\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9bacd19c5a44594f44be1b0dcebd7ccf1777e633\"\u003e\u003ccode\u003e9bacd19\u003c/code\u003e\u003c/a\u003e [ty] Fix lookup of \u003ccode\u003e__new__\u003c/code\u003e on instances (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21147\"\u003e#21147\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/f0fe6d62fb6711d963c64f60b5dc8a558ffb4551\"\u003e\u003ccode\u003ef0fe6d6\u003c/code\u003e\u003c/a\u003e Fix syntax error false positive on nested alternative patterns (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21104\"\u003e#21104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/10bda3df00679c6808d8593470fe693ea8c9ae8f\"\u003e\u003ccode\u003e10bda3d\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epyupgrade\u003c/code\u003e] Fix false positive for \u003ccode\u003eTypeVar\u003c/code\u003e with default on Python \u0026lt;3.13 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e55bc943e5f8708aeaced34488ca5d790c388cee\"\u003e\u003ccode\u003ee55bc94\u003c/code\u003e\u003c/a\u003e [ty] Reachability and narrowing for enum methods (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21130\"\u003e#21130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1b0ee4677e216562033f8a2f9b006738734cb2b9\"\u003e\u003ccode\u003e1b0ee46\u003c/code\u003e\u003c/a\u003e [ty] Use \u003ccode\u003erange\u003c/code\u003e instead of custom \u003ccode\u003eIntIterable\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21138\"\u003e#21138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.13.3...0.14.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `matplotlib` from 3.10.6 to 3.10.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/matplotlib/matplotlib/releases\"\u003ematplotlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREL: v3.10.7\u003c/h2\u003e\n\u003cp\u003eThis is the latest bugfix release in the 3.10.x series.\u003c/p\u003e\n\u003cp\u003eThe most important update in this release is that the minimum version\nof \u003ccode\u003epyparsing\u003c/code\u003e has been updated to version 3.0.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/4aeb773422464799998d900198b35cb80e94b3e1\"\u003e\u003ccode\u003e4aeb773\u003c/code\u003e\u003c/a\u003e REL: v3.10.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/080add32f6b3c82075ccfb1111b21d5ff9e9c075\"\u003e\u003ccode\u003e080add3\u003c/code\u003e\u003c/a\u003e Merge branch 'v3.10.6-doc' into v3.10.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/a604a8beed19bdda1355a29a12ab2904367cf140\"\u003e\u003ccode\u003ea604a8b\u003c/code\u003e\u003c/a\u003e Github Stats v3.10.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/f550261fadf30702a42bc85f71e3489a3c2f6b99\"\u003e\u003ccode\u003ef550261\u003c/code\u003e\u003c/a\u003e Zenodo v3.10.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/9a5e3e4253a3deaa5c83451b1208b5d46759ff7c\"\u003e\u003ccode\u003e9a5e3e4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30628\"\u003e#30628\u003c/a\u003e from meeseeksmachine/auto-backport-of-pr-30626-on-v...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/eb8cb0ce31f6965713a5d46fe4fadf2dffb74773\"\u003e\u003ccode\u003eeb8cb0c\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30626\"\u003e#30626\u003c/a\u003e: MNT: Fix new F401 unused imports warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/8fadc71e0e372f05aa0305ef425c5152d70d6f39\"\u003e\u003ccode\u003e8fadc71\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/29745\"\u003e#29745\u003c/a\u003e: Use PEP8 style method and function names from (\u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30589\"\u003e#30589\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/098876ee6f695f6c5297d4cf3f974c9d64ff4c79\"\u003e\u003ccode\u003e098876e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30614\"\u003e#30614\u003c/a\u003e from meeseeksmachine/auto-backport-of-pr-30612-on-v...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/eb42d8637ba5891aa806fa6b0ed73835c16b2741\"\u003e\u003ccode\u003eeb42d86\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30612\"\u003e#30612\u003c/a\u003e: MNT: update black pin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/4a9c187a73fce92074b262612b3285dcff2d615e\"\u003e\u003ccode\u003e4a9c187\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30572\"\u003e#30572\u003c/a\u003e from QuLogic/auto-backport-of-pr-30571-on-v3.10.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/matplotlib/matplotlib/compare/v3.10.6...v3.10.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyarrow` from 21.0.0 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/arrow/releases\"\u003epyarrow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Arrow 22.0.0\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/22.0.0.html\"\u003ehttps://arrow.apache.org/release/22.0.0.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 22.0.0 RC1\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 22.0.0 RC1\u003c/p\u003e\n\u003ch2\u003eApache Arrow 22.0.0 RC0\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 22.0.0 RC0\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/5aeb5f217f1ba39c428c9b481f393bd37097f69e\"\u003e\u003ccode\u003e5aeb5f2\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update versions for 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/81563ad2c53f886a4901191e0f2d05238398e177\"\u003e\u003ccode\u003e81563ad\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update .deb/.rpm changelogs for 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/c5055366fb5d6ae6a7c51ae50135ebf3203b48af\"\u003e\u003ccode\u003ec505536\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update CHANGELOG.md for 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/e04fafb1242ce428b5068f075de58579992f8c5c\"\u003e\u003ccode\u003ee04fafb\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/47838\"\u003eGH-47838\u003c/a\u003e: [C++][Parquet] Set Variant specification version to 1 to align with...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/07e4d5aeadf0c24542309edc3056ed26dfc5f49c\"\u003e\u003ccode\u003e07e4d5a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/47819\"\u003eGH-47819\u003c/a\u003e: [CI][Packaging][Release] Avoid triggering Linux packages on release...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/e2fa94cf96c5b21924451ca52a6b522618c28a9e\"\u003e\u003ccode\u003ee2fa94c\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/47809\"\u003eGH-47809\u003c/a\u003e: [CI][Release] Fix Windows verification job trying to install patch ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/2140934e4d79587ffa91e5d1462ac7ee673d2df0\"\u003e\u003ccode\u003e2140934\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/47738\"\u003eGH-47738\u003c/a\u003e: [R] Update NEWS.md for 22.0.0 (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/47739\"\u003e#47739\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/08f5304074ce550c342f97e107081ea61a51e3da\"\u003e\u003ccode\u003e08f5304\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/47803\"\u003eGH-47803\u003c/a\u003e: [C++][Parquet] Fix read out of bounds on invalid RLE data (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/47804\"\u003e#47804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/d5b8e2b151730312ef80a975627ef7ff2423a232\"\u003e\u003ccode\u003ed5b8e2b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/47438\"\u003eGH-47438\u003c/a\u003e: [Python][Packaging] Set up wheel building for Python 3.14 (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/47616\"\u003e#47616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/618f6090118606f83a93cdd88e47868db9c61b8f\"\u003e\u003ccode\u003e618f609\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/47795\"\u003eGH-47795\u003c/a\u003e: [Archery] Add support for custom Docker registry (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/47796\"\u003e#47796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/arrow/compare/apache-arrow-21.0.0...apache-arrow-22.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `arrow` 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/arrow-py/arrow/releases\"\u003earrow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.4.0\u003c/h2\u003e\n\u003ch2\u003eADDED\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eweek_start\u003c/code\u003e parameter to \u003ccode\u003efloor()\u003c/code\u003e and \u003ccode\u003eceil()\u003c/code\u003e methods. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1222\"\u003e#1222\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1222\"\u003earrow-py/arrow#1222\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eFORMAT_RFC3339_STRICT\u003c/code\u003e with a T separator. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1201\"\u003e#1201\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1201\"\u003earrow-py/arrow#1201\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded Macedonian in Latin locale support. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1200\"\u003e#1200\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1200\"\u003earrow-py/arrow#1200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded Persian/Farsi locale support. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1190\"\u003e#1190\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1190\"\u003earrow-py/arrow#1190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded week and weeks to Thai locale timeframes. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1218\"\u003e#1218\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1218\"\u003earrow-py/arrow#1218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded weeks to Catalan locale. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1189\"\u003e#1189\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1189\"\u003earrow-py/arrow#1189\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded Persian names of months, month-abbreviations and day-abbreviations in Gregorian calendar. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1172\"\u003e#1172\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1172\"\u003earrow-py/arrow#1172\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCHANGED\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated Arrow to use ZoneInfo for timezones instead of pytz. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1217\"\u003e#1217\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1217\"\u003earrow-py/arrow#1217\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFIXED\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed humanize month limits. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1224\"\u003e#1224\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1224\"\u003earrow-py/arrow#1224\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed type hint of \u003ccode\u003eArrow.__getattr__\u003c/code\u003e. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1171\"\u003e#1171\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1171\"\u003earrow-py/arrow#1171\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed spelling and removed poorly used expressions in Korean locale. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1181\"\u003e#1181\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1181\"\u003earrow-py/arrow#1181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eshift()\u003c/code\u003e method for issue \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1145\"\u003e#1145\u003c/a\u003e. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1194\"\u003e#1194\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1194\"\u003earrow-py/arrow#1194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved Greek locale translations (seconds, days, \u0026quot;ago\u0026quot;, and month typo). [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1184\"\u003e#1184\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1184\"\u003earrow-py/arrow#1184\u003c/a\u003e), [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1186\"\u003e#1186\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1186\"\u003earrow-py/arrow#1186\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAddressed \u003ccode\u003edatetime.utcnow\u003c/code\u003e deprecation warning. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1182\"\u003e#1182\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1182\"\u003earrow-py/arrow#1182\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eINTERNAL\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded codecov test results. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1223\"\u003e#1223\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1223\"\u003earrow-py/arrow#1223\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdated CI dependencies (actions/setup-python, actions/checkout, codecov/codecov-action, actions/cache).\u003c/li\u003e\n\u003cli\u003eAdded docstrings to parser.py. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1010\"\u003e#1010\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1010\"\u003earrow-py/arrow#1010\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdated Python versions support and bumped CI dependencies. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1177\"\u003e#1177\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1177\"\u003earrow-py/arrow#1177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded dependabot for GitHub actions. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1193\"\u003e#1193\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1193\"\u003earrow-py/arrow#1193\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMoved dateutil types to test requirements. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1183\"\u003e#1183\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1183\"\u003earrow-py/arrow#1183\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded documentation link for \u003ccode\u003earrow.format\u003c/code\u003e. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1180\"\u003e#1180\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1180\"\u003earrow-py/arrow#1180\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/arrow-py/arrow/blob/master/CHANGELOG.rst\"\u003earrow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.0 (2025-10-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[ADDED] Added \u003ccode\u003eweek_start\u003c/code\u003e parameter to \u003ccode\u003efloor()\u003c/code\u003e and \u003ccode\u003eceil()\u003c/code\u003e methods. \u003ccode\u003ePR [#1222](https://github.com/arrow-py/arrow/issues/1222) \u0026lt;https://github.com/arrow-py/arrow/pull/1222\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e[ADDED] Added \u003ccode\u003eFORMAT_RFC3339_STRICT\u003c/code\u003e with a T separator. \u003ccode\u003ePR [#1201](https://github.com/arrow-py/arrow/issues/1201) \u0026lt;https://github.com/arrow-py/arrow/pull/1201\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e[ADDED] Added Macedonian in Latin locale support. \u003ccode\u003ePR [#1200](https://github.com/arrow-py/arrow/issues/1200) \u0026lt;https://github.com/arrow-py/arrow/pull/1200\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e[ADDED] Added Persian/Farsi locale support. \u003ccode\u003ePR [#1190](https://github.com/arrow-py/arrow/issues/1190) \u0026lt;https://github.com/arrow-py/arrow/pull/1190\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e[ADDED] Added week and weeks to Thai locale timeframes. \u003ccode\u003ePR [#1218](https://github.com/arrow-py/arrow/issues/1218) \u0026lt;https://github.com/arrow-py/arrow/pull/1218\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e[ADDED] Added weeks to Catalan locale. \u003ccode\u003ePR [#1189](https://github.com/arrow-py/arrow/issues/1189) \u0026lt;https://github.com/arrow-py/arrow/pull/1189\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e[ADDED] Added Persian names of months, month-abbreviations and day-abbreviations in Gregorian calendar. \u003ccode\u003ePR [#1172](https://github.com/arrow-py/arrow/issues/1172) \u0026lt;https://github.com/arrow-py/arrow/pull/1172\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e[CHANGED] Migrated Arrow to use ZoneInfo for timezones instead of pytz. \u003ccode\u003ePR [#1217](https://github.com/arrow-py/arrow/issues/1217) \u0026lt;https://github.com/arrow-py/arrow/pull/1217\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e[FIXED] Fixed humanize month limits. \u003ccode\u003ePR [#1224](https://github.com/arrow-py/arrow/issues/1224) \u0026lt;https://github.com/arrow-py/arrow/pull/1224\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e[FIXED] Fixed type hint of \u003ccode\u003eArrow.__getattr__\u003c/code\u003e. \u003ccode\u003ePR [#1171](https://github.com/arrow-py/arrow/issues/1171) \u0026lt;https://github.com/arrow-py/arrow/pull/1171\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e[FIXED] Fixed spelling and removed poorly used expressions in Korean locale. \u003ccode\u003ePR [#1181](https://github.com/arrow-py/arrow/issues/1181) \u0026lt;https://github.com/arrow-py/arrow/pull/1181\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e[FIXED] Updated \u003ccode\u003eshift()\u003c/code\u003e method for issue \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1145\"\u003e#1145\u003c/a\u003e. \u003ccode\u003ePR [#1194](https://github.com/arrow-py/arrow/issues/1194) \u0026lt;https://github.com/arrow-py/arrow/pull/1194\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e[FIXED] Improved Greek locale translations (seconds, days, \u0026quot;ago\u0026quot;, and month typo). \u003ccode\u003ePR [#1184](https://github.com/arrow-py/arrow/issues/1184) \u0026lt;https://github.com/arrow-py/arrow/pull/1184\u0026gt;\u003c/code\u003e\u003cem\u003e, \u003ccode\u003ePR [#1186](https://github.com/arrow-py/arrow/issues/1186) \u0026lt;https://github.com/arrow-py/arrow/pull/1186\u0026gt;\u003c/code\u003e\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e[FIXED] Addressed \u003ccode\u003edatetime.utcnow\u003c/code\u003e deprecation warning. \u003ccode\u003ePR [#1182](https://github.com/arrow-py/arrow/issues/1182) \u0026lt;https://github.com/arrow-py/arrow/pull/1182\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e[INTERNAL] Added codecov test results. \u003ccode\u003ePR [#1223](https://github.com/arrow-py/arrow/issues/1223) \u0026lt;https://github.com/arrow-py/arrow/pull/1223\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e[INTERNAL] Updated CI dependencies (actions/setup-python, actions/checkout, codecov/codecov-action, actions/cache).\u003c/li\u003e\n\u003cli\u003e[INTERNAL] Added docstrings to parser.py. \u003ccode\u003ePR [#1010](https://github.com/arrow-py/arrow/issues/1010) \u0026lt;https://github.com/arrow-py/arrow/pull/1010\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e[INTERNAL] Updated Python versions support and bumped CI dependencies. \u003ccode\u003ePR [#1177](https://github.com/arrow-py/arrow/issues/1177) \u0026lt;https://github.com/arrow-py/arrow/pull/1177\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e[INTERNAL] Added dependabot for GitHub actions. \u003ccode\u003ePR [#1193](https://github.com/arrow-py/arrow/issues/1193) \u0026lt;https://github.com/arrow-py/arrow/pull/1193\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e[INTERNAL] Moved dateutil types to test requirements. \u003ccode\u003ePR [#1183](https://github.com/arrow-py/arrow/issues/1183) \u0026lt;https://github.com/arrow-py/arrow/pull/1183\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e[INTERNAL] Added documentation link for \u003ccode\u003earrow.format\u003c/code\u003e. \u003ccode\u003ePR [#1180](https://github.com/arrow-py/arrow/issues/1180) \u0026lt;https://github.com/arrow-py/arrow/pull/1180\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-py/arrow/commit/2c1f5185ad66bf3b1cf8c0812f4b4fe65ac46656\"\u003e\u003ccode\u003e2c1f518\u003c/code\u003e\u003c/a\u003e Bump release CI flow to use Python 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-py/arrow/commit/2483bfea4ec8a4da609036aba3ce1b32cb571875\"\u003e\u003ccode\u003e2483bfe\u003c/code\u003e\u003c/a\u003e Bump changelog date\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-py/arrow/commit/c61de9299733da6d4a7e8badabae43684a3f9da2\"\u003e\u003ccode\u003ec61de92\u003c/code\u003e\u003c/a\u003e Bump version and add changelog (\u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1228\"\u003e#1228\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-py/arrow/commit/c3bb589536b283e3e3886d1d6bc01a6374c8e656\"\u003e\u003ccode\u003ec3bb589\u003c/code\u003e\u003c/a\u003e Update pypy CI version and update pre-commit dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-py/arrow/commit/85cd905332d108303da1cbd0f2336fcae058147f\"\u003e\u003ccode\u003e85cd905\u003c/code\u003e\u003c/a\u003e Run tests on next Python release (\u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1227\"\u003e#1227\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-py/arrow/commit/4c8c44aefc0e5504b9c3cbf0d6adbb0ec4aa4571\"\u003e\u003ccode\u003e4c8c44a\u003c/code\u003e\u003c/a\u003e Add week_start parameter to floor() and ceil() (\u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1222\"\u003e#1222\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-py/arrow/commit/7ccbe66122ca53d90acf9c69c37aa95c81a1fe89\"\u003e\u003ccode\u003e7ccbe66\u003c/code\u003e\u003c/a\u003e add codecov test results (\u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1223\"\u003e#1223\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-py/arrow/commit/05cd9b47d0db1c22b44cb739832f1b9701855313\"\u003e\u003ccode\u003e05cd9b4\u003c/code\u003e\u003c/a\u003e fix humanize month limits (\u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1224\"\u003e#1224\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-py/arrow/commit/ea756ea779468b0c6a9f45439dc05cfd5e71ee1e\"\u003e\u003ccode\u003eea756ea\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6 (\u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1220\"\u003e#1220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-py/arrow/commit/86f7520f15b2dd46f9c49f71ce5c15bbc537ed67\"\u003e\u003ccode\u003e86f7520\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1219\"\u003e#1219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/arrow-py/arrow/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 `bleach` from 6.2.0 to 6.3.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mozilla/bleach/blob/main/CHANGES\"\u003ebleach's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 6.3.0 (October 27th, 2025)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBackwards incompatible changes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9. (\u003ca href=\"https://redirect.github.com/mozilla/bleach/issues/756\"\u003e#756\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eNone\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14. (\u003ca href=\"https://redirect.github.com/mozilla/bleach/issues/758\"\u003e#758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix wbr handling. (\u003ca href=\"https://redirect.github.com/mozilla/bleach/issues/488\"\u003e#488\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/mozilla/bleach/commit/5546d5dbce60d08ccb99d981778d74044d646d4e\"\u003e\u003ccode\u003e5546d5d\u003c/code\u003e\u003c/a\u003e chore: prep for 6.3.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/88df3ff23fb2a43e174b3fdfe9191ef516de868a\"\u003e\u003ccode\u003e88df3ff\u003c/code\u003e\u003c/a\u003e chore: fix readthedocs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/d8b2fb45b2606515c58787c223d6605c6c70868f\"\u003e\u003ccode\u003ed8b2fb4\u003c/code\u003e\u003c/a\u003e fix: fix wbr handling (\u003ca href=\"https://redirect.github.com/mozilla/bleach/issues/488\"\u003e#488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/55e48cedb20bda23940ab34753a1fb378d5d30b9\"\u003e\u003ccode\u003e55e48ce\u003c/code\u003e\u003c/a\u003e chore: add support for Python 3.14 (\u003ca href=\"https://redirect.github.com/mozilla/bleach/issues/758\"\u003e#758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/a4d6cddac6e338c3d6f84c755a5fcb32e9e18fba\"\u003e\u003ccode\u003ea4d6cdd\u003c/code\u003e\u003c/a\u003e chore: drop support for Python 3.9 (\u003ca href=\"https://redirect.github.com/mozilla/bleach/issues/756\"\u003e#756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/172d92faef543a83c6760c63c32749586cdd564b\"\u003e\u003ccode\u003e172d92f\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5.6.0 to 6.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/df88612f2e9daf8f4ee23cf0e29b712d9d9147b6\"\u003e\u003ccode\u003edf88612\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.2 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/cbcf6b18d19aeb7777699f9385013d0a04052b68\"\u003e\u003ccode\u003ecbcf6b1\u003c/code\u003e\u003c/a\u003e Bump actions/cache from 4.2.3 to 4.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/d9aa7ef592d57dda56e26ba31d06e1b279c58eca\"\u003e\u003ccode\u003ed9aa7ef\u003c/code\u003e\u003c/a\u003e Switch from dependabot reviewers to CODEOWNERS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/06f0f76cc68112bda3fa101d1730d5ba914d54a1\"\u003e\u003ccode\u003e06f0f76\u003c/code\u003e\u003c/a\u003e Update setuptools, wheel, and twine for devs\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mozilla/bleach/compare/v6.2.0...v6.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `charset-normalizer` from 3.4.3 to 3.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jawah/charset_normalizer/releases\"\u003echarset-normalizer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.4.4\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.3...3.4.4\"\u003e3.4.4\u003c/a\u003e (2025-10-13)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBound \u003ccode\u003esetuptools\u003c/code\u003e to a specific constraint \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;=81\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound of mypyc for the optional pre-built extension to v1.18.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esetuptools-scm\u003c/code\u003e as a build dependency.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnforced hashes in \u003ccode\u003edev-requirements.txt\u003c/code\u003e and created \u003ccode\u003eci-requirements.txt\u003c/code\u003e for security purposes.\u003c/li\u003e\n\u003cli\u003eAdditional pre-built wheels for riscv64, s390x, and armv7l architectures.\u003c/li\u003e\n\u003cli\u003eRestore \u003ccode\u003emultiple.intoto.jsonl\u003c/code\u003e in GitHub releases in addition to individual attestation file per wheel.\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/jawah/charset_normalizer/blob/master/CHANGELOG.md\"\u003echarset-normalizer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.2...3.4.4\"\u003e3.4.4\u003c/a\u003e (2025-10-13)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBound \u003ccode\u003esetuptools\u003c/code\u003e to a specific constraint \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;=81\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound of mypyc for the optional pre-built extension to v1.18.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esetuptools-scm\u003c/code\u003e as a build dependency.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnforced hashes in \u003ccode\u003edev-requirements.txt\u003c/code\u003e and created \u003ccode\u003eci-requirements.txt\u003c/code\u003e for security purposes.\u003c/li\u003e\n\u003cli\u003eAdditional pre-built wheels for riscv64, s390x, and armv7l architectures.\u003c/li\u003e\n\u003cli\u003eRestore \u003ccode\u003e multiple.intoto.jsonl\u003c/code\u003e in GitHub releases in addition to individual attestation file per wheel.\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/jawah/charset_normalizer/commit/b30ffdcc2f11043c0d34e60fe66d3815cd49b32b\"\u003e\u003ccode\u003eb30ffdc\u003c/code\u003e\u003c/a\u003e :wrench: fix checksum step in cd.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/d3fbfcfad7dfe3c640886f1a6a6351da527f6634\"\u003e\u003ccode\u003ed3fbfcf\u003c/code\u003e\u003c/a\u003e :wrench: fix cd.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/dafbb95f8c00d3cc8b99158caa63006ffab98749\"\u003e\u003ccode\u003edafbb95\u003c/code\u003e\u003c/a\u003e Release 3.4.4 (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/658\"\u003e#658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/1f18ffaa69d2c84fea7abedb8840197ba9c14562\"\u003e\u003ccode\u003e1f18ffa\u003c/code\u003e\u003c/a\u003e :arrow_up: raise mypy upper bound to 1.18.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/ef4ac69ad203891f24e26b2422ab3a08053044fa\"\u003e\u003ccode\u003eef4ac69\u003c/code\u003e\u003c/a\u003e Merge branch 'release-3.4.4' of github.com:jawah/charset_normalizer into rele...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/4b35dda053db5e2e60a247e80a116e4ef04f439b\"\u003e\u003ccode\u003e4b35dda\u003c/code\u003e\u003c/a\u003e :pencil: write changelog for 3.4.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/0ec6452f1a34cbc77a55b237c4118807b44c2a33\"\u003e\u003ccode\u003e0ec6452\u003c/code\u003e\u003c/a\u003e :wrench: update cd.yml workflow (add riscv64, s390x and armv7l)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/f341edec8a828dda394abfa011b1ded8b4b102e2\"\u003e\u003ccode\u003ef341ede\u003c/code\u003e\u003c/a\u003e :arrow_up: upgrade dependencies (dev, ci)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/a308841e660a4d61ea6c448e7b8bf97415ecdc4a\"\u003e\u003ccode\u003ea308841\u003c/code\u003e\u003c/a\u003e :pencil: write changelog for 3.4.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/9c906da611d5ca5ef076d6bf7f60e629f661d0b0\"\u003e\u003ccode\u003e9c906da\u003c/code\u003e\u003c/a\u003e :wrench: update cd.yml workflow (add riscv64, s390x and armv7l)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jawah/charset_normalizer/compare/3.4.3...3.4.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.19.1 to 3.20.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.20.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd tox.toml to sdist by \u003ca href=\"https://github.com/mtelka\"\u003e\u003ccode\u003e@​mtelka\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/436\"\u003etox-dev/filelock#436\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate docs with example by \u003ca href=\"https://github.com/znichollscr\"\u003e\u003ccode\u003e@​znichollscr\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/438\"\u003etox-dev/filelock#438\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd 3.14 support and drop 3.9 by \u003ca 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/448\"\u003etox-dev/filelock#448\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/mtelka\"\u003e\u003ccode\u003e@​mtelka\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/436\"\u003etox-dev/filelock#436\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/znichollscr\"\u003e\u003ccode\u003e@​znichollscr\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/438\"\u003etox-dev/filelock#438\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.19.1...3.20.0\"\u003ehttps://github.com/tox-dev/filelock/compare/3.19.1...3.20.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/f7c3f8ea7defc21b3f0d736bb36711769cce840e\"\u003e\u003ccode\u003ef7c3f8e\u003c/code\u003e\u003c/a\u003e Add 3.14 support and drop 3.9 (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/448\"\u003e#448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/a95eec6245de176cf5aaaa95c187ce688d697277\"\u003e\u003ccode\u003ea95eec6\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/446\"\u003e#446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/f3e532fd35dbe480b25362a0e8b8e0aa41040c3f\"\u003e\u003ccode\u003ef3e532f\u003c/code\u003e\u003c/a\u003e Bump astral-sh/setup-uv from 6 to 7 (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/447\"\u003e#447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/1eff49a2aeb69f905a1ab9dc442fab5d7c601a3c\"\u003e\u003ccode\u003e1eff49a\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/445\"\u003e#445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/3c9448adeaebc0157cf5745dc5c40167678cf171\"\u003e\u003ccode\u003e3c9448a\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/444\"\u003e#444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/09f59904c1cadafaaa5b09b0d7ee8aa3b85c64f5\"\u003e\u003ccode\u003e09f5990\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/443\"\u003e#443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/5011a34d2881199529c6f25bd38b26314340bbde\"\u003e\u003ccode\u003e5011a34\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/442\"\u003e#442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/32372aa24897128b7c891d1c6b783ad368c7f114\"\u003e\u003ccode\u003e32372aa\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish in /.github/workflows (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/441\"\u003e#441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/1af28f256cb6093e354aced4b4de15a483ddb827\"\u003e\u003ccode\u003e1af28f2\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/439\"\u003e#439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/66bcdb30cba57b8ee3dfb20b63aada74969afd81\"\u003e\u003ccode\u003e66bcdb3\u003c/code\u003e\u003c/a\u003e Update docs with example (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/438\"\u003e#438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/py-filelock/compare/3.19.1...3.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `idna` from 3.10 to 3.11\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/kjd/idna/blob/master/HISTORY.rst\"\u003eidna's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e3.11 (2025-10-12)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to Unicode 16.0.0, including significant changes to UTS46\nprocessing. As a result of Unicode ending support for it, transitional\nprocessing no longer has an effect and returns the same result.\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.14, lowest supported version is Python 3.8.\u003c/li\u003e\n\u003cli\u003eVarious updates to packaging, including PEP 740 support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/ad949ee3052c2265c66e3df2dd8871a5832ba327\"\u003e\u003ccode\u003ead949ee\u003c/code\u003e\u003c/a\u003e Release v3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/cae4ba779e0a543823894bd4136651c187944da8\"\u003e\u003ccode\u003ecae4ba7\u003c/code\u003e\u003c/a\u003e Second release candidate for 3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/8adb305165c77c4a45d1568a70ead75d2197692c\"\u003e\u003ccode\u003e8adb305\u003c/code\u003e\u003c/a\u003e Add space in RST link\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/74cb2b652bb06133b0c4ab52cc98221be63162cf\"\u003e\u003ccode\u003e74cb2b6\u003c/code\u003e\u003c/a\u003e Release candidate for 3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/05dab09fdde5bbf7d52f757c4dc62e0ba934cca8\"\u003e\u003ccode\u003e05dab09\u003c/code\u003e\u003c/a\u003e Format idna-data with ruff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/90eac78b737d26613776b490432fc6d926b15c55\"\u003e\u003ccode\u003e90eac78\u003c/code\u003e\u003c/a\u003e Apply ruff formatting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/a31ce7ecc0b767e40abb5ce28744ac567b73f366\"\u003e\u003ccode\u003ea31ce7e\u003c/code\u003e\u003c/a\u003e Remove errant test vectors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/81f03334211c78c1832991ce70ebafb3cbfbb79c\"\u003e\u003ccode\u003e81f0333\u003c/code\u003e\u003c/a\u003e Omit vectors known to be broken in test suite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/a0f32578c0cac28c7ffbb4c860c92eb2b9b579bd\"\u003e\u003ccode\u003ea0f3257\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into unicode-16-uts46-changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/38d98860e6a1ab92fd35ab09ea4739feabf339a3\"\u003e\u003ccode\u003e38d9886\u003c/code\u003e\u003c/a\u003e Remove extra UTS46 test vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/kjd/idna/compare/v3.10...v3.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `iniconfig` from 2.1.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/iniconfig/releases\"\u003einiconfig's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd IniConfig.parse() with inline comment stripping and Unicode whitespace handling by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/70\"\u003epytest-dev/iniconfig#70\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pytest-dev/iniconfig/compare/v2.2.0...v2.3.0\"\u003ehttps://github.com/pytest-dev/iniconfig/compare/v2.2.0...v2.3.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 2.2.0\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/iniconfig/blob/main/CHANGELOG\"\u003einiconfig's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.3.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eadd IniConfig.parse() classmethod with strip_inline_comments parameter (fixes \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/55\"\u003e#55\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eby default (strip_inline_comments=True), inline comments are properly stripped from values\u003c/li\u003e\n\u003cli\u003eset strip_inline_comments=False to preserve old behavior if needed\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eIniConfig() constructor maintains backward compatibility (does not strip inline comments)\u003c/li\u003e\n\u003cli\u003eusers should migrate to IniConfig.parse() for correct comment handling\u003c/li\u003e\n\u003cli\u003eadd strip_section_whitespace parameter to IniConfig.parse() (regarding \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/4\"\u003e#4\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eopt-in parameter to strip Unicode whitespace from section names\u003c/li\u003e\n\u003cli\u003ewhen True, strips Unicode whitespace (U+00A0, U+2000, U+3000, etc.) from section names\u003c/li\u003e\n\u003cli\u003ewhen False (default), preserves existing behavior for backward compatibility\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eclarify Unicode whitespace handling (regarding \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/4\"\u003e#4\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003esince iniconfig 2.0.0 (Python 3 only), all strings are Unicode by default\u003c/li\u003e\n\u003cli\u003ePython 3's str.strip() has handled Unicode whitespace since Python 3.0 (2008)\u003c/li\u003e\n\u003cli\u003einiconfig automatically benefits from this in all supported versions (Python \u0026gt;= 3.10)\u003c/li\u003e\n\u003cli\u003ekey names and values have Unicode whitespace properly stripped using Python's built-in methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.2.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.8 and 3.9 support (now requires Python \u0026gt;= 3.10)\u003c/li\u003e\n\u003cli\u003eadd Python 3.14 classifier\u003c/li\u003e\n\u003cli\u003emigrate from hatchling to setuptools 77 with setuptools_scm\u003c/li\u003e\n\u003cli\u003eadopt PEP 639 license specifiers and PEP 740 build attestations\u003c/li\u003e\n\u003cli\u003emigrate from black + pyupgrade to ruff\u003c/li\u003e\n\u003cli\u003emigrate CI to uv and unified test workflow\u003c/li\u003e\n\u003cli\u003eautomate GitHub releases and PyPI publishing via Trusted Publishing\u003c/li\u003e\n\u003cli\u003einclude tests in sdist\u003c/li\u003e\n\u003cli\u003emodernize code for Python 3.10+ (remove \u003cstrong\u003efuture\u003c/strong\u003e annotations, TYPE_CHECKING guards)\u003c/li\u003e\n\u003cli\u003erename _ParsedLine to ParsedLine\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/7faed13ae50bad7c5da3f5782f254a8a7736bb84\"\u003e\u003ccode\u003e7faed13\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/70\"\u003e#70\u003c/a\u003e from RonnyPfannschmidt/comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/58c08691bbb86aee8efbf73e37293dd6d65b68b4\"\u003e\u003ccode\u003e58c0869\u003c/code\u003e\u003c/a\u003e Refactor: Simplify IniConfig constructor and parse() method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/6d0af4529e4375e49dc871aa3d5ce17fe1791afe\"\u003e\u003ccode\u003e6d0af45\u003c/code\u003e\u003c/a\u003e Add strip_section_whitespace parameter to address issue \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/4\"\u003e#4\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/e2d89f5283cbeb4b4ca55fe88b1c353c343b4972\"\u003e\u003ccode\u003ee2d89f5\u003c/code\u003e\u003c/a\u003e Add IniConfig.parse() classmethod to fix inline comment handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/57b7ed9c7a5950f9c57b2cfbe641ff4cc04baf1c\"\u003e\u003ccode\u003e57b7ed9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/66\"\u003e#66\u003c/a\u003e from killiandesse/pep639\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/27ac49f56794db397ecb017414663a81e701dfdc\"\u003e\u003ccode\u003e27ac49f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/69\"\u003e#69\u003c/a\u003e from RonnyPfannschmidt/limit-attestation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/3402322097aa7b6eba9a68c96faddc780e04b085\"\u003e\u003ccode\u003e3402322\u003c/code\u003e\u003c/a\u003e Disable build attestations for PRs from forks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/27e6a7b4a7b24f7f8a5e5492b071ab16eff36f95\"\u003e\u003ccode\u003e27e6a7b\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into pep639\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/65228817674f099d48cab0f0974000ea0e3031c1\"\u003e\u003ccode\u003e6522881\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/68\"\u003e#68\u003c/a\u003e from pytest-dev/fix-build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/8b2bccb3b6be37c9bf70a4fbe0cda4c92c70355f\"\u003e\u003ccode\u003e8b2bccb\u003c/code\u003e\u003c/a\u003e Update CHANGELOG and automate releases\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/iniconfig/compare/v2.1.0...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ipykernel` from 6.30.1 to 7.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ipython/ipykernel/releases\"\u003eipykernel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.1.0\u003c/h2\u003e\n\u003ch2\u003e7.1.0\u003c/h2\u003e\n\u003cp\u003eIPykernel 7.1.0 fixes an issue where display outputs such as Matplotlib plots were not included when using \u003ccode\u003e%notebook\u003c/code\u003e magic to save sessions as \u003ccode\u003e.ipynb\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1435\"\u003e#1435\u003c/a\u003e). This is enabled using the traitlet \u003ccode\u003eZMQDisplayPublisher.store_display_history\u003c/code\u003e which defaults to the previous behaviour of False. This is a minor release rather than a patch release due to the addition of the new traitlet.\u003c/p\u003e\n\u003cp\u003eOutput from threads is restored to the pre-6.29 behavior by default (route to latest cell, unless \u003ccode\u003eget_ipython().set_parent()\u003c/code\u003e is called explicitly from the thread. If it is called, output from that thread will continue to be routed to the same cell). This behavior is now opt-in, instead of unconditional (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1451\"\u003e#1451\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003eThis release also fixes bugs that were introduced into the 7.x branch relating to Matplotlib plots in separate windows not being displayed correctly (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1458\"\u003e#1458\u003c/a\u003e), kernels launched in new threads failing asserts (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1455\"\u003e#1455\u003c/a\u003e), and \u003ccode\u003eContextVar\u003c/code\u003es persisting between cells (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1462\"\u003e#1462\u003c/a\u003e). There is also a fix for keyboard interrupts on Windows (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1434\"\u003e#1434\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/ipython/ipykernel/compare/v7.0.1...6f61a6835c217e42c406ee01b359e2fa235baf43\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStore display outputs in history for \u003ccode\u003e%notebook\u003c/code\u003e magic \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1435\"\u003e#1435\u003c/a\u003e (\u003ca href=\"https://github.com/Darshan808\"\u003e\u003ccode\u003e@​Darshan808\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix ContextVar persistence across cells \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1462\"\u003e#1462\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix matplotlib eventloops \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1458\"\u003e#1458\u003c/a\u003e (\u003ca href=\"https://github.com/ianthomas23\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefer to kernel launching thread instead of assuming the main thread \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1455\"\u003e#1455\u003c/a\u003e (\u003ca href=\"https://github.com/dfalbel\"\u003e\u003ccode\u003e@​dfalbel\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix routing of background thread output when no parent is set explicitly \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1451\"\u003e#1451\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix KeyboardInterrupt on Windows by manually resetting interrupt event \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1434\"\u003e#1434\u003c/a\u003e (\u003ca href=\"https://github.com/ptosco\"\u003e\u003ccode\u003e@​ptosco\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate pre-commit and related \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1465\"\u003e#1465\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest that matplotlib event loop integration is responsive \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1463\"\u003e#1463\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate tests for 3.14 \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1453\"\u003e#1453\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/ipython/ipykernel/graphs/contributors?from=2025-10-14\u0026amp;to=2025-10-27\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3ACarreau+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3ADarshan808+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​Darshan808\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Adfalbel+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​dfalbel\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aianthomas23+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Akrassowski+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Alumberbot-app+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​lumberbot-app\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aminrk+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aptosco+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​ptosco\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev7.0.1\u003c/h2\u003e\n\u003ch2\u003e7.0.1\u003c/h2\u003e\n\u003cp\u003eIPykernel 7.0.1 is a bug fix release to support CPython 3.14.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/ipython/ipykernel/compare/v7.0.0...6d9a14a21a8e328e384ebac48e4ccbaad85b1d45\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid overriding Thread._context in Python 3.14 \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1447\"\u003e#1447\u003c/a\u003e (\u003ca href=\"https://github.com/ianthomas23\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ipython/ipykernel/blob/main/CHANGELOG.md\"\u003eipykernel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.1.0\u003c/h2\u003e\n\u003cp\u003eIPykernel 7.1.0 fixes an issue where display outputs such as Matplotlib plots were not included when using \u003ccode\u003e%notebook\u003c/code\u003e magic to save sessions as \u003ccode\u003e.ipynb\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1435\"\u003e#1435\u003c/a\u003e). This is enabled using the traitlet \u003ccode\u003eZMQDisplayPublisher.store_display_history\u003c/code\u003e which defaults to the previous behaviour of False. This is a minor release rather than a patch release due to the addition of the new traitlet.\u003c/p\u003e\n\u003cp\u003eOutput from threads is restored to the pre-6.29 behavior by default (route to latest cell, unless \u003ccode\u003eget_ipython().set_parent()\u003c/code\u003e is called explicitly from the thread. If it is called, output from that thread will continue to be routed to the same cell). This behavior is now opt-in, instead of unconditional (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1451\"\u003e#1451\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003eThis release also fixes bugs that were introduced into the 7.x branch relating to Matplotlib plots in separate windows not being displayed correctly (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1458\"\u003e#1458\u003c/a\u003e), kernels launched in new threads failing asserts (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1455\"\u003e#1455\u003c/a\u003e), and \u003ccode\u003eContextVar\u003c/code\u003es persisting between cells (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1462\"\u003e#1462\u003c/a\u003e). There is also a fix for keyboard interrupts on Windows (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1434\"\u003e#1434\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/ipython/ipykernel/compare/v7.0.1...6f61a6835c217e42c406ee01b359e2fa235baf43\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStore display outputs in history for \u003ccode\u003e%notebook\u003c/code\u003e magic \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1435\"\u003e#1435\u003c/a\u003e (\u003ca href=\"https://github.com/Darshan808\"\u003e\u003ccode\u003e@​Darshan808\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix ContextVar persistence across cells \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1462\"\u003e#1462\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix matplotlib eventloops \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1458\"\u003e#1458\u003c/a\u003e (\u003ca href=\"https://github.com/ianthomas23\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefer to kernel launching thread instead of assuming the main thread \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1455\"\u003e#1455\u003c/a\u003e (\u003ca href=\"https://github.com/dfalbel\"\u003e\u003ccode\u003e@​dfalbel\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix routing of background thread output when no parent is set explicitly \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1451\"\u003e#1451\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix KeyboardInterrupt on Windows by manually resetting interrupt event \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1434\"\u003e#1434\u003c/a\u003e (\u003ca href=\"https://github.com/ptosco\"\u003e\u003ccode\u003e@​ptosco\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate pre-commit and related \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1465\"\u003e#1465\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest that matplotlib event loop integration is responsive \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1463\"\u003e#1463\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate tests for 3.14 \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1453\"\u003e#1453\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/ipython/ipykernel/graphs/contributors?from=2025-10-14\u0026amp;to=2025-10-27\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3ACarreau+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3ADarshan808+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​Darshan808\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Adfalbel+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​dfalbel\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aianthomas23+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Akrassowski+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Alumberbot-app+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​lumberbot-app\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aminrk+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aptosco+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​ptosco\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e7.0.1\u003c/h2\u003e\n\u003cp\u003eIPykernel 7.0.1 is a bug fix release to support CPython 3.14.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/ipython/ipykernel/comp...\n\n_Description has been truncated_","html_url":"https://github.com/statisticsnorway/ssb-pre-system/pull/107","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/statisticsnorway%2Fssb-pre-system/issues/107","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/107/packages"},{"uuid":"3563420268","node_id":"PR_kwDOLyt3p86wPYGU","number":26,"state":"open","title":"build(deps): bump numexpr from 2.8.4 to 2.14.1 in /examples/langchain-python-rag-privategpt","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-10-28T21:24:16.000Z","updated_at":"2025-10-28T21:24:53.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"numexpr","old_version":"2.8.4","new_version":"2.14.1","repository_url":"https://github.com/pydata/numexpr"}],"path":"/examples/langchain-python-rag-privategpt","ecosystem":"pip"},"body":"Bumps [numexpr](https://github.com/pydata/numexpr) from 2.8.4 to 2.14.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst\"\u003enumexpr's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges from 2.14.1 to 2.14.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eUnder development.\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.14.0 to 2.14.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRolled back static typing support to ensure compatibiity with NumPy 1.26.\u003c/li\u003e\n\u003cli\u003eAdded CI tests for NumPy 1.26\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.13.1 to 2.14.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNumerical stability for overflow has been improved for \u003ccode\u003etan\u003c/code\u003e / \u003ccode\u003etanh\u003c/code\u003e\nto handle possible overflows for complex numbers.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eStatic typing support has been added, making NumExpr compatible with\nstatic type checkers like \u003ccode\u003emypy\u003c/code\u003e and \u003ccode\u003epyright\u003c/code\u003e.\nThanks to Joren Hammudoglu (\u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e) for the work.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.13.0 to 2.13.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePatch to maximum/minimum functions in order to match NumPy NaN handling\u003c/li\u003e\n\u003cli\u003ePatch to convert '+'-\u0026gt;'|' and '*'-\u0026gt;'\u0026amp;' for booleans\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.12.1 to 2.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNew functionality has been added:\u003c/li\u003e\n\u003cli\u003eBitwise operators (and, or, not, xor): \u003ccode\u003e\u0026amp;, |, ~, ^\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNew binary arithmetic operator for floor division: \u003ccode\u003e//\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNew functions: \u003ccode\u003esignbit\u003c/code\u003e, \u003ccode\u003ehypot\u003c/code\u003e, \u003ccode\u003ecopysign\u003c/code\u003e, \u003ccode\u003enextafter\u003c/code\u003e, \u003ccode\u003emaximum\u003c/code\u003e, \u003ccode\u003eminimum\u003c/code\u003e, \u003ccode\u003elog2\u003c/code\u003e, \u003ccode\u003etrunc\u003c/code\u003e, \u003ccode\u003eround\u003c/code\u003e and \u003ccode\u003esign\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAlso enables integer outputs for integer inputs for \u003ccode\u003eabs\u003c/code\u003e, \u003ccode\u003ecopy\u003c/code\u003e, \u003ccode\u003eones_like\u003c/code\u003e, \u003ccode\u003esign\u003c/code\u003e and \u003ccode\u003eround\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to Luke Shaw for the contributions.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNew wheels for Python 3.14 and 3.14t are provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.12.0 to 2.12.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded complex counterparts for isnan/isfinite/isinf functions.\nThanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated documentation for the new functions and instructions\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/pydata/numexpr/commit/048a5c42b09e4c5a4ccb5097162ff7c571973fde\"\u003e\u003ccode\u003e048a5c4\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/d9cf0f0785f9c8de8d790800ceebff89eced8354\"\u003e\u003ccode\u003ed9cf0f0\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/1fcb012d96c7db2f0f21c8f82ef9d7a30e19b4da\"\u003e\u003ccode\u003e1fcb012\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/542\"\u003e#542\u003c/a\u003e from pydata/test-numpy-1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/898b4d9dbfdb654391999c65744f678f5bd05508\"\u003e\u003ccode\u003e898b4d9\u003c/code\u003e\u003c/a\u003e Update tests to pass for numpy 1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/7cadd0f93b4bcd10bd585bae3bcfc5f9f8c42306\"\u003e\u003ccode\u003e7cadd0f\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/534\"\u003e#534\u003c/a\u003e from jorenham/static-typing\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/eb2f9997035c3865cc3e1ec8ed715f9f9dfe3b30\"\u003e\u003ccode\u003eeb2f999\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/534\"\u003e#534\u003c/a\u003e from jorenham/static-typing\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/e27646b74237f97acae8c43b189079aa7baf5c34\"\u003e\u003ccode\u003ee27646b\u003c/code\u003e\u003c/a\u003e Force local build and test with numpy 1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/acd7eb0da381227ef5903fcee0c4163e0b18ffbb\"\u003e\u003ccode\u003eacd7eb0\u003c/code\u003e\u003c/a\u003e Force tests  with numpy 1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/0e827b18865907dc8cce79f3aa31901392570187\"\u003e\u003ccode\u003e0e827b1\u003c/code\u003e\u003c/a\u003e Force tests  with numpy 1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/ed435570d3269402d326f40ce26c7df35265572a\"\u003e\u003ccode\u003eed43557\u003c/code\u003e\u003c/a\u003e Force local build with numpy 1.26\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydata/numexpr/compare/v2.8.4...v2.14.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=numexpr\u0026package-manager=pip\u0026previous-version=2.8.4\u0026new-version=2.14.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)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/khulnasoft/ollama/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/khulnasoft/ollama/pull/26","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/khulnasoft%2Follama/issues/26","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/26/packages"},{"uuid":"3530939046","node_id":"PR_kwDOP1mTrM6ujXW6","number":36,"state":"open","title":"chore(deps): bump numexpr from 2.12.1 to 2.14.1","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-10-20T03:51:14.000Z","updated_at":"2025-10-20T04:10:57.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"numexpr","old_version":"2.12.1","new_version":"2.14.1","repository_url":"https://github.com/pydata/numexpr"}],"path":null,"ecosystem":"pip"},"body":"Bumps [numexpr](https://github.com/pydata/numexpr) from 2.12.1 to 2.14.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst\"\u003enumexpr's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges from 2.14.1 to 2.14.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eUnder development.\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.14.0 to 2.14.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRolled back static typing support to ensure compatibiity with NumPy 1.26.\u003c/li\u003e\n\u003cli\u003eAdded CI tests for NumPy 1.26\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.13.1 to 2.14.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNumerical stability for overflow has been improved for \u003ccode\u003etan\u003c/code\u003e / \u003ccode\u003etanh\u003c/code\u003e\nto handle possible overflows for complex numbers.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eStatic typing support has been added, making NumExpr compatible with\nstatic type checkers like \u003ccode\u003emypy\u003c/code\u003e and \u003ccode\u003epyright\u003c/code\u003e.\nThanks to Joren Hammudoglu (\u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e) for the work.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.13.0 to 2.13.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePatch to maximum/minimum functions in order to match NumPy NaN handling\u003c/li\u003e\n\u003cli\u003ePatch to convert '+'-\u0026gt;'|' and '*'-\u0026gt;'\u0026amp;' for booleans\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/pydata/numexpr/commit/048a5c42b09e4c5a4ccb5097162ff7c571973fde\"\u003e\u003ccode\u003e048a5c4\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/d9cf0f0785f9c8de8d790800ceebff89eced8354\"\u003e\u003ccode\u003ed9cf0f0\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/1fcb012d96c7db2f0f21c8f82ef9d7a30e19b4da\"\u003e\u003ccode\u003e1fcb012\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/542\"\u003e#542\u003c/a\u003e from pydata/test-numpy-1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/898b4d9dbfdb654391999c65744f678f5bd05508\"\u003e\u003ccode\u003e898b4d9\u003c/code\u003e\u003c/a\u003e Update tests to pass for numpy 1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/7cadd0f93b4bcd10bd585bae3bcfc5f9f8c42306\"\u003e\u003ccode\u003e7cadd0f\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/534\"\u003e#534\u003c/a\u003e from jorenham/static-typing\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/eb2f9997035c3865cc3e1ec8ed715f9f9dfe3b30\"\u003e\u003ccode\u003eeb2f999\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/534\"\u003e#534\u003c/a\u003e from jorenham/static-typing\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/e27646b74237f97acae8c43b189079aa7baf5c34\"\u003e\u003ccode\u003ee27646b\u003c/code\u003e\u003c/a\u003e Force local build and test with numpy 1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/acd7eb0da381227ef5903fcee0c4163e0b18ffbb\"\u003e\u003ccode\u003eacd7eb0\u003c/code\u003e\u003c/a\u003e Force tests  with numpy 1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/0e827b18865907dc8cce79f3aa31901392570187\"\u003e\u003ccode\u003e0e827b1\u003c/code\u003e\u003c/a\u003e Force tests  with numpy 1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/ed435570d3269402d326f40ce26c7df35265572a\"\u003e\u003ccode\u003eed43557\u003c/code\u003e\u003c/a\u003e Force local build with numpy 1.26\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydata/numexpr/compare/v2.12.1...v2.14.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=numexpr\u0026package-manager=pip\u0026previous-version=2.12.1\u0026new-version=2.14.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/kmoore241/freqtrade/pull/36","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kmoore241%2Ffreqtrade/issues/36","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/36/packages"},{"uuid":"3530857675","node_id":"PR_kwDOBXYo-M6ujGA3","number":12404,"state":"open","title":"chore(deps): bump numexpr from 2.13.1 to 2.14.1","user":"dependabot[bot]","labels":["Dependencies","Python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-10-20T03:02:15.000Z","updated_at":"2025-10-20T03:41:45.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"numexpr","old_version":"2.13.1","new_version":"2.14.1","repository_url":"https://github.com/pydata/numexpr"}],"path":null,"ecosystem":"pip"},"body":"Bumps [numexpr](https://github.com/pydata/numexpr) from 2.13.1 to 2.14.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst\"\u003enumexpr's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges from 2.14.1 to 2.14.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eUnder development.\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.14.0 to 2.14.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRolled back static typing support to ensure compatibiity with NumPy 1.26.\u003c/li\u003e\n\u003cli\u003eAdded CI tests for NumPy 1.26\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/pydata/numexpr/commit/048a5c42b09e4c5a4ccb5097162ff7c571973fde\"\u003e\u003ccode\u003e048a5c4\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/d9cf0f0785f9c8de8d790800ceebff89eced8354\"\u003e\u003ccode\u003ed9cf0f0\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/1fcb012d96c7db2f0f21c8f82ef9d7a30e19b4da\"\u003e\u003ccode\u003e1fcb012\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/542\"\u003e#542\u003c/a\u003e from pydata/test-numpy-1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/898b4d9dbfdb654391999c65744f678f5bd05508\"\u003e\u003ccode\u003e898b4d9\u003c/code\u003e\u003c/a\u003e Update tests to pass for numpy 1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/7cadd0f93b4bcd10bd585bae3bcfc5f9f8c42306\"\u003e\u003ccode\u003e7cadd0f\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/534\"\u003e#534\u003c/a\u003e from jorenham/static-typing\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/eb2f9997035c3865cc3e1ec8ed715f9f9dfe3b30\"\u003e\u003ccode\u003eeb2f999\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/534\"\u003e#534\u003c/a\u003e from jorenham/static-typing\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/e27646b74237f97acae8c43b189079aa7baf5c34\"\u003e\u003ccode\u003ee27646b\u003c/code\u003e\u003c/a\u003e Force local build and test with numpy 1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/acd7eb0da381227ef5903fcee0c4163e0b18ffbb\"\u003e\u003ccode\u003eacd7eb0\u003c/code\u003e\u003c/a\u003e Force tests  with numpy 1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/0e827b18865907dc8cce79f3aa31901392570187\"\u003e\u003ccode\u003e0e827b1\u003c/code\u003e\u003c/a\u003e Force tests  with numpy 1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/ed435570d3269402d326f40ce26c7df35265572a\"\u003e\u003ccode\u003eed43557\u003c/code\u003e\u003c/a\u003e Force local build with numpy 1.26\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydata/numexpr/compare/v2.13.1...v2.14.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=numexpr\u0026package-manager=pip\u0026previous-version=2.13.1\u0026new-version=2.14.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/freqtrade/freqtrade/pull/12404","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/freqtrade%2Ffreqtrade/issues/12404","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/12404/packages"},{"uuid":"2891593357","node_id":"PR_kwDOPWsqdM6sWjaN","number":19,"state":"open","title":"Update numexpr requirement from \u003c2.13.1,\u003e=2.8 to \u003e=2.8,\u003c2.13.2","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-10-06T19:34:44.000Z","updated_at":"2025-10-06T19:34:45.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"numexpr","old_version":"\u003c2.13.1,\u003e=2.8","new_version":"\u003e=2.8,\u003c2.13.2","repository_url":"https://github.com/pydata/numexpr"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [numexpr](https://github.com/pydata/numexpr) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst\"\u003enumexpr's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges from 2.13.1 to 2.13.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eUnder development.\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eStatic typing support has been added, making NumExpr compatible with\nstatic type checkers like \u003ccode\u003emypy\u003c/code\u003e and \u003ccode\u003epyright\u003c/code\u003e.\nThanks to Joren Hammudoglu (\u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e) for the work.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.13.0 to 2.13.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePatch to maximum/minimum functions in order to match NumPy NaN handling\u003c/li\u003e\n\u003cli\u003ePatch to convert '+'-\u0026gt;'|' and '*'-\u0026gt;'\u0026amp;' for booleans\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.12.1 to 2.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNew functionality has been added:\u003c/li\u003e\n\u003cli\u003eBitwise operators (and, or, not, xor): \u003ccode\u003e\u0026amp;, |, ~, ^\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNew binary arithmetic operator for floor division: \u003ccode\u003e//\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNew functions: \u003ccode\u003esignbit\u003c/code\u003e, \u003ccode\u003ehypot\u003c/code\u003e, \u003ccode\u003ecopysign\u003c/code\u003e, \u003ccode\u003enextafter\u003c/code\u003e, \u003ccode\u003emaximum\u003c/code\u003e, \u003ccode\u003eminimum\u003c/code\u003e, \u003ccode\u003elog2\u003c/code\u003e, \u003ccode\u003etrunc\u003c/code\u003e, \u003ccode\u003eround\u003c/code\u003e and \u003ccode\u003esign\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAlso enables integer outputs for integer inputs for \u003ccode\u003eabs\u003c/code\u003e, \u003ccode\u003ecopy\u003c/code\u003e, \u003ccode\u003eones_like\u003c/code\u003e, \u003ccode\u003esign\u003c/code\u003e and \u003ccode\u003eround\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to Luke Shaw for the contributions.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNew wheels for Python 3.14 and 3.14t are provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.12.0 to 2.12.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded complex counterparts for isnan/isfinite/isinf functions.\nThanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated documentation for the new functions and instructions\nfor adding new functions to the virtual machine.  Thanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed MKL support; it was broken in 2.12.0.  Thanks to\nChristoph Gohlke for reporting the issue.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.11.0 to 2.12.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded isnan/isfinite/isinf functions.  Thanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew instructions for adding new functions to the virtual machine.\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/pydata/numexpr/commit/64eb4e1ec1a2591621ac353d251ed7946b6bc188\"\u003e\u003ccode\u003e64eb4e1\u003c/code\u003e\u003c/a\u003e Correct version number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/93b9fee8862d31db94cc38202b8926c18e2f232c\"\u003e\u003ccode\u003e93b9fee\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/aefd3e62f3a7e18362c83c6e22baf416e2c7d668\"\u003e\u003ccode\u003eaefd3e6\u003c/code\u003e\u003c/a\u003e Announcing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/9b071c2de24657b9bdcca91f4f04fe47dce36449\"\u003e\u003ccode\u003e9b071c2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/536\"\u003e#536\u003c/a\u003e from pydata/fix_funcbugs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/780908af3daf970391715bced9621f06157307cc\"\u003e\u003ccode\u003e780908a\u003c/code\u003e\u003c/a\u003e Make test stricter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f1487d4dc52f141e21eeeaff6fbbdc06755b65da\"\u003e\u003ccode\u003ef1487d4\u003c/code\u003e\u003c/a\u003e Fix boolean add/mult\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f114e9f49f759d543d80950f39ff01cff00ddd32\"\u003e\u003ccode\u003ef114e9f\u003c/code\u003e\u003c/a\u003e Add nan handling to maximum/minimum\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f360f1240f460334c380bd1b81d38c5e38deefae\"\u003e\u003ccode\u003ef360f12\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES to reflect changes in functionality\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/6892ed6e87041eec9b8946370fd23a5a96fa8777\"\u003e\u003ccode\u003e6892ed6\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES for version 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/06c00df6d1adc289029905fb26f1009a0e179088\"\u003e\u003ccode\u003e06c00df\u003c/code\u003e\u003c/a\u003e Revise RELEASE_NOTES.rst for new features\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydata/numexpr/compare/v2.8.0...v2.13.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 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/colectric-dev/dispatch/pull/19","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/colectric-dev%2Fdispatch/issues/19","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/19/packages"},{"uuid":"2890248319","node_id":"PR_kwDODTbl_s6sRbB_","number":363,"state":"open","title":"Update numexpr requirement from !=2.8.6,\u003c=2.10.2 to !=2.8.6,\u003c=2.13.1 in /.github/dependabot","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-10-06T13:26:53.000Z","updated_at":"2025-10-06T13:26:54.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"numexpr","old_version":"!=2.8.6,\u003c=2.10.2","new_version":"!=2.8.6,\u003c=2.13.1","repository_url":"https://github.com/pydata/numexpr"}],"path":"/.github/dependabot","ecosystem":"pip"},"body":"Updates the requirements on [numexpr](https://github.com/pydata/numexpr) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst\"\u003enumexpr's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges from 2.13.1 to 2.13.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eUnder development.\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eStatic typing support has been added, making NumExpr compatible with\nstatic type checkers like \u003ccode\u003emypy\u003c/code\u003e and \u003ccode\u003epyright\u003c/code\u003e.\nThanks to Joren Hammudoglu (\u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e) for the work.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.13.0 to 2.13.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePatch to maximum/minimum functions in order to match NumPy NaN handling\u003c/li\u003e\n\u003cli\u003ePatch to convert '+'-\u0026gt;'|' and '*'-\u0026gt;'\u0026amp;' for booleans\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.12.1 to 2.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNew functionality has been added:\u003c/li\u003e\n\u003cli\u003eBitwise operators (and, or, not, xor): \u003ccode\u003e\u0026amp;, |, ~, ^\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNew binary arithmetic operator for floor division: \u003ccode\u003e//\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNew functions: \u003ccode\u003esignbit\u003c/code\u003e, \u003ccode\u003ehypot\u003c/code\u003e, \u003ccode\u003ecopysign\u003c/code\u003e, \u003ccode\u003enextafter\u003c/code\u003e, \u003ccode\u003emaximum\u003c/code\u003e, \u003ccode\u003eminimum\u003c/code\u003e, \u003ccode\u003elog2\u003c/code\u003e, \u003ccode\u003etrunc\u003c/code\u003e, \u003ccode\u003eround\u003c/code\u003e and \u003ccode\u003esign\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAlso enables integer outputs for integer inputs for \u003ccode\u003eabs\u003c/code\u003e, \u003ccode\u003ecopy\u003c/code\u003e, \u003ccode\u003eones_like\u003c/code\u003e, \u003ccode\u003esign\u003c/code\u003e and \u003ccode\u003eround\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to Luke Shaw for the contributions.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNew wheels for Python 3.14 and 3.14t are provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.12.0 to 2.12.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded complex counterparts for isnan/isfinite/isinf functions.\nThanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated documentation for the new functions and instructions\nfor adding new functions to the virtual machine.  Thanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed MKL support; it was broken in 2.12.0.  Thanks to\nChristoph Gohlke for reporting the issue.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.11.0 to 2.12.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded isnan/isfinite/isinf functions.  Thanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew instructions for adding new functions to the virtual machine.\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/pydata/numexpr/commit/64eb4e1ec1a2591621ac353d251ed7946b6bc188\"\u003e\u003ccode\u003e64eb4e1\u003c/code\u003e\u003c/a\u003e Correct version number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/93b9fee8862d31db94cc38202b8926c18e2f232c\"\u003e\u003ccode\u003e93b9fee\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/aefd3e62f3a7e18362c83c6e22baf416e2c7d668\"\u003e\u003ccode\u003eaefd3e6\u003c/code\u003e\u003c/a\u003e Announcing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/9b071c2de24657b9bdcca91f4f04fe47dce36449\"\u003e\u003ccode\u003e9b071c2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/536\"\u003e#536\u003c/a\u003e from pydata/fix_funcbugs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/780908af3daf970391715bced9621f06157307cc\"\u003e\u003ccode\u003e780908a\u003c/code\u003e\u003c/a\u003e Make test stricter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f1487d4dc52f141e21eeeaff6fbbdc06755b65da\"\u003e\u003ccode\u003ef1487d4\u003c/code\u003e\u003c/a\u003e Fix boolean add/mult\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f114e9f49f759d543d80950f39ff01cff00ddd32\"\u003e\u003ccode\u003ef114e9f\u003c/code\u003e\u003c/a\u003e Add nan handling to maximum/minimum\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f360f1240f460334c380bd1b81d38c5e38deefae\"\u003e\u003ccode\u003ef360f12\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES to reflect changes in functionality\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/6892ed6e87041eec9b8946370fd23a5a96fa8777\"\u003e\u003ccode\u003e6892ed6\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES for version 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/06c00df6d1adc289029905fb26f1009a0e179088\"\u003e\u003ccode\u003e06c00df\u003c/code\u003e\u003c/a\u003e Revise RELEASE_NOTES.rst for new features\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydata/numexpr/compare/1.3...v2.13.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 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/European-XFEL/EXtra-geom/pull/363","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/European-XFEL%2FEXtra-geom/issues/363","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/363/packages"},{"uuid":"2888831333","node_id":"PR_kwDOH2YLAs6sMBFl","number":504,"state":"closed","title":"Update numexpr requirement from \u003c2.13.1,\u003e=2.8 to \u003e=2.8,\u003c2.13.2","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-10-06T05:16:35.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-06T05:09:36.000Z","updated_at":"2025-10-06T05:16:35.000Z","time_to_close":419,"merged_at":"2025-10-06T05:16:35.000Z","merged_by":"rmi-auto-merge-helper[bot]","closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"numexpr","old_version":"\u003c2.13.1,\u003e=2.8","new_version":"\u003e=2.8,\u003c2.13.2","repository_url":"https://github.com/pydata/numexpr"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [numexpr](https://github.com/pydata/numexpr) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst\"\u003enumexpr's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges from 2.13.1 to 2.13.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eUnder development.\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.13.0 to 2.13.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePatch to maximum/minimum functions in order to match NumPy NaN handling\u003c/li\u003e\n\u003cli\u003ePatch to convert '+'-\u0026gt;'|' and '*'-\u0026gt;'\u0026amp;' for booleans\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.12.1 to 2.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNew functionality has been added:\u003c/li\u003e\n\u003cli\u003eBitwise operators (and, or, not, xor): \u003ccode\u003e\u0026amp;, |, ~, ^\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNew binary arithmetic operator for floor division: \u003ccode\u003e//\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNew functions: \u003ccode\u003esignbit\u003c/code\u003e, \u003ccode\u003ehypot\u003c/code\u003e, \u003ccode\u003ecopysign\u003c/code\u003e, \u003ccode\u003enextafter\u003c/code\u003e, \u003ccode\u003emaximum\u003c/code\u003e, \u003ccode\u003eminimum\u003c/code\u003e, \u003ccode\u003elog2\u003c/code\u003e, \u003ccode\u003etrunc\u003c/code\u003e, \u003ccode\u003eround\u003c/code\u003e and \u003ccode\u003esign\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAlso enables integer outputs for integer inputs for \u003ccode\u003eabs\u003c/code\u003e, \u003ccode\u003ecopy\u003c/code\u003e, \u003ccode\u003eones_like\u003c/code\u003e, \u003ccode\u003esign\u003c/code\u003e and \u003ccode\u003eround\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to Luke Shaw for the contributions.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNew wheels for Python 3.14 and 3.14t are provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.12.0 to 2.12.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded complex counterparts for isnan/isfinite/isinf functions.\nThanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated documentation for the new functions and instructions\nfor adding new functions to the virtual machine.  Thanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed MKL support; it was broken in 2.12.0.  Thanks to\nChristoph Gohlke for reporting the issue.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.11.0 to 2.12.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded isnan/isfinite/isinf functions.  Thanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew instructions for adding new functions to the virtual machine.\nThey are available at ADDFUNCS.rst.  Thanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWe are distributing binary wheels for Python 3.14 and 3.14t now.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWe are distributing musllinux wheels too!  Thanks to Clément Robert.\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/pydata/numexpr/commit/64eb4e1ec1a2591621ac353d251ed7946b6bc188\"\u003e\u003ccode\u003e64eb4e1\u003c/code\u003e\u003c/a\u003e Correct version number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/93b9fee8862d31db94cc38202b8926c18e2f232c\"\u003e\u003ccode\u003e93b9fee\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/aefd3e62f3a7e18362c83c6e22baf416e2c7d668\"\u003e\u003ccode\u003eaefd3e6\u003c/code\u003e\u003c/a\u003e Announcing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/9b071c2de24657b9bdcca91f4f04fe47dce36449\"\u003e\u003ccode\u003e9b071c2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/536\"\u003e#536\u003c/a\u003e from pydata/fix_funcbugs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/780908af3daf970391715bced9621f06157307cc\"\u003e\u003ccode\u003e780908a\u003c/code\u003e\u003c/a\u003e Make test stricter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f1487d4dc52f141e21eeeaff6fbbdc06755b65da\"\u003e\u003ccode\u003ef1487d4\u003c/code\u003e\u003c/a\u003e Fix boolean add/mult\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f114e9f49f759d543d80950f39ff01cff00ddd32\"\u003e\u003ccode\u003ef114e9f\u003c/code\u003e\u003c/a\u003e Add nan handling to maximum/minimum\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f360f1240f460334c380bd1b81d38c5e38deefae\"\u003e\u003ccode\u003ef360f12\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES to reflect changes in functionality\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/6892ed6e87041eec9b8946370fd23a5a96fa8777\"\u003e\u003ccode\u003e6892ed6\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES for version 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/06c00df6d1adc289029905fb26f1009a0e179088\"\u003e\u003ccode\u003e06c00df\u003c/code\u003e\u003c/a\u003e Revise RELEASE_NOTES.rst for new features\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydata/numexpr/compare/v2.8.0...v2.13.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 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/RMI/dispatch/pull/504","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/RMI%2Fdispatch/issues/504","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/504/packages"},{"uuid":"2888726281","node_id":"PR_kwDOP1mTrM6sLncJ","number":16,"state":"open","title":"chore(deps): bump numexpr from 2.12.1 to 2.13.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-10-06T03:45:01.000Z","updated_at":"2025-10-06T03:45:02.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"numexpr","old_version":"2.12.1","new_version":"2.13.1","repository_url":"https://github.com/pydata/numexpr"}],"path":null,"ecosystem":"pip"},"body":"Bumps [numexpr](https://github.com/pydata/numexpr) from 2.12.1 to 2.13.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst\"\u003enumexpr's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges from 2.13.1 to 2.13.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eUnder development.\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.13.0 to 2.13.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePatch to maximum/minimum functions in order to match NumPy NaN handling\u003c/li\u003e\n\u003cli\u003ePatch to convert '+'-\u0026gt;'|' and '*'-\u0026gt;'\u0026amp;' for booleans\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/pydata/numexpr/commit/64eb4e1ec1a2591621ac353d251ed7946b6bc188\"\u003e\u003ccode\u003e64eb4e1\u003c/code\u003e\u003c/a\u003e Correct version number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/93b9fee8862d31db94cc38202b8926c18e2f232c\"\u003e\u003ccode\u003e93b9fee\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/aefd3e62f3a7e18362c83c6e22baf416e2c7d668\"\u003e\u003ccode\u003eaefd3e6\u003c/code\u003e\u003c/a\u003e Announcing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/9b071c2de24657b9bdcca91f4f04fe47dce36449\"\u003e\u003ccode\u003e9b071c2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/536\"\u003e#536\u003c/a\u003e from pydata/fix_funcbugs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/780908af3daf970391715bced9621f06157307cc\"\u003e\u003ccode\u003e780908a\u003c/code\u003e\u003c/a\u003e Make test stricter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f1487d4dc52f141e21eeeaff6fbbdc06755b65da\"\u003e\u003ccode\u003ef1487d4\u003c/code\u003e\u003c/a\u003e Fix boolean add/mult\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f114e9f49f759d543d80950f39ff01cff00ddd32\"\u003e\u003ccode\u003ef114e9f\u003c/code\u003e\u003c/a\u003e Add nan handling to maximum/minimum\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f360f1240f460334c380bd1b81d38c5e38deefae\"\u003e\u003ccode\u003ef360f12\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES to reflect changes in functionality\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/6892ed6e87041eec9b8946370fd23a5a96fa8777\"\u003e\u003ccode\u003e6892ed6\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES for version 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/06c00df6d1adc289029905fb26f1009a0e179088\"\u003e\u003ccode\u003e06c00df\u003c/code\u003e\u003c/a\u003e Revise RELEASE_NOTES.rst for new features\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydata/numexpr/compare/v2.12.1...v2.13.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=numexpr\u0026package-manager=pip\u0026previous-version=2.12.1\u0026new-version=2.13.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/kmoore241/freqtrade/pull/16","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kmoore241%2Ffreqtrade/issues/16","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/16/packages"},{"uuid":"3485571932","node_id":"PR_kwDOPuZoZ86sLlhP","number":30,"state":"closed","title":"chore(deps): bump numexpr from 2.11.0 to 2.13.1","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-10-20T03:47:45.000Z","author_association":null,"state_reason":null,"created_at":"2025-10-06T03:38:52.000Z","updated_at":"2025-10-20T03:47:46.000Z","time_to_close":1210133,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"numexpr","old_version":"2.11.0","new_version":"2.13.1","repository_url":"https://github.com/pydata/numexpr"}],"path":null,"ecosystem":"pip"},"body":"Bumps [numexpr](https://github.com/pydata/numexpr) from 2.11.0 to 2.13.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst\"\u003enumexpr's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges from 2.13.1 to 2.13.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eUnder development.\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.13.0 to 2.13.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePatch to maximum/minimum functions in order to match NumPy NaN handling\u003c/li\u003e\n\u003cli\u003ePatch to convert '+'-\u0026gt;'|' and '*'-\u0026gt;'\u0026amp;' for booleans\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.12.1 to 2.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNew functionality has been added:\u003c/li\u003e\n\u003cli\u003eBitwise operators (and, or, not, xor): \u003ccode\u003e\u0026amp;, |, ~, ^\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNew binary arithmetic operator for floor division: \u003ccode\u003e//\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNew functions: \u003ccode\u003esignbit\u003c/code\u003e, \u003ccode\u003ehypot\u003c/code\u003e, \u003ccode\u003ecopysign\u003c/code\u003e, \u003ccode\u003enextafter\u003c/code\u003e, \u003ccode\u003emaximum\u003c/code\u003e, \u003ccode\u003eminimum\u003c/code\u003e, \u003ccode\u003elog2\u003c/code\u003e, \u003ccode\u003etrunc\u003c/code\u003e, \u003ccode\u003eround\u003c/code\u003e and \u003ccode\u003esign\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAlso enables integer outputs for integer inputs for \u003ccode\u003eabs\u003c/code\u003e, \u003ccode\u003ecopy\u003c/code\u003e, \u003ccode\u003eones_like\u003c/code\u003e, \u003ccode\u003esign\u003c/code\u003e and \u003ccode\u003eround\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to Luke Shaw for the contributions.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNew wheels for Python 3.14 and 3.14t are provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.12.0 to 2.12.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded complex counterparts for isnan/isfinite/isinf functions.\nThanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated documentation for the new functions and instructions\nfor adding new functions to the virtual machine.  Thanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed MKL support; it was broken in 2.12.0.  Thanks to\nChristoph Gohlke for reporting the issue.\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/pydata/numexpr/commit/64eb4e1ec1a2591621ac353d251ed7946b6bc188\"\u003e\u003ccode\u003e64eb4e1\u003c/code\u003e\u003c/a\u003e Correct version number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/93b9fee8862d31db94cc38202b8926c18e2f232c\"\u003e\u003ccode\u003e93b9fee\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/aefd3e62f3a7e18362c83c6e22baf416e2c7d668\"\u003e\u003ccode\u003eaefd3e6\u003c/code\u003e\u003c/a\u003e Announcing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/9b071c2de24657b9bdcca91f4f04fe47dce36449\"\u003e\u003ccode\u003e9b071c2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/536\"\u003e#536\u003c/a\u003e from pydata/fix_funcbugs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/780908af3daf970391715bced9621f06157307cc\"\u003e\u003ccode\u003e780908a\u003c/code\u003e\u003c/a\u003e Make test stricter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f1487d4dc52f141e21eeeaff6fbbdc06755b65da\"\u003e\u003ccode\u003ef1487d4\u003c/code\u003e\u003c/a\u003e Fix boolean add/mult\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f114e9f49f759d543d80950f39ff01cff00ddd32\"\u003e\u003ccode\u003ef114e9f\u003c/code\u003e\u003c/a\u003e Add nan handling to maximum/minimum\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f360f1240f460334c380bd1b81d38c5e38deefae\"\u003e\u003ccode\u003ef360f12\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES to reflect changes in functionality\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/6892ed6e87041eec9b8946370fd23a5a96fa8777\"\u003e\u003ccode\u003e6892ed6\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES for version 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/06c00df6d1adc289029905fb26f1009a0e179088\"\u003e\u003ccode\u003e06c00df\u003c/code\u003e\u003c/a\u003e Revise RELEASE_NOTES.rst for new features\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydata/numexpr/compare/v2.11.0...v2.13.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=numexpr\u0026package-manager=pip\u0026previous-version=2.11.0\u0026new-version=2.13.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/chiendudev/xlinev2/pull/30","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/chiendudev%2Fxlinev2/issues/30","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/30/packages"},{"uuid":"2888714251","node_id":"PR_kwDOOw0Wwc6sLkgL","number":111,"state":"open","title":"chore(deps): bump numexpr from 2.10.2 to 2.13.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-10-06T03:35:26.000Z","updated_at":"2025-10-06T03:35:26.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"numexpr","old_version":"2.10.2","new_version":"2.13.1","repository_url":"https://github.com/pydata/numexpr"}],"path":null,"ecosystem":"pip"},"body":"Bumps [numexpr](https://github.com/pydata/numexpr) from 2.10.2 to 2.13.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst\"\u003enumexpr's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges from 2.13.1 to 2.13.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eUnder development.\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.13.0 to 2.13.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePatch to maximum/minimum functions in order to match NumPy NaN handling\u003c/li\u003e\n\u003cli\u003ePatch to convert '+'-\u0026gt;'|' and '*'-\u0026gt;'\u0026amp;' for booleans\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.12.1 to 2.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNew functionality has been added:\u003c/li\u003e\n\u003cli\u003eBitwise operators (and, or, not, xor): \u003ccode\u003e\u0026amp;, |, ~, ^\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNew binary arithmetic operator for floor division: \u003ccode\u003e//\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNew functions: \u003ccode\u003esignbit\u003c/code\u003e, \u003ccode\u003ehypot\u003c/code\u003e, \u003ccode\u003ecopysign\u003c/code\u003e, \u003ccode\u003enextafter\u003c/code\u003e, \u003ccode\u003emaximum\u003c/code\u003e, \u003ccode\u003eminimum\u003c/code\u003e, \u003ccode\u003elog2\u003c/code\u003e, \u003ccode\u003etrunc\u003c/code\u003e, \u003ccode\u003eround\u003c/code\u003e and \u003ccode\u003esign\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAlso enables integer outputs for integer inputs for \u003ccode\u003eabs\u003c/code\u003e, \u003ccode\u003ecopy\u003c/code\u003e, \u003ccode\u003eones_like\u003c/code\u003e, \u003ccode\u003esign\u003c/code\u003e and \u003ccode\u003eround\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to Luke Shaw for the contributions.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNew wheels for Python 3.14 and 3.14t are provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.12.0 to 2.12.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded complex counterparts for isnan/isfinite/isinf functions.\nThanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated documentation for the new functions and instructions\nfor adding new functions to the virtual machine.  Thanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed MKL support; it was broken in 2.12.0.  Thanks to\nChristoph Gohlke for reporting the issue.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.11.0 to 2.12.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded isnan/isfinite/isinf functions.  Thanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew instructions for adding new functions to the virtual machine.\nThey are available at ADDFUNCS.rst.  Thanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWe are distributing binary wheels for Python 3.14 and 3.14t now.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWe are distributing musllinux wheels too!  Thanks to Clément Robert.\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/pydata/numexpr/commit/64eb4e1ec1a2591621ac353d251ed7946b6bc188\"\u003e\u003ccode\u003e64eb4e1\u003c/code\u003e\u003c/a\u003e Correct version number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/93b9fee8862d31db94cc38202b8926c18e2f232c\"\u003e\u003ccode\u003e93b9fee\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/aefd3e62f3a7e18362c83c6e22baf416e2c7d668\"\u003e\u003ccode\u003eaefd3e6\u003c/code\u003e\u003c/a\u003e Announcing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/9b071c2de24657b9bdcca91f4f04fe47dce36449\"\u003e\u003ccode\u003e9b071c2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/536\"\u003e#536\u003c/a\u003e from pydata/fix_funcbugs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/780908af3daf970391715bced9621f06157307cc\"\u003e\u003ccode\u003e780908a\u003c/code\u003e\u003c/a\u003e Make test stricter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f1487d4dc52f141e21eeeaff6fbbdc06755b65da\"\u003e\u003ccode\u003ef1487d4\u003c/code\u003e\u003c/a\u003e Fix boolean add/mult\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f114e9f49f759d543d80950f39ff01cff00ddd32\"\u003e\u003ccode\u003ef114e9f\u003c/code\u003e\u003c/a\u003e Add nan handling to maximum/minimum\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f360f1240f460334c380bd1b81d38c5e38deefae\"\u003e\u003ccode\u003ef360f12\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES to reflect changes in functionality\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/6892ed6e87041eec9b8946370fd23a5a96fa8777\"\u003e\u003ccode\u003e6892ed6\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES for version 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/06c00df6d1adc289029905fb26f1009a0e179088\"\u003e\u003ccode\u003e06c00df\u003c/code\u003e\u003c/a\u003e Revise RELEASE_NOTES.rst for new features\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydata/numexpr/compare/v2.10.2...v2.13.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=numexpr\u0026package-manager=pip\u0026previous-version=2.10.2\u0026new-version=2.13.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/mooncitydev/https-github.com-freqtrade-freqtrade/pull/111","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mooncitydev%2Fhttps-github.com-freqtrade-freqtrade/issues/111","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/111/packages"},{"uuid":"3485521563","node_id":"PR_kwDOBXYo-M6sLa5M","number":12335,"state":"open","title":"chore(deps): bump numexpr from 2.13.0 to 2.13.1","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-10-06T03:02:08.000Z","updated_at":"2025-10-06T03:52:57.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"numexpr","old_version":"2.13.0","new_version":"2.13.1","repository_url":"https://github.com/pydata/numexpr"}],"path":null,"ecosystem":"pip"},"body":"Bumps [numexpr](https://github.com/pydata/numexpr) from 2.13.0 to 2.13.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst\"\u003enumexpr's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges from 2.13.1 to 2.13.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eUnder development.\u003c/strong\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/pydata/numexpr/commit/64eb4e1ec1a2591621ac353d251ed7946b6bc188\"\u003e\u003ccode\u003e64eb4e1\u003c/code\u003e\u003c/a\u003e Correct version number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/93b9fee8862d31db94cc38202b8926c18e2f232c\"\u003e\u003ccode\u003e93b9fee\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/aefd3e62f3a7e18362c83c6e22baf416e2c7d668\"\u003e\u003ccode\u003eaefd3e6\u003c/code\u003e\u003c/a\u003e Announcing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/9b071c2de24657b9bdcca91f4f04fe47dce36449\"\u003e\u003ccode\u003e9b071c2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/536\"\u003e#536\u003c/a\u003e from pydata/fix_funcbugs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/780908af3daf970391715bced9621f06157307cc\"\u003e\u003ccode\u003e780908a\u003c/code\u003e\u003c/a\u003e Make test stricter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f1487d4dc52f141e21eeeaff6fbbdc06755b65da\"\u003e\u003ccode\u003ef1487d4\u003c/code\u003e\u003c/a\u003e Fix boolean add/mult\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f114e9f49f759d543d80950f39ff01cff00ddd32\"\u003e\u003ccode\u003ef114e9f\u003c/code\u003e\u003c/a\u003e Add nan handling to maximum/minimum\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f360f1240f460334c380bd1b81d38c5e38deefae\"\u003e\u003ccode\u003ef360f12\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES to reflect changes in functionality\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/6892ed6e87041eec9b8946370fd23a5a96fa8777\"\u003e\u003ccode\u003e6892ed6\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES for version 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/06c00df6d1adc289029905fb26f1009a0e179088\"\u003e\u003ccode\u003e06c00df\u003c/code\u003e\u003c/a\u003e Revise RELEASE_NOTES.rst for new features\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydata/numexpr/compare/v2.13.0...v2.13.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=numexpr\u0026package-manager=pip\u0026previous-version=2.13.0\u0026new-version=2.13.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/freqtrade/freqtrade/pull/12335","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/freqtrade%2Ffreqtrade/issues/12335","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/12335/packages"},{"uuid":"2878607588","node_id":"PR_kwDOP6bKB86rlBDk","number":12,"state":"open","title":"chore(deps): bump numexpr from 2.12.1 to 2.13.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-10-01T14:55:12.000Z","updated_at":"2025-10-01T14:55:13.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"numexpr","old_version":"2.12.1","new_version":"2.13.1","repository_url":"https://github.com/pydata/numexpr"}],"path":null,"ecosystem":"pip"},"body":"Bumps [numexpr](https://github.com/pydata/numexpr) from 2.12.1 to 2.13.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst\"\u003enumexpr's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges from 2.13.1 to 2.13.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eUnder development.\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.13.0 to 2.13.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePatch to maximum/minimum functions in order to match NumPy NaN handling\u003c/li\u003e\n\u003cli\u003ePatch to convert '+'-\u0026gt;'|' and '*'-\u0026gt;'\u0026amp;' for booleans\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/pydata/numexpr/commit/64eb4e1ec1a2591621ac353d251ed7946b6bc188\"\u003e\u003ccode\u003e64eb4e1\u003c/code\u003e\u003c/a\u003e Correct version number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/93b9fee8862d31db94cc38202b8926c18e2f232c\"\u003e\u003ccode\u003e93b9fee\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/aefd3e62f3a7e18362c83c6e22baf416e2c7d668\"\u003e\u003ccode\u003eaefd3e6\u003c/code\u003e\u003c/a\u003e Announcing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/9b071c2de24657b9bdcca91f4f04fe47dce36449\"\u003e\u003ccode\u003e9b071c2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/536\"\u003e#536\u003c/a\u003e from pydata/fix_funcbugs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/780908af3daf970391715bced9621f06157307cc\"\u003e\u003ccode\u003e780908a\u003c/code\u003e\u003c/a\u003e Make test stricter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f1487d4dc52f141e21eeeaff6fbbdc06755b65da\"\u003e\u003ccode\u003ef1487d4\u003c/code\u003e\u003c/a\u003e Fix boolean add/mult\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f114e9f49f759d543d80950f39ff01cff00ddd32\"\u003e\u003ccode\u003ef114e9f\u003c/code\u003e\u003c/a\u003e Add nan handling to maximum/minimum\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f360f1240f460334c380bd1b81d38c5e38deefae\"\u003e\u003ccode\u003ef360f12\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES to reflect changes in functionality\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/6892ed6e87041eec9b8946370fd23a5a96fa8777\"\u003e\u003ccode\u003e6892ed6\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES for version 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/06c00df6d1adc289029905fb26f1009a0e179088\"\u003e\u003ccode\u003e06c00df\u003c/code\u003e\u003c/a\u003e Revise RELEASE_NOTES.rst for new features\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydata/numexpr/compare/v2.12.1...v2.13.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=numexpr\u0026package-manager=pip\u0026previous-version=2.12.1\u0026new-version=2.13.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/Martin-dq/Freqtrade-Martin/pull/12","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Martin-dq%2FFreqtrade-Martin/issues/12","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/12/packages"},{"uuid":"2878404344","node_id":"PR_kwDOABwj4s6rkPb4","number":1258,"state":"open","title":"Bump the pip group with 5 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-10-01T14:07:07.000Z","updated_at":"2025-10-01T14:07:08.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"pip","update_count":5,"packages":[{"name":"numpy","old_version":"2.3.2","new_version":"2.3.3","repository_url":"https://github.com/numpy/numpy"},{"name":"numexpr","old_version":"2.10.2","new_version":"2.13.1","repository_url":"https://github.com/pydata/numexpr"},{"name":"blosc2","old_version":"3.6.1","new_version":"3.9.1","repository_url":"https://github.com/Blosc/python-blosc2"},{"name":"typing-extensions","old_version":"4.14.1","new_version":"4.15.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"ipython","old_version":"9.4.0","new_version":"9.6.0","repository_url":"https://github.com/ipython/ipython"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 5 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [numpy](https://github.com/numpy/numpy) | `2.3.2` | `2.3.3` |\n| [numexpr](https://github.com/pydata/numexpr) | `2.10.2` | `2.13.1` |\n| [blosc2](https://github.com/Blosc/python-blosc2) | `3.6.1` | `3.9.1` |\n| [typing-extensions](https://github.com/python/typing_extensions) | `4.14.1` | `4.15.0` |\n| [ipython](https://github.com/ipython/ipython) | `9.4.0` | `9.6.0` |\n\nUpdates `numpy` from 2.3.2 to 2.3.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.3.3 (Sep 9, 2025)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.3.3 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.3.3 release is a patch release split between a number of maintenance\nupdates and bug fixes. This release supports Python versions 3.11-3.14. Note\nthat the 3.14.0 final is currently expected in Oct, 2025. This release is based\non 3.14.0rc2.\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eA total of 13 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\u003eAleksandr A. Voyt +\u003c/li\u003e\n\u003cli\u003eBernard Roesler +\u003c/li\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eHunter Hogan +\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eMaanas Arora\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003eRaghuveer Devulapalli\u003c/li\u003e\n\u003cli\u003eSanjay Kumar Sakamuri Kamalakar +\u003c/li\u003e\n\u003cli\u003eTobias Markus +\u003c/li\u003e\n\u003cli\u003eWarren Weckesser\u003c/li\u003e\n\u003cli\u003eZebreus +\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 23 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/29440\"\u003e#29440\u003c/a\u003e: MAINT: Prepare 2.3.x for further development.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29446\"\u003e#29446\u003c/a\u003e: BUG: Fix test_configtool_pkgconfigdir to resolve PKG_CONFIG_DIR...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29447\"\u003e#29447\u003c/a\u003e: BLD: allow targeting webassembly without emscripten\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29460\"\u003e#29460\u003c/a\u003e: MAINT: Backport write_release.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29473\"\u003e#29473\u003c/a\u003e: MAINT: Bump pypa/cibuildwheel from 3.1.0 to 3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29500\"\u003e#29500\u003c/a\u003e: BUG: Always return a real dtype from linalg.cond (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/18304\"\u003egh-18304\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29333\"\u003e#29333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29501\"\u003e#29501\u003c/a\u003e: MAINT: Add .file entry to all .s SVML files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29556\"\u003e#29556\u003c/a\u003e: BUG: Casting from one timedelta64 to another didn't handle NAT.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29562\"\u003e#29562\u003c/a\u003e: BLD: update vendored Meson to 1.8.3 [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29563\"\u003e#29563\u003c/a\u003e: BUG: Fix metadata not roundtripping when pickling datetime (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29555\"\u003e#29555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29587\"\u003e#29587\u003c/a\u003e: TST: update link and version for Intel SDE download\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29593\"\u003e#29593\u003c/a\u003e: TYP: add \u003ccode\u003esorted\u003c/code\u003e kwarg to \u003ccode\u003eunique\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29672\"\u003e#29672\u003c/a\u003e: MAINT: Update pythoncapi-compat from main.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29673\"\u003e#29673\u003c/a\u003e: MAINT: Update cibuildwheel.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29674\"\u003e#29674\u003c/a\u003e: MAINT: Fix typo in wheels.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29683\"\u003e#29683\u003c/a\u003e: BUG, BLD: Correct regex for ppc64 VSX3/VSX4 feature detection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29684\"\u003e#29684\u003c/a\u003e: TYP: ndarray.fill() takes no keyword arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29685\"\u003e#29685\u003c/a\u003e: BUG: avoid thread-unsafe refcount check in temp elision\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29687\"\u003e#29687\u003c/a\u003e: CI: replace comment-hider action in mypy_primer workflow\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/f2a77a76e08719556527e0819182073fe9b5f1c3\"\u003e\u003ccode\u003ef2a77a7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29702\"\u003e#29702\u003c/a\u003e from charris/prepare-2.3.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/8641006104c02492ced251c707c88611621db9e8\"\u003e\u003ccode\u003e8641006\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.3.3 release [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f024265b1aec949ab7d59a9bb82614fae0701255\"\u003e\u003ccode\u003ef024265\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29701\"\u003e#29701\u003c/a\u003e from charris/backport-29697\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/84f2eedb58c4a7370e0d4865a2b11e0420cdf634\"\u003e\u003ccode\u003e84f2eed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29700\"\u003e#29700\u003c/a\u003e from charris/backport-29695\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7cacdbf8855fd6da6a7d116bebd896b393e4f441\"\u003e\u003ccode\u003e7cacdbf\u003c/code\u003e\u003c/a\u003e Update VXE and VXE2 detection regex patterns\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/028c46989fee6f8dfc1192d4f71c277deae0c4f9\"\u003e\u003ccode\u003e028c469\u003c/code\u003e\u003c/a\u003e TYP: appease ruff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/4b80666b63d7779e2509d0690f68a977528268a9\"\u003e\u003ccode\u003e4b80666\u003c/code\u003e\u003c/a\u003e TYP: fix \u003ccode\u003enp.bool\u003c/code\u003e method declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f2a6b75df162d9a0904b0dbc07b707020fe9d1d5\"\u003e\u003ccode\u003ef2a6b75\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29691\"\u003e#29691\u003c/a\u003e from charris/backport-29665\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/a707cbf5e36c9316099f6ae471718d98a18170f5\"\u003e\u003ccode\u003ea707cbf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29689\"\u003e#29689\u003c/a\u003e from charris/backport-29662\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/3d66056fa31a89fefb632229eb21f21d63cd8964\"\u003e\u003ccode\u003e3d66056\u003c/code\u003e\u003c/a\u003e BUG: use correct input dtype in flatiter assignment\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.3.2...v2.3.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numexpr` from 2.10.2 to 2.13.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst\"\u003enumexpr's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges from 2.13.1 to 2.13.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eUnder development.\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.13.0 to 2.13.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePatch to maximum/minimum functions in order to match NumPy NaN handling\u003c/li\u003e\n\u003cli\u003ePatch to convert '+'-\u0026gt;'|' and '*'-\u0026gt;'\u0026amp;' for booleans\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.12.1 to 2.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNew functionality has been added:\u003c/li\u003e\n\u003cli\u003eBitwise operators (and, or, not, xor): \u003ccode\u003e\u0026amp;, |, ~, ^\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNew binary arithmetic operator for floor division: \u003ccode\u003e//\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNew functions: \u003ccode\u003esignbit\u003c/code\u003e, \u003ccode\u003ehypot\u003c/code\u003e, \u003ccode\u003ecopysign\u003c/code\u003e, \u003ccode\u003enextafter\u003c/code\u003e, \u003ccode\u003emaximum\u003c/code\u003e, \u003ccode\u003eminimum\u003c/code\u003e, \u003ccode\u003elog2\u003c/code\u003e, \u003ccode\u003etrunc\u003c/code\u003e, \u003ccode\u003eround\u003c/code\u003e and \u003ccode\u003esign\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAlso enables integer outputs for integer inputs for \u003ccode\u003eabs\u003c/code\u003e, \u003ccode\u003ecopy\u003c/code\u003e, \u003ccode\u003eones_like\u003c/code\u003e, \u003ccode\u003esign\u003c/code\u003e and \u003ccode\u003eround\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to Luke Shaw for the contributions.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNew wheels for Python 3.14 and 3.14t are provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.12.0 to 2.12.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded complex counterparts for isnan/isfinite/isinf functions.\nThanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated documentation for the new functions and instructions\nfor adding new functions to the virtual machine.  Thanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed MKL support; it was broken in 2.12.0.  Thanks to\nChristoph Gohlke for reporting the issue.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.11.0 to 2.12.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded isnan/isfinite/isinf functions.  Thanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew instructions for adding new functions to the virtual machine.\nThey are available at ADDFUNCS.rst.  Thanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWe are distributing binary wheels for Python 3.14 and 3.14t now.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWe are distributing musllinux wheels too!  Thanks to Clément Robert.\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/pydata/numexpr/commit/64eb4e1ec1a2591621ac353d251ed7946b6bc188\"\u003e\u003ccode\u003e64eb4e1\u003c/code\u003e\u003c/a\u003e Correct version number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/93b9fee8862d31db94cc38202b8926c18e2f232c\"\u003e\u003ccode\u003e93b9fee\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/aefd3e62f3a7e18362c83c6e22baf416e2c7d668\"\u003e\u003ccode\u003eaefd3e6\u003c/code\u003e\u003c/a\u003e Announcing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/9b071c2de24657b9bdcca91f4f04fe47dce36449\"\u003e\u003ccode\u003e9b071c2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/536\"\u003e#536\u003c/a\u003e from pydata/fix_funcbugs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/780908af3daf970391715bced9621f06157307cc\"\u003e\u003ccode\u003e780908a\u003c/code\u003e\u003c/a\u003e Make test stricter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f1487d4dc52f141e21eeeaff6fbbdc06755b65da\"\u003e\u003ccode\u003ef1487d4\u003c/code\u003e\u003c/a\u003e Fix boolean add/mult\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f114e9f49f759d543d80950f39ff01cff00ddd32\"\u003e\u003ccode\u003ef114e9f\u003c/code\u003e\u003c/a\u003e Add nan handling to maximum/minimum\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f360f1240f460334c380bd1b81d38c5e38deefae\"\u003e\u003ccode\u003ef360f12\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES to reflect changes in functionality\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/6892ed6e87041eec9b8946370fd23a5a96fa8777\"\u003e\u003ccode\u003e6892ed6\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES for version 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/06c00df6d1adc289029905fb26f1009a0e179088\"\u003e\u003ccode\u003e06c00df\u003c/code\u003e\u003c/a\u003e Revise RELEASE_NOTES.rst for new features\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydata/numexpr/compare/v2.10.2...v2.13.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `blosc2` from 3.6.1 to 3.9.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Blosc/python-blosc2/releases\"\u003eblosc2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eBlosc2 v3.9.1\u003c/h2\u003e\n\u003ch2\u003eChanges from 3.9.0 to 3.9.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBumped to numexpr 2.13.1 to incorporate new maximum/minimum NaN handling and +/* for booleans\nwhich matches NumPy behaviour.\u003c/li\u003e\n\u003cli\u003eRefactoring in order to ensure Blosc2 functions with NumPy 1.26.\u003c/li\u003e\n\u003cli\u003eStreamlined documentation by introducing Array Protocol\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBlosc2 v3.9.0\u003c/h2\u003e\n\u003cp\u003eMost changes come from PR \u003ca href=\"https://redirect.github.com/Blosc/python-blosc2/issues/467\"\u003e#467\u003c/a\u003e relating to array-api compliance.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eC-Blosc2 internal library updated to latest 2.21.3, increasing MAX_DIMS from 8 to 16\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003enumexpr version requirement pushed to 2.13.0 to incorporate \u003ccode\u003eround\u003c/code\u003e, \u003ccode\u003esign\u003c/code\u003e, \u003ccode\u003esignbit\u003c/code\u003e, \u003ccode\u003ecopysign\u003c/code\u003e, \u003ccode\u003enextafter\u003c/code\u003e, \u003ccode\u003ehypot\u003c/code\u003e, \u003ccode\u003emaximum\u003c/code\u003e, \u003ccode\u003eminimum\u003c/code\u003e, \u003ccode\u003etrunc\u003c/code\u003e, \u003ccode\u003elog2\u003c/code\u003e functions, as well as allow integer outputs for certain functions when integr arguments are passed. We also add floor division (\u003ccode\u003e//\u003c/code\u003e) and full dual bitwise (logical) AND, OR, XOR, NOT\nsupport for integer (bool) arrays.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExtended linear algebra functionality, offering generalised matrix multiplication for arrays of arbitrary dimension via \u003ccode\u003etensordot\u003c/code\u003e and an improved \u003ccode\u003ematmul\u003c/code\u003e. In addition, introduced \u003ccode\u003evecdot\u003c/code\u003e, \u003ccode\u003ediagonal\u003c/code\u003e and \u003ccode\u003eouter\u003c/code\u003e, as well as useful indexing and associated functions such as \u003ccode\u003etake\u003c/code\u003e, \u003ccode\u003etake_along_axis\u003c/code\u003e, \u003ccode\u003emeshgrid\u003c/code\u003e and \u003ccode\u003ebroadcast_to\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded many ufuncs and methods (around 60) to \u003ccode\u003eNDArray\u003c/code\u003e to bring the library into further alignment with the array-api. Introduced a chunkwise lazyudf paradigm which is very powerful in order to implement \u003ccode\u003eclip\u003c/code\u003e and \u003ccode\u003elogaddexp\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed a subtle but important bug for \u003ccode\u003eexpand_dims\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/Blosc/python-blosc2/issues/479\"\u003e#479\u003c/a\u003e, PR \u003ca href=\"https://redirect.github.com/Blosc/python-blosc2/issues/483\"\u003e#483\u003c/a\u003e) relating to reference counting for views.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eVarious typos and other fixes due to \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e !\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBlosc2 v3.8.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/Blosc/python-blosc2/pull/458\"\u003eBlosc/python-blosc2#458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eas_ffi_ptr\u003c/code\u003e to NDArray by \u003ca href=\"https://github.com/barakugav\"\u003e\u003ccode\u003e@​barakugav\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Blosc/python-blosc2/pull/460\"\u003eBlosc/python-blosc2#460\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFancy index by \u003ca href=\"https://github.com/lshaw8317\"\u003e\u003ccode\u003e@​lshaw8317\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Blosc/python-blosc2/pull/459\"\u003eBlosc/python-blosc2#459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-python from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/Blosc/python-blosc2/pull/463\"\u003eBlosc/python-blosc2#463\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit hooks 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/Blosc/python-blosc2/pull/462\"\u003eBlosc/python-blosc2#462\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eArray api by \u003ca href=\"https://github.com/lshaw8317\"\u003e\u003ccode\u003e@​lshaw8317\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Blosc/python-blosc2/pull/461\"\u003eBlosc/python-blosc2#461\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/barakugav\"\u003e\u003ccode\u003e@​barakugav\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Blosc/python-blosc2/pull/460\"\u003eBlosc/python-blosc2#460\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Blosc/python-blosc2/compare/v3.7.2...v3.8.0\"\u003ehttps://github.com/Blosc/python-blosc2/compare/v3.7.2...v3.8.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eRelease 3.7.2\u003c/h2\u003e\n\u003ch2\u003eChanges from 3.7.1 to 3.7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eC-Blosc2 internal library updated to latest 2.21.1.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRevert signature of \u003ccode\u003eTreeStore.__init__\u003c/code\u003e for making benchmarks to get back\nto normal performance.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.7.1\u003c/h2\u003e\n\u003ch2\u003eChanges from 3.7.0 to 3.7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eC2Array.slice()\u003c/code\u003e method and \u003ccode\u003eC2Array.nbytes\u003c/code\u003e, \u003ccode\u003eC2Array.cbytes\u003c/code\u003e, \u003ccode\u003eC2Array.cratio\u003c/code\u003e, \u003ccode\u003eC2Array.vlmeta\u003c/code\u003e and \u003ccode\u003eC2Array.info\u003c/code\u003e properties (PR \u003ca href=\"https://redirect.github.com/Blosc/python-blosc2/issues/455\"\u003e#455\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/Blosc/python-blosc2/blob/main/RELEASE_NOTES.md\"\u003eblosc2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges from 3.9.1 to 3.9.2\u003c/h2\u003e\n\u003cp\u003eXXX version-specific blurb XXX\u003c/p\u003e\n\u003ch2\u003eChanges from 3.9.0 to 3.9.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBumped to numexpr 2.13.1 to incorporate new maximum/minimum NaN handling and +/* for booleans\nwhich matches NumPy behaviour.\u003c/li\u003e\n\u003cli\u003eRefactoring in order to ensure Blosc2 functions with NumPy 1.26.\u003c/li\u003e\n\u003cli\u003eStreamlined documentation by introducing Array Protocol\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 3.8.0 to 3.9.0\u003c/h2\u003e\n\u003cp\u003eMost changes come from PR \u003ca href=\"https://redirect.github.com/Blosc/python-blosc2/issues/467\"\u003e#467\u003c/a\u003e relating to array-api compliance.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eC-Blosc2 internal library updated to latest 2.21.3, increasing MAX_DIMS from 8 to 16\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003enumexpr version requirement pushed to 2.13.0 to incorporate\n\u003ccode\u003eround\u003c/code\u003e, \u003ccode\u003esign\u003c/code\u003e, \u003ccode\u003esignbit\u003c/code\u003e, \u003ccode\u003ecopysign\u003c/code\u003e, \u003ccode\u003enextafter\u003c/code\u003e, \u003ccode\u003ehypot\u003c/code\u003e,\n\u003ccode\u003emaximum\u003c/code\u003e, \u003ccode\u003eminimum\u003c/code\u003e, \u003ccode\u003etrunc\u003c/code\u003e, \u003ccode\u003elog2\u003c/code\u003e functions, as well as allow\ninteger outputs for certain functions when integr arguments are passed.\nWe also add floor division (\u003ccode\u003e//\u003c/code\u003e) and full dual bitwise (logical) AND, OR, XOR, NOT\nsupport for integer (bool) arrays.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExtended linear algebra functionality, offering generalised matrix multiplication\nfor arrays of arbitrary dimension via \u003ccode\u003etensordot\u003c/code\u003e and an improved \u003ccode\u003ematmul\u003c/code\u003e. In addition,\nintroduced \u003ccode\u003evecdot\u003c/code\u003e, \u003ccode\u003ediagonal\u003c/code\u003e and \u003ccode\u003eouter\u003c/code\u003e, as well as useful indexing and associated functions such as \u003ccode\u003etake\u003c/code\u003e, \u003ccode\u003etake_along_axis\u003c/code\u003e, \u003ccode\u003emeshgrid\u003c/code\u003e and \u003ccode\u003ebroadcast_to\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded many ufuncs and methods (around 60) to \u003ccode\u003eNDArray\u003c/code\u003e to bring the library into further alignment with the array-api. Introduced a chunkwise lazyudf paradigm which is very powerful in order to implement \u003ccode\u003eclip\u003c/code\u003e and \u003ccode\u003elogaddexp\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed a subtle but important bug for \u003ccode\u003eexpand_dims\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/Blosc/python-blosc2/issues/479\"\u003e#479\u003c/a\u003e, PR \u003ca href=\"https://redirect.github.com/Blosc/python-blosc2/issues/483\"\u003e#483\u003c/a\u003e) relating to reference counting for views.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 3.7.2 to 3.8.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eC-Blosc2 internal library updated to latest 2.21.2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003enumexpr version requirement pushed to 2.12.1 to incorporate\n\u003ccode\u003eisnan\u003c/code\u003e, \u003ccode\u003eisfinite\u003c/code\u003e, \u003ccode\u003eisinf\u003c/code\u003e functions.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIndexing is now supported extensively and reasonably optimally for slices\nwith negative steps and general boolean arrays, with both get/setitem having\nequal functionality. In PR \u003ca href=\"https://redirect.github.com/Blosc/python-blosc2/issues/459\"\u003e#459\u003c/a\u003e we extended the 1D fast path to general N-D,\nwith consequent speedups. In PR # we allowed fancy indexing and general slicing\nwith negative steps for set and getitem, with a memory-optimised path for setitem.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eVarious attributes and methods for the \u003ccode\u003eNDArray\u003c/code\u003e class, as well as functions, have\nbeen added to increase compliance with the array-api standard. In addition,\nlinspace and arange functions have been made more numerically stable and now strictly\ncomply even with difficult floating-point edge cases.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 3.7.1 to 3.7.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Blosc/python-blosc2/commit/08bf4b7bb5ac33f91ede06ce676d7ad2f09184d6\"\u003e\u003ccode\u003e08bf4b7\u003c/code\u003e\u003c/a\u003e Getting ready for release 3.9.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Blosc/python-blosc2/commit/cd50b14933930e7e648b4296493d61ce36fd3562\"\u003e\u003ccode\u003ecd50b14\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Blosc/python-blosc2/issues/490\"\u003e#490\u003c/a\u003e from Blosc/remove_addbool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Blosc/python-blosc2/commit/28beee38de516609d079ca5454c56bc35b53786e\"\u003e\u003ccode\u003e28beee3\u003c/code\u003e\u003c/a\u003e Use a SimpleProxy for avoiding unnecessary copies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Blosc/python-blosc2/commit/6c9856c12f78fcc1fb5ec612d1e54a5c4fdc8ec8\"\u003e\u003ccode\u003e6c9856c\u003c/code\u003e\u003c/a\u003e Add blosc2.asarray check for objects following Array protocol\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Blosc/python-blosc2/commit/e99ffa1fab67cfb75c986361dc1e6b670dc8e461\"\u003e\u003ccode\u003ee99ffa1\u003c/code\u003e\u003c/a\u003e Add test for objects following minimal Array protocol\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Blosc/python-blosc2/commit/7fbc01a53a9385fccb0613831d5021db0e14adb9\"\u003e\u003ccode\u003e7fbc01a\u003c/code\u003e\u003c/a\u003e Bump numexpr version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Blosc/python-blosc2/commit/caffe6f88b90ad8d8485d2299f0e3ade4102472c\"\u003e\u003ccode\u003ecaffe6f\u003c/code\u003e\u003c/a\u003e Fix ufunc position\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Blosc/python-blosc2/commit/15bec37effee62101b89aff9c93b009ca65727b6\"\u003e\u003ccode\u003e15bec37\u003c/code\u003e\u003c/a\u003e Remove boolean handling and unify LazyExpr/NDArray expr handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Blosc/python-blosc2/commit/d65ae7842651a1a021e8239daef303ddf9c9d768\"\u003e\u003ccode\u003ed65ae78\u003c/code\u003e\u003c/a\u003e Merge branch 'main' of github.com:Blosc/python-blosc2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Blosc/python-blosc2/commit/8758f79b52c87ab5ea765d495112a367986fd465\"\u003e\u003ccode\u003e8758f79\u003c/code\u003e\u003c/a\u003e Add tensordot bench\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Blosc/python-blosc2/compare/v3.6.1...v3.9.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typing-extensions` from 4.14.1 to 4.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/typing_extensions/releases\"\u003etyping-extensions's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.15.0\u003c/h2\u003e\n\u003cp\u003eNo user-facing changes since 4.15.0rc1.\u003c/p\u003e\n\u003cp\u003eNew features since 4.14.1:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.15.0rc1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/typing_extensions/blob/main/CHANGELOG.md\"\u003etyping-extensions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease 4.15.0 (August 25, 2025)\u003c/h1\u003e\n\u003cp\u003eNo user-facing changes since 4.15.0rc1.\u003c/p\u003e\n\u003ch1\u003eRelease 4.15.0rc1 (August 18, 2025)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\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/typing_extensions/commit/9d1637e264b5c1a6b7acee3e907015f89b20c2c9\"\u003e\u003ccode\u003e9d1637e\u003c/code\u003e\u003c/a\u003e Prepare release 4.15.0 (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/658\"\u003e#658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/4bd67c5be5d9443c7d33c314d02a56ee125eb88d\"\u003e\u003ccode\u003e4bd67c5\u003c/code\u003e\u003c/a\u003e Coverage: exclude some noise (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/656\"\u003e#656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/e589a26da73b075c5276bae40b86db1af0144f84\"\u003e\u003ccode\u003ee589a26\u003c/code\u003e\u003c/a\u003e Coverage: add detailed report to job summary (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/655\"\u003e#655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/67d37fed1298e050f74d5acc95b2621bd37837ad\"\u003e\u003ccode\u003e67d37fe\u003c/code\u003e\u003c/a\u003e Coverage: Implement fail_under (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/654\"\u003e#654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/e9ae26f5286edee9262727755ecb9ad16e999192\"\u003e\u003ccode\u003ee9ae26f\u003c/code\u003e\u003c/a\u003e Don't delete previous coverage comment (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/653\"\u003e#653\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/ac80bb728a3006fc88ef7373b92f0c25cfcc7895\"\u003e\u003ccode\u003eac80bb7\u003c/code\u003e\u003c/a\u003e Add Coverage workflow (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/623\"\u003e#623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/abaaafd98c1cc7e5baf098ec287a3d22cb339670\"\u003e\u003ccode\u003eabaaafd\u003c/code\u003e\u003c/a\u003e Prepare release 4.15.0rc1 (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/650\"\u003e#650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/98104053ea8d49bcdd247804e5fa9f73136acbd4\"\u003e\u003ccode\u003e9810405\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e@disjoint_base\u003c/code\u003e (PEP 800) (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/634\"\u003e#634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/7ee9e05fd484d06899ce56e80f5e1aa4c760fc03\"\u003e\u003ccode\u003e7ee9e05\u003c/code\u003e\u003c/a\u003e Backport type_params fix from CPython (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/646\"\u003e#646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/1e8eb9c06ef51b3a1e1f05303a16feca13f5ed98\"\u003e\u003ccode\u003e1e8eb9c\u003c/code\u003e\u003c/a\u003e Do not refer to PEP 705 as being experimental (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/648\"\u003e#648\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/typing_extensions/compare/4.14.1...4.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ipython` from 9.4.0 to 9.6.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/48b00eb07df8f7131838840d0cbfd2655d8ef83a\"\u003e\u003ccode\u003e48b00eb\u003c/code\u003e\u003c/a\u003e release 9.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/d87f745dec534f7176f995dcfdeb84b30a40e11d\"\u003e\u003ccode\u003ed87f745\u003c/code\u003e\u003c/a\u003e Add release notes for 9.6 (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/15002\"\u003e#15002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/cfacd05d0438eceaaa3ebe8ebf77b0c098703d6f\"\u003e\u003ccode\u003ecfacd05\u003c/code\u003e\u003c/a\u003e Type-guided partial evaluation for completion of unitialized variables (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/14993\"\u003e#14993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/7c971224f63bb3ba84147746d88d0c5321d53ca1\"\u003e\u003ccode\u003e7c97122\u003c/code\u003e\u003c/a\u003e Fix: Add support for forward_char as a keyboard shortcut (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/15003\"\u003e#15003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/521e98508b04268f92d4bd91ffa9379e172dde19\"\u003e\u003ccode\u003e521e985\u003c/code\u003e\u003c/a\u003e Fix missing command 'forward_char'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/64484bb424c155be04b1889a5a51489a1f8eb85b\"\u003e\u003ccode\u003e64484bb\u003c/code\u003e\u003c/a\u003e This will work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/f3a53d8cf0c936505fc5bed5b2f904d09c9b2cec\"\u003e\u003ccode\u003ef3a53d8\u003c/code\u003e\u003c/a\u003e Fix downstream further\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/c40b9ef5904be6d7a668a05cbc7448aab3abe631\"\u003e\u003ccode\u003ec40b9ef\u003c/code\u003e\u003c/a\u003e Add release notes for 9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/7c20fd6d733f4bc1a236e3acce31c6d50a3eef31\"\u003e\u003ccode\u003e7c20fd6\u003c/code\u003e\u003c/a\u003e Fix downstream compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/cc81ca15f550f98a94d5865be10db853da53fc2f\"\u003e\u003ccode\u003ecc81ca1\u003c/code\u003e\u003c/a\u003e Add module ignoring functionality to debugger (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/14973\"\u003e#14973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ipython/ipython/compare/9.4.0...9.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/PyTables/PyTables/pull/1258","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyTables%2FPyTables/issues/1258","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1258/packages"},{"uuid":"2876792800","node_id":"PR_kwDOKLwT6M6reF_g","number":566,"state":"open","title":"Bump numexpr from 2.13.0 to 2.13.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-10-01T04:12:26.000Z","updated_at":"2025-10-01T04:12:27.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"numexpr","old_version":"2.13.0","new_version":"2.13.1","repository_url":"https://github.com/pydata/numexpr"}],"path":null,"ecosystem":"pip"},"body":"Bumps [numexpr](https://github.com/pydata/numexpr) from 2.13.0 to 2.13.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst\"\u003enumexpr's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges from 2.13.1 to 2.13.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eUnder development.\u003c/strong\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/pydata/numexpr/commit/64eb4e1ec1a2591621ac353d251ed7946b6bc188\"\u003e\u003ccode\u003e64eb4e1\u003c/code\u003e\u003c/a\u003e Correct version number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/93b9fee8862d31db94cc38202b8926c18e2f232c\"\u003e\u003ccode\u003e93b9fee\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/aefd3e62f3a7e18362c83c6e22baf416e2c7d668\"\u003e\u003ccode\u003eaefd3e6\u003c/code\u003e\u003c/a\u003e Announcing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/9b071c2de24657b9bdcca91f4f04fe47dce36449\"\u003e\u003ccode\u003e9b071c2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/536\"\u003e#536\u003c/a\u003e from pydata/fix_funcbugs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/780908af3daf970391715bced9621f06157307cc\"\u003e\u003ccode\u003e780908a\u003c/code\u003e\u003c/a\u003e Make test stricter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f1487d4dc52f141e21eeeaff6fbbdc06755b65da\"\u003e\u003ccode\u003ef1487d4\u003c/code\u003e\u003c/a\u003e Fix boolean add/mult\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f114e9f49f759d543d80950f39ff01cff00ddd32\"\u003e\u003ccode\u003ef114e9f\u003c/code\u003e\u003c/a\u003e Add nan handling to maximum/minimum\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f360f1240f460334c380bd1b81d38c5e38deefae\"\u003e\u003ccode\u003ef360f12\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES to reflect changes in functionality\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/6892ed6e87041eec9b8946370fd23a5a96fa8777\"\u003e\u003ccode\u003e6892ed6\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES for version 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/06c00df6d1adc289029905fb26f1009a0e179088\"\u003e\u003ccode\u003e06c00df\u003c/code\u003e\u003c/a\u003e Revise RELEASE_NOTES.rst for new features\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydata/numexpr/compare/v2.13.0...v2.13.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=numexpr\u0026package-manager=pip\u0026previous-version=2.13.0\u0026new-version=2.13.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/quantbelt/jupyter-quant/pull/566","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/quantbelt%2Fjupyter-quant/issues/566","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/566/packages"},{"uuid":"2876478624","node_id":"PR_kwDODu5ynM6rc5Sg","number":4023,"state":"closed","title":"Bump numexpr from 2.13.0 to 2.13.1","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-10-01T05:58:37.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-01T01:02:17.000Z","updated_at":"2025-10-01T05:58:37.000Z","time_to_close":17780,"merged_at":"2025-10-01T05:58:37.000Z","merged_by":"rikardn","closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"numexpr","old_version":"2.13.0","new_version":"2.13.1","repository_url":"https://github.com/pydata/numexpr"}],"path":null,"ecosystem":"pip"},"body":"Bumps [numexpr](https://github.com/pydata/numexpr) from 2.13.0 to 2.13.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst\"\u003enumexpr's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges from 2.13.1 to 2.13.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eUnder development.\u003c/strong\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/pydata/numexpr/commit/64eb4e1ec1a2591621ac353d251ed7946b6bc188\"\u003e\u003ccode\u003e64eb4e1\u003c/code\u003e\u003c/a\u003e Correct version number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/93b9fee8862d31db94cc38202b8926c18e2f232c\"\u003e\u003ccode\u003e93b9fee\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/aefd3e62f3a7e18362c83c6e22baf416e2c7d668\"\u003e\u003ccode\u003eaefd3e6\u003c/code\u003e\u003c/a\u003e Announcing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/9b071c2de24657b9bdcca91f4f04fe47dce36449\"\u003e\u003ccode\u003e9b071c2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/536\"\u003e#536\u003c/a\u003e from pydata/fix_funcbugs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/780908af3daf970391715bced9621f06157307cc\"\u003e\u003ccode\u003e780908a\u003c/code\u003e\u003c/a\u003e Make test stricter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f1487d4dc52f141e21eeeaff6fbbdc06755b65da\"\u003e\u003ccode\u003ef1487d4\u003c/code\u003e\u003c/a\u003e Fix boolean add/mult\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f114e9f49f759d543d80950f39ff01cff00ddd32\"\u003e\u003ccode\u003ef114e9f\u003c/code\u003e\u003c/a\u003e Add nan handling to maximum/minimum\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f360f1240f460334c380bd1b81d38c5e38deefae\"\u003e\u003ccode\u003ef360f12\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES to reflect changes in functionality\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/6892ed6e87041eec9b8946370fd23a5a96fa8777\"\u003e\u003ccode\u003e6892ed6\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES for version 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/06c00df6d1adc289029905fb26f1009a0e179088\"\u003e\u003ccode\u003e06c00df\u003c/code\u003e\u003c/a\u003e Revise RELEASE_NOTES.rst for new features\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydata/numexpr/compare/v2.13.0...v2.13.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=numexpr\u0026package-manager=pip\u0026previous-version=2.13.0\u0026new-version=2.13.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/pharmpy/pharmpy/pull/4023","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pharmpy%2Fpharmpy/issues/4023","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4023/packages"},{"uuid":"2876431932","node_id":"PR_kwDOAxHU6M6rct48","number":9215,"state":"closed","title":"Bump numexpr from 2.13.0 to 2.13.1","user":"dependabot[bot]","labels":["dependency update"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-10-02T00:06:04.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-01T00:35:45.000Z","updated_at":"2025-10-02T00:06:04.000Z","time_to_close":84619,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"numexpr","old_version":"2.13.0","new_version":"2.13.1","repository_url":"https://github.com/pydata/numexpr"}],"path":null,"ecosystem":"pip"},"body":"Bumps [numexpr](https://github.com/pydata/numexpr) from 2.13.0 to 2.13.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst\"\u003enumexpr's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges from 2.13.1 to 2.13.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eUnder development.\u003c/strong\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/pydata/numexpr/commit/64eb4e1ec1a2591621ac353d251ed7946b6bc188\"\u003e\u003ccode\u003e64eb4e1\u003c/code\u003e\u003c/a\u003e Correct version number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/93b9fee8862d31db94cc38202b8926c18e2f232c\"\u003e\u003ccode\u003e93b9fee\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/aefd3e62f3a7e18362c83c6e22baf416e2c7d668\"\u003e\u003ccode\u003eaefd3e6\u003c/code\u003e\u003c/a\u003e Announcing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/9b071c2de24657b9bdcca91f4f04fe47dce36449\"\u003e\u003ccode\u003e9b071c2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/536\"\u003e#536\u003c/a\u003e from pydata/fix_funcbugs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/780908af3daf970391715bced9621f06157307cc\"\u003e\u003ccode\u003e780908a\u003c/code\u003e\u003c/a\u003e Make test stricter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f1487d4dc52f141e21eeeaff6fbbdc06755b65da\"\u003e\u003ccode\u003ef1487d4\u003c/code\u003e\u003c/a\u003e Fix boolean add/mult\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f114e9f49f759d543d80950f39ff01cff00ddd32\"\u003e\u003ccode\u003ef114e9f\u003c/code\u003e\u003c/a\u003e Add nan handling to maximum/minimum\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f360f1240f460334c380bd1b81d38c5e38deefae\"\u003e\u003ccode\u003ef360f12\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES to reflect changes in functionality\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/6892ed6e87041eec9b8946370fd23a5a96fa8777\"\u003e\u003ccode\u003e6892ed6\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES for version 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/06c00df6d1adc289029905fb26f1009a0e179088\"\u003e\u003ccode\u003e06c00df\u003c/code\u003e\u003c/a\u003e Revise RELEASE_NOTES.rst for new features\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydata/numexpr/compare/v2.13.0...v2.13.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=numexpr\u0026package-manager=pip\u0026previous-version=2.13.0\u0026new-version=2.13.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/Harmon758/Harmonbot/pull/9215","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Harmon758%2FHarmonbot/issues/9215","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9215/packages"}],"issue_packages":[{"old_version":"2.8.8","new_version":"2.14.1","update_type":"minor","path":"/backend","pr_created_at":"2026-02-23T10:05:53.000Z","version_change":"2.8.8 → 2.14.1","issue":{"uuid":"3977336807","node_id":"PR_kwDORWM4Oc7Fmrgq","number":24,"state":"open","title":"deps(backend)(deps): bump numexpr from 2.8.8 to 2.14.1 in /backend","user":"dependabot[bot]","labels":["backend","dependencies","cloud","size/small"],"assignees":[],"locked":false,"comments_count":5,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-02-23T10:05:53.000Z","updated_at":"2026-02-23T10:14:34.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(backend)(deps)","packages":[{"name":"numexpr","old_version":"2.8.8","new_version":"2.14.1","repository_url":"https://github.com/pydata/numexpr"}],"path":"/backend","ecosystem":"pip"},"body":"Bumps [numexpr](https://github.com/pydata/numexpr) from 2.8.8 to 2.14.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst\"\u003enumexpr's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges from 2.14.1 to 2.14.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eUnder development.\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.14.0 to 2.14.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRolled back static typing support to ensure compatibiity with NumPy 1.26.\u003c/li\u003e\n\u003cli\u003eAdded CI tests for NumPy 1.26\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.13.1 to 2.14.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNumerical stability for overflow has been improved for \u003ccode\u003etan\u003c/code\u003e / \u003ccode\u003etanh\u003c/code\u003e\nto handle possible overflows for complex numbers.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eStatic typing support has been added, making NumExpr compatible with\nstatic type checkers like \u003ccode\u003emypy\u003c/code\u003e and \u003ccode\u003epyright\u003c/code\u003e.\nThanks to Joren Hammudoglu (\u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e) for the work.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.13.0 to 2.13.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePatch to maximum/minimum functions in order to match NumPy NaN handling\u003c/li\u003e\n\u003cli\u003ePatch to convert '+'-\u0026gt;'|' and '*'-\u0026gt;'\u0026amp;' for booleans\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.12.1 to 2.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNew functionality has been added:\u003c/li\u003e\n\u003cli\u003eBitwise operators (and, or, not, xor): \u003ccode\u003e\u0026amp;, |, ~, ^\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNew binary arithmetic operator for floor division: \u003ccode\u003e//\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNew functions: \u003ccode\u003esignbit\u003c/code\u003e, \u003ccode\u003ehypot\u003c/code\u003e, \u003ccode\u003ecopysign\u003c/code\u003e, \u003ccode\u003enextafter\u003c/code\u003e, \u003ccode\u003emaximum\u003c/code\u003e, \u003ccode\u003eminimum\u003c/code\u003e, \u003ccode\u003elog2\u003c/code\u003e, \u003ccode\u003etrunc\u003c/code\u003e, \u003ccode\u003eround\u003c/code\u003e and \u003ccode\u003esign\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAlso enables integer outputs for integer inputs for \u003ccode\u003eabs\u003c/code\u003e, \u003ccode\u003ecopy\u003c/code\u003e, \u003ccode\u003eones_like\u003c/code\u003e, \u003ccode\u003esign\u003c/code\u003e and \u003ccode\u003eround\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to Luke Shaw for the contributions.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNew wheels for Python 3.14 and 3.14t are provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.12.0 to 2.12.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded complex counterparts for isnan/isfinite/isinf functions.\nThanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated documentation for the new functions and instructions\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/pydata/numexpr/commit/048a5c42b09e4c5a4ccb5097162ff7c571973fde\"\u003e\u003ccode\u003e048a5c4\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/d9cf0f0785f9c8de8d790800ceebff89eced8354\"\u003e\u003ccode\u003ed9cf0f0\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/1fcb012d96c7db2f0f21c8f82ef9d7a30e19b4da\"\u003e\u003ccode\u003e1fcb012\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/542\"\u003e#542\u003c/a\u003e from pydata/test-numpy-1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/898b4d9dbfdb654391999c65744f678f5bd05508\"\u003e\u003ccode\u003e898b4d9\u003c/code\u003e\u003c/a\u003e Update tests to pass for numpy 1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/7cadd0f93b4bcd10bd585bae3bcfc5f9f8c42306\"\u003e\u003ccode\u003e7cadd0f\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/534\"\u003e#534\u003c/a\u003e from jorenham/static-typing\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/eb2f9997035c3865cc3e1ec8ed715f9f9dfe3b30\"\u003e\u003ccode\u003eeb2f999\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/534\"\u003e#534\u003c/a\u003e from jorenham/static-typing\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/e27646b74237f97acae8c43b189079aa7baf5c34\"\u003e\u003ccode\u003ee27646b\u003c/code\u003e\u003c/a\u003e Force local build and test with numpy 1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/acd7eb0da381227ef5903fcee0c4163e0b18ffbb\"\u003e\u003ccode\u003eacd7eb0\u003c/code\u003e\u003c/a\u003e Force tests  with numpy 1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/0e827b18865907dc8cce79f3aa31901392570187\"\u003e\u003ccode\u003e0e827b1\u003c/code\u003e\u003c/a\u003e Force tests  with numpy 1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/ed435570d3269402d326f40ce26c7df35265572a\"\u003e\u003ccode\u003eed43557\u003c/code\u003e\u003c/a\u003e Force local build with numpy 1.26\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydata/numexpr/compare/v2.8.8...v2.14.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=numexpr\u0026package-manager=pip\u0026previous-version=2.8.8\u0026new-version=2.14.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/nandkishorrathodk-art/Ironcliw-ai/pull/24","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/nandkishorrathodk-art%2FIroncliw-ai/issues/24","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/24/packages"}},{"old_version":"2.13.1","new_version":"2.14.1","update_type":"minor","path":null,"pr_created_at":"2026-02-01T11:10:59.000Z","version_change":"2.13.1 → 2.14.1","issue":{"uuid":"3881829355","node_id":"PR_kwDOJpUnI87AtFcc","number":122,"state":"closed","title":"Bump the poetry-dependencies group across 1 directory with 79 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-01T11:05:21.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-01T11:10:59.000Z","updated_at":"2026-03-01T11:05:23.000Z","time_to_close":2418862,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"poetry-dependencies","update_count":79,"packages":[{"name":"black","old_version":"25.9.0","new_version":"26.1.0","repository_url":"https://github.com/psf/black"},{"name":"coverage","old_version":"7.10.7","new_version":"7.13.2","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"furo","old_version":"2025.9.25","new_version":"2025.12.19","repository_url":"https://github.com/pradyunsg/furo"},{"name":"mypy","old_version":"1.18.2","new_version":"1.19.1","repository_url":"https://github.com/python/mypy"},{"name":"pre-commit","old_version":"4.3.0","new_version":"4.5.1","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"ruff","old_version":"0.13.3","new_version":"0.14.14","repository_url":"https://github.com/astral-sh/ruff"},{"name":"pytest","old_version":"8.4.2","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"sphinx-click","old_version":"6.1.0","new_version":"6.2.0","repository_url":"https://github.com/click-contrib/sphinx-click"},{"name":"matplotlib","old_version":"3.10.6","new_version":"3.10.8","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"deptry","old_version":"0.23.1","new_version":"0.24.0","repository_url":"https://github.com/fpgmaas/deptry"},{"name":"pyarrow","old_version":"21.0.0","new_version":"23.0.0","repository_url":"https://github.com/apache/arrow"},{"name":"pandas-stubs","old_version":"2.3.2.250926","new_version":"2.3.3.260113","repository_url":"https://github.com/pandas-dev/pandas-stubs"},{"name":"anyio","old_version":"4.11.0","new_version":"4.12.1","repository_url":"https://github.com/agronholm/anyio"},{"name":"arrow","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/arrow-py/arrow"},{"name":"asttokens","old_version":"3.0.0","new_version":"3.0.1","repository_url":"https://github.com/gristlabs/asttokens"},{"name":"async-lru","old_version":"2.0.5","new_version":"2.1.0","repository_url":"https://github.com/aio-libs/async-lru"},{"name":"beautifulsoup4","old_version":"4.14.2","new_version":"4.14.3"},{"name":"bleach","old_version":"6.2.0","new_version":"6.3.0","repository_url":"https://github.com/mozilla/bleach"},{"name":"certifi","old_version":"2025.10.5","new_version":"2026.1.4","repository_url":"https://github.com/certifi/python-certifi"},{"name":"cfgv","old_version":"3.4.0","new_version":"3.5.0","repository_url":"https://github.com/asottile/cfgv"},{"name":"charset-normalizer","old_version":"3.4.3","new_version":"3.4.4","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"click","old_version":"8.3.0","new_version":"8.3.1","repository_url":"https://github.com/pallets/click"},{"name":"debugpy","old_version":"1.8.17","new_version":"1.8.20","repository_url":"https://github.com/microsoft/debugpy"},{"name":"exceptiongroup","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/agronholm/exceptiongroup"},{"name":"filelock","old_version":"3.19.1","new_version":"3.20.3","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"fonttools","old_version":"4.60.1","new_version":"4.61.1","repository_url":"https://github.com/fonttools/fonttools"},{"name":"identify","old_version":"2.6.15","new_version":"2.6.16","repository_url":"https://github.com/pre-commit/identify"},{"name":"idna","old_version":"3.10","new_version":"3.11","repository_url":"https://github.com/kjd/idna"},{"name":"iniconfig","old_version":"2.1.0","new_version":"2.3.0","repository_url":"https://github.com/pytest-dev/iniconfig"},{"name":"ipykernel","old_version":"6.30.1","new_version":"7.1.0","repository_url":"https://github.com/ipython/ipykernel"},{"name":"ipython","old_version":"8.37.0","new_version":"8.38.0","repository_url":"https://github.com/ipython/ipython"},{"name":"ipywidgets","old_version":"8.1.7","new_version":"8.1.8","repository_url":"https://github.com/jupyter-widgets/ipywidgets"},{"name":"json5","old_version":"0.12.1","new_version":"0.13.0","repository_url":"https://github.com/dpranke/pyjson5"},{"name":"jsonschema","old_version":"4.25.1","new_version":"4.26.0","repository_url":"https://github.com/python-jsonschema/jsonschema"},{"name":"jupyter-client","old_version":"8.6.3","new_version":"8.8.0","repository_url":"https://github.com/jupyter/jupyter_client"},{"name":"jupyter-core","old_version":"5.8.1","new_version":"5.9.1","repository_url":"https://github.com/jupyter/jupyter_core"},{"name":"jupyter-server-terminals","old_version":"0.5.3","new_version":"0.5.4","repository_url":"https://github.com/jupyter-server/jupyter_server_terminals"},{"name":"jupyterlab","old_version":"4.4.9","new_version":"4.5.3","repository_url":"https://github.com/jupyterlab/jupyterlab"},{"name":"jupyterlab-widgets","old_version":"3.0.15","new_version":"3.0.16","repository_url":"https://github.com/jupyter-widgets/ipywidgets"},{"name":"lark","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/lark-parser/lark"},{"name":"matplotlib-inline","old_version":"0.1.7","new_version":"0.2.1","repository_url":"https://github.com/ipython/matplotlib-inline"},{"name":"mistune","old_version":"3.1.4","new_version":"3.2.0","repository_url":"https://github.com/lepture/mistune"},{"name":"nbclient","old_version":"0.10.2","new_version":"0.10.4","repository_url":"https://github.com/jupyter/nbclient"},{"name":"nbconvert","old_version":"7.16.6","new_version":"7.17.0","repository_url":"https://github.com/jupyter/nbconvert"},{"name":"nodeenv","old_version":"1.9.1","new_version":"1.10.0","repository_url":"https://github.com/ekalinin/nodeenv"},{"name":"numba","old_version":"0.62.1","new_version":"0.63.1","repository_url":"https://github.com/numba/numba"},{"name":"numexpr","old_version":"2.13.1","new_version":"2.14.1","repository_url":"https://github.com/pydata/numexpr"},{"name":"packaging","old_version":"25.0","new_version":"26.0","repository_url":"https://github.com/pypa/packaging"},{"name":"pillow","old_version":"11.3.0","new_version":"12.1.0","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"platformdirs","old_version":"4.4.0","new_version":"4.5.1","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"prometheus-client","old_version":"0.23.1","new_version":"0.24.1","repository_url":"https://github.com/prometheus/client_python"},{"name":"psutil","old_version":"7.1.0","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"pycparser","old_version":"2.23","new_version":"3.0","repository_url":"https://github.com/eliben/pycparser"},{"name":"pyparsing","old_version":"3.2.5","new_version":"3.3.2","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"referencing","old_version":"0.36.2","new_version":"0.37.0","repository_url":"https://github.com/python-jsonschema/referencing"},{"name":"roman-numerals-py","old_version":"3.1.0","new_version":"4.1.0","repository_url":"https://github.com/AA-Turner/roman-numerals"},{"name":"rpds-py","old_version":"0.27.1","new_version":"0.30.0","repository_url":"https://github.com/crate-py/rpds"},{"name":"ruamel-yaml","old_version":"0.18.15","new_version":"0.19.1"},{"name":"send2trash","old_version":"1.8.3","new_version":"2.1.0","repository_url":"https://github.com/arsenetar/send2trash"},{"name":"setuptools","old_version":"80.9.0","new_version":"80.10.2","repository_url":"https://github.com/pypa/setuptools"},{"name":"soupsieve","old_version":"2.8","new_version":"2.8.3","repository_url":"https://github.com/facelessuser/soupsieve"},{"name":"starlette","old_version":"0.48.0","new_version":"0.52.1","repository_url":"https://github.com/Kludex/starlette"},{"name":"tomli","old_version":"2.2.1","new_version":"2.4.0","repository_url":"https://github.com/hukkin/tomli"},{"name":"tornado","old_version":"6.5.2","new_version":"6.5.4","repository_url":"https://github.com/tornadoweb/tornado"},{"name":"types-pytz","old_version":"2025.2.0.20250809","new_version":"2025.2.0.20251108","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"tzdata","old_version":"2025.2","new_version":"2025.3","repository_url":"https://github.com/python/tzdata"},{"name":"urllib3","old_version":"2.5.0","new_version":"2.6.3","repository_url":"https://github.com/urllib3/urllib3"},{"name":"uvicorn","old_version":"0.37.0","new_version":"0.40.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"virtualenv","old_version":"20.34.0","new_version":"20.36.1","repository_url":"https://github.com/pypa/virtualenv"},{"name":"watchfiles","old_version":"1.1.0","new_version":"1.1.1","repository_url":"https://github.com/samuelcolvin/watchfiles"},{"name":"wcwidth","old_version":"0.2.14","new_version":"0.5.3","repository_url":"https://github.com/jquast/wcwidth"},{"name":"webcolors","old_version":"24.11.1","new_version":"25.10.0","repository_url":"https://github.com/ubernostrum/webcolors"},{"name":"websocket-client","old_version":"1.8.0","new_version":"1.9.0","repository_url":"https://github.com/websocket-client/websocket-client"},{"name":"websockets","old_version":"15.0.1","new_version":"16.0","repository_url":"https://github.com/python-websockets/websockets"},{"name":"widgetsnbextension","old_version":"4.0.14","new_version":"4.0.15"}],"path":null,"ecosystem":"pip"},"body":"Bumps the poetry-dependencies group with 75 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [black](https://github.com/psf/black) | `25.9.0` | `26.1.0` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.10.7` | `7.13.2` |\n| [furo](https://github.com/pradyunsg/furo) | `2025.9.25` | `2025.12.19` |\n| [mypy](https://github.com/python/mypy) | `1.18.2` | `1.19.1` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.3.0` | `4.5.1` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.13.3` | `0.14.14` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.2` | `9.0.2` |\n| [sphinx-click](https://github.com/click-contrib/sphinx-click) | `6.1.0` | `6.2.0` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.10.6` | `3.10.8` |\n| [deptry](https://github.com/fpgmaas/deptry) | `0.23.1` | `0.24.0` |\n| [pyarrow](https://github.com/apache/arrow) | `21.0.0` | `23.0.0` |\n| [pandas-stubs](https://github.com/pandas-dev/pandas-stubs) | `2.3.2.250926` | `2.3.3.260113` |\n| [anyio](https://github.com/agronholm/anyio) | `4.11.0` | `4.12.1` |\n| [arrow](https://github.com/arrow-py/arrow) | `1.3.0` | `1.4.0` |\n| [asttokens](https://github.com/gristlabs/asttokens) | `3.0.0` | `3.0.1` |\n| [async-lru](https://github.com/aio-libs/async-lru) | `2.0.5` | `2.1.0` |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.14.2` | `4.14.3` |\n| [bleach](https://github.com/mozilla/bleach) | `6.2.0` | `6.3.0` |\n| [certifi](https://github.com/certifi/python-certifi) | `2025.10.5` | `2026.1.4` |\n| [cfgv](https://github.com/asottile/cfgv) | `3.4.0` | `3.5.0` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.3` | `3.4.4` |\n| [click](https://github.com/pallets/click) | `8.3.0` | `8.3.1` |\n| [debugpy](https://github.com/microsoft/debugpy) | `1.8.17` | `1.8.20` |\n| [exceptiongroup](https://github.com/agronholm/exceptiongroup) | `1.3.0` | `1.3.1` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.19.1` | `3.20.3` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.60.1` | `4.61.1` |\n| [identify](https://github.com/pre-commit/identify) | `2.6.15` | `2.6.16` |\n| [idna](https://github.com/kjd/idna) | `3.10` | `3.11` |\n| [iniconfig](https://github.com/pytest-dev/iniconfig) | `2.1.0` | `2.3.0` |\n| [ipykernel](https://github.com/ipython/ipykernel) | `6.30.1` | `7.1.0` |\n| [ipython](https://github.com/ipython/ipython) | `8.37.0` | `8.38.0` |\n| [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) | `8.1.7` | `8.1.8` |\n| [json5](https://github.com/dpranke/pyjson5) | `0.12.1` | `0.13.0` |\n| [jsonschema](https://github.com/python-jsonschema/jsonschema) | `4.25.1` | `4.26.0` |\n| [jupyter-client](https://github.com/jupyter/jupyter_client) | `8.6.3` | `8.8.0` |\n| [jupyter-core](https://github.com/jupyter/jupyter_core) | `5.8.1` | `5.9.1` |\n| [jupyter-server-terminals](https://github.com/jupyter-server/jupyter_server_terminals) | `0.5.3` | `0.5.4` |\n| [jupyterlab](https://github.com/jupyterlab/jupyterlab) | `4.4.9` | `4.5.3` |\n| [jupyterlab-widgets](https://github.com/jupyter-widgets/ipywidgets) | `3.0.15` | `3.0.16` |\n| [lark](https://github.com/lark-parser/lark) | `1.3.0` | `1.3.1` |\n| [matplotlib-inline](https://github.com/ipython/matplotlib-inline) | `0.1.7` | `0.2.1` |\n| [mistune](https://github.com/lepture/mistune) | `3.1.4` | `3.2.0` |\n| [nbclient](https://github.com/jupyter/nbclient) | `0.10.2` | `0.10.4` |\n| [nbconvert](https://github.com/jupyter/nbconvert) | `7.16.6` | `7.17.0` |\n| [nodeenv](https://github.com/ekalinin/nodeenv) | `1.9.1` | `1.10.0` |\n| [numba](https://github.com/numba/numba) | `0.62.1` | `0.63.1` |\n| [numexpr](https://github.com/pydata/numexpr) | `2.13.1` | `2.14.1` |\n| [packaging](https://github.com/pypa/packaging) | `25.0` | `26.0` |\n| [pillow](https://github.com/python-pillow/Pillow) | `11.3.0` | `12.1.0` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.4.0` | `4.5.1` |\n| [prometheus-client](https://github.com/prometheus/client_python) | `0.23.1` | `0.24.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.1.0` | `7.2.2` |\n| [pycparser](https://github.com/eliben/pycparser) | `2.23` | `3.0` |\n| [pyparsing](https://github.com/pyparsing/pyparsing) | `3.2.5` | `3.3.2` |\n| [referencing](https://github.com/python-jsonschema/referencing) | `0.36.2` | `0.37.0` |\n| [roman-numerals-py](https://github.com/AA-Turner/roman-numerals) | `3.1.0` | `4.1.0` |\n| [rpds-py](https://github.com/crate-py/rpds) | `0.27.1` | `0.30.0` |\n| ruamel-yaml | `0.18.15` | `0.19.1` |\n| [send2trash](https://github.com/arsenetar/send2trash) | `1.8.3` | `2.1.0` |\n| [setuptools](https://github.com/pypa/setuptools) | `80.9.0` | `80.10.2` |\n| [soupsieve](https://github.com/facelessuser/soupsieve) | `2.8` | `2.8.3` |\n| [starlette](https://github.com/Kludex/starlette) | `0.48.0` | `0.52.1` |\n| [tomli](https://github.com/hukkin/tomli) | `2.2.1` | `2.4.0` |\n| [tornado](https://github.com/tornadoweb/tornado) | `6.5.2` | `6.5.4` |\n| [types-pytz](https://github.com/typeshed-internal/stub_uploader) | `2025.2.0.20250809` | `2025.2.0.20251108` |\n| [tzdata](https://github.com/python/tzdata) | `2025.2` | `2025.3` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.5.0` | `2.6.3` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.37.0` | `0.40.0` |\n| [virtualenv](https://github.com/pypa/virtualenv) | `20.34.0` | `20.36.1` |\n| [watchfiles](https://github.com/samuelcolvin/watchfiles) | `1.1.0` | `1.1.1` |\n| [wcwidth](https://github.com/jquast/wcwidth) | `0.2.14` | `0.5.3` |\n| [webcolors](https://github.com/ubernostrum/webcolors) | `24.11.1` | `25.10.0` |\n| [websocket-client](https://github.com/websocket-client/websocket-client) | `1.8.0` | `1.9.0` |\n| [websockets](https://github.com/python-websockets/websockets) | `15.0.1` | `16.0` |\n| [widgetsnbextension](http://jupyter.org) | `4.0.14` | `4.0.15` |\n\n\nUpdates `black` from 25.9.0 to 26.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/releases\"\u003eblack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.1.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cp\u003eIntroduces the 2026 stable style (\u003ca href=\"https://redirect.github.com/psf/black/issues/4892\"\u003e#4892\u003c/a\u003e), stabilizing the following changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ealways_one_newline_after_import\u003c/code\u003e: Always force one blank line after import\nstatements, except when the line after the import is a comment or an import statement\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4489\"\u003e#4489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efix_fmt_skip_in_one_liners\u003c/code\u003e: Fix \u003ccode\u003e# fmt: skip\u003c/code\u003e behavior on one-liner declarations,\nsuch as \u003ccode\u003edef foo(): return \u0026quot;mock\u0026quot; # fmt: skip\u003c/code\u003e, where previously the declaration would\nhave been incorrectly collapsed (\u003ca href=\"https://redirect.github.com/psf/black/issues/4800\"\u003e#4800\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efix_module_docstring_detection\u003c/code\u003e: Fix module docstrings being treated as normal\nstrings if preceded by comments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4764\"\u003e#4764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efix_type_expansion_split\u003c/code\u003e: Fix type expansions split in generic functions (\u003ca href=\"https://redirect.github.com/psf/black/issues/4777\"\u003e#4777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emultiline_string_handling\u003c/code\u003e: Make expressions involving multiline strings more compact\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/1879\"\u003e#1879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003enormalize_cr_newlines\u003c/code\u003e: Add \u003ccode\u003e\\r\u003c/code\u003e style newlines to the potential newlines to\nnormalize file newlines both from and to (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eremove_parens_around_except_types\u003c/code\u003e: Remove parentheses around multiple exception\ntypes in \u003ccode\u003eexcept\u003c/code\u003e and \u003ccode\u003eexcept*\u003c/code\u003e without \u003ccode\u003eas\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4720\"\u003e#4720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eremove_parens_from_assignment_lhs\u003c/code\u003e: Remove unnecessary parentheses from the left-hand\nside of assignments while preserving magic trailing commas and intentional multiline\nformatting (\u003ca href=\"https://redirect.github.com/psf/black/issues/4865\"\u003e#4865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estandardize_type_comments\u003c/code\u003e: Format type comments which have zero or more spaces\nbetween \u003ccode\u003e#\u003c/code\u003e and \u003ccode\u003etype:\u003c/code\u003e or between \u003ccode\u003etype:\u003c/code\u003e and value to \u003ccode\u003e# type: (value)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe following change was not in any previous stable release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerated the \u003ccode\u003e_width_table.py\u003c/code\u003e and added tests for the Khmer language (\u003ca href=\"https://redirect.github.com/psf/black/issues/4253\"\u003e#4253\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release alo bumps \u003ccode\u003epathspec\u003c/code\u003e to v1 and fixes inconsistencies with Git's\n\u003ccode\u003e.gitignore\u003c/code\u003e logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4958\"\u003e#4958\u003c/a\u003e). Now, files will be ignored if a pattern matches them, even\nif the parent directory is directly unignored. For example, Black would previously\nformat \u003ccode\u003eexclude/not_this/foo.py\u003c/code\u003e with this \u003ccode\u003e.gitignore\u003c/code\u003e:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eexclude/\n!exclude/not_this/\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eNow, \u003ccode\u003eexclude/not_this/foo.py\u003c/code\u003e will remain ignored. To ensure \u003ccode\u003eexclude/not_this/\u003c/code\u003e and\nall of it's children are included in formatting (and in Git), use this \u003ccode\u003e.gitignore\u003c/code\u003e:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e*/exclude/*\n!*/exclude/not_this/\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThis new behavior matches Git. The leading \u003ccode\u003e*/\u003c/code\u003e are only necessary if you wish to ignore\nmatching subdirectories (like the previous behavior did), and not just matching root\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.1.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cp\u003eIntroduces the 2026 stable style (\u003ca href=\"https://redirect.github.com/psf/black/issues/4892\"\u003e#4892\u003c/a\u003e), stabilizing the following changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ealways_one_newline_after_import\u003c/code\u003e: Always force one blank line after import\nstatements, except when the line after the import is a comment or an import statement\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4489\"\u003e#4489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efix_fmt_skip_in_one_liners\u003c/code\u003e: Fix \u003ccode\u003e# fmt: skip\u003c/code\u003e behavior on one-liner declarations,\nsuch as \u003ccode\u003edef foo(): return \u0026quot;mock\u0026quot; # fmt: skip\u003c/code\u003e, where previously the declaration would\nhave been incorrectly collapsed (\u003ca href=\"https://redirect.github.com/psf/black/issues/4800\"\u003e#4800\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efix_module_docstring_detection\u003c/code\u003e: Fix module docstrings being treated as normal\nstrings if preceded by comments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4764\"\u003e#4764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efix_type_expansion_split\u003c/code\u003e: Fix type expansions split in generic functions (\u003ca href=\"https://redirect.github.com/psf/black/issues/4777\"\u003e#4777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emultiline_string_handling\u003c/code\u003e: Make expressions involving multiline strings more compact\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/1879\"\u003e#1879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003enormalize_cr_newlines\u003c/code\u003e: Add \u003ccode\u003e\\r\u003c/code\u003e style newlines to the potential newlines to\nnormalize file newlines both from and to (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eremove_parens_around_except_types\u003c/code\u003e: Remove parentheses around multiple exception\ntypes in \u003ccode\u003eexcept\u003c/code\u003e and \u003ccode\u003eexcept*\u003c/code\u003e without \u003ccode\u003eas\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4720\"\u003e#4720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eremove_parens_from_assignment_lhs\u003c/code\u003e: Remove unnecessary parentheses from the left-hand\nside of assignments while preserving magic trailing commas and intentional multiline\nformatting (\u003ca href=\"https://redirect.github.com/psf/black/issues/4865\"\u003e#4865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estandardize_type_comments\u003c/code\u003e: Format type comments which have zero or more spaces\nbetween \u003ccode\u003e#\u003c/code\u003e and \u003ccode\u003etype:\u003c/code\u003e or between \u003ccode\u003etype:\u003c/code\u003e and value to \u003ccode\u003e# type: (value)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe following change was not in any previous stable release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerated the \u003ccode\u003e_width_table.py\u003c/code\u003e and added tests for the Khmer language (\u003ca href=\"https://redirect.github.com/psf/black/issues/4253\"\u003e#4253\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release alo bumps \u003ccode\u003epathspec\u003c/code\u003e to v1 and fixes inconsistencies with Git's\n\u003ccode\u003e.gitignore\u003c/code\u003e logic (\u003ca href=\"https://redirect.github.com/psf/black/issues/4958\"\u003e#4958\u003c/a\u003e). Now, files will be ignored if a pattern matches them, even\nif the parent directory is directly unignored. For example, Black would previously\nformat \u003ccode\u003eexclude/not_this/foo.py\u003c/code\u003e with this \u003ccode\u003e.gitignore\u003c/code\u003e:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eexclude/\n!exclude/not_this/\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eNow, \u003ccode\u003eexclude/not_this/foo.py\u003c/code\u003e will remain ignored. To ensure \u003ccode\u003eexclude/not_this/\u003c/code\u003e and\nall of it's children are included in formatting (and in Git), use this \u003ccode\u003e.gitignore\u003c/code\u003e:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e*/exclude/*\n!*/exclude/not_this/\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThis new behavior matches Git. The leading \u003ccode\u003e*/\u003c/code\u003e are only necessary if you wish to ignore\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/6305bf1ae645ab7541be4f5028a86239316178eb\"\u003e\u003ccode\u003e6305bf1\u003c/code\u003e\u003c/a\u003e Prepare 2026.1.0 release (\u003ca href=\"https://redirect.github.com/psf/black/issues/4892\"\u003e#4892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/e71305bee302f7f9016b228361e5ae69669dca7b\"\u003e\u003ccode\u003ee71305b\u003c/code\u003e\u003c/a\u003e Bump pypa/cibuildwheel from 3.3.0 to 3.3.1 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4961\"\u003e#4961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/21a2a8c2b1d0c8d47bc00cc59591470f6a9e2307\"\u003e\u003ccode\u003e21a2a8c\u003c/code\u003e\u003c/a\u003e Fix Shutdown multiprocessing Manager in schedule_formatting (\u003ca href=\"https://redirect.github.com/psf/black/issues/4952\"\u003e#4952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/e3146cea4245fcee29d007cb45d9faaf63271586\"\u003e\u003ccode\u003ee3146ce\u003c/code\u003e\u003c/a\u003e Bump docker/setup-buildx-action from 3.11.1 to 3.12.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4919\"\u003e#4919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/fe1fbc4fdfa03fa1d460f975b8aca77e4b4f1a4a\"\u003e\u003ccode\u003efe1fbc4\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 5.0.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4923\"\u003e#4923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/2b4b7fcfe00bb0d99322e07e87fc2f0992f7a4d8\"\u003e\u003ccode\u003e2b4b7fc\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 6.0.0 to 7.0.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4922\"\u003e#4922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/d745be69bfa9d85ec2ef6e5f9b7ec7e253b5e8ab\"\u003e\u003ccode\u003ed745be6\u003c/code\u003e\u003c/a\u003e docs: document --force-exclude for pre-commit workflows (\u003ca href=\"https://redirect.github.com/psf/black/issues/4957\"\u003e#4957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/b41acd6ebbe76e18b49286166924f73f01c3fd02\"\u003e\u003ccode\u003eb41acd6\u003c/code\u003e\u003c/a\u003e Various CI and doc refactors (\u003ca href=\"https://redirect.github.com/psf/black/issues/4928\"\u003e#4928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/6f43612766da4a2f275b575af0802c3e73b6ed83\"\u003e\u003ccode\u003e6f43612\u003c/code\u003e\u003c/a\u003e Handle pathspec v1 changes (\u003ca href=\"https://redirect.github.com/psf/black/issues/4958\"\u003e#4958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/200c550aff44372f801a6d826a361cb26f45a504\"\u003e\u003ccode\u003e200c550\u003c/code\u003e\u003c/a\u003e Bump furo from 2025.9.25 to 2025.12.19 in /docs (\u003ca href=\"https://redirect.github.com/psf/black/issues/4933\"\u003e#4933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/25.9.0...26.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `coverage` from 7.10.7 to 7.13.2\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.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\u003cp\u003e.. _changes_7-13-1:\u003c/p\u003e\n\u003ch2\u003eVersion 7.13.1 — 2025-12-28\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded: the JSON report now includes a \u003ccode\u003e\u0026quot;start_line\u0026quot;\u003c/code\u003e key for function and\nclass regions, indicating the first line of the region in the source. Closes\n\u003ccode\u003eissue 2110\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded: The \u003ccode\u003edebug data\u003c/code\u003e command now takes file names as arguments on the\ncommand line, so you can inspect specific data files without needing to set\nthe \u003ccode\u003eCOVERAGE_FILE\u003c/code\u003e environment variable.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the JSON report used to report module docstrings as executed lines,\nwhich no other report did, as described in \u003ccode\u003eissue 2105\u003c/code\u003e_. This is now fixed,\nthanks to Jianrong Zhao.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: coverage.py uses a more disciplined approach to detecting where\nthird-party code is installed, and avoids measuring it. This shouldn't change\nany behavior. If you find that it does, please get in touch.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance: data files that will be combined now record their hash as part\nof the file name. This lets us skip duplicate data more quickly, speeding the\ncombining step.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocs: added a section explaining more about what is considered a missing\nbranch and how it is reported: :ref:\u003ccode\u003ebranch_explain\u003c/code\u003e, as requested in \u003ccode\u003eissue 1597\u003c/code\u003e\u003cem\u003e. Thanks to \u003ccode\u003eAyisha Mohammed \u0026lt;pull 2092_\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eTests: the test suite misunderstood what core was being tested if\n\u003ccode\u003eCOVERAGE_CORE\u003c/code\u003e wasn't set on 3.14+. This is now fixed, closing \u003ccode\u003eissue 2109\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 1597: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/1597\"\u003ecoveragepy/coveragepy#1597\u003c/a\u003e\n.. _pull 2092: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2092\"\u003ecoveragepy/coveragepy#2092\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/513e97162536cb94aeb94ed3cbe487ca64d13e07\"\u003e\u003ccode\u003e513e971\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.13.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/27a8230cf0ef73abca824d2a8622235d9ad8ab96\"\u003e\u003ccode\u003e27a8230\u003c/code\u003e\u003c/a\u003e docs: prep for 7.13.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/27d8daac216ffef80276515b22cf679f9fabc422\"\u003e\u003ccode\u003e27d8daa\u003c/code\u003e\u003c/a\u003e refactor: plural does more\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/a2f248cf095fc49d3599c39befdea6a5552ccd23\"\u003e\u003ccode\u003ea2f248c\u003c/code\u003e\u003c/a\u003e fix: stdlib might be through a symlink. \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2115\"\u003e#2115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/bc52a22953759f71c291d31e7d17faf9903c0667\"\u003e\u003ccode\u003ebc52a22\u003c/code\u003e\u003c/a\u003e debug: re-organize Matchers to show more of what they do\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/f338d816ba7fcd23934a9397d15450593f0f20d9\"\u003e\u003ccode\u003ef338d81\u003c/code\u003e\u003c/a\u003e debug: build is a tuple, don't show it on two lines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/92020e469ab6c80cbe24786d0250a571d5f569cf\"\u003e\u003ccode\u003e92020e4\u003c/code\u003e\u003c/a\u003e refactor(test): convert to parametrized\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/6387d0a60d80cb96231ad32fe81be47cddfe1c78\"\u003e\u003ccode\u003e6387d0a\u003c/code\u003e\u003c/a\u003e test: let (most) tests run with no network\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/1d31e33cfe0ccef7d87c1f0c6219f55a3d9b5eee\"\u003e\u003ccode\u003e1d31e33\u003c/code\u003e\u003c/a\u003e build: workflows sometimes need more than 10 min\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/62949782b7810d8ffc228ba0e00f81c2ab81cda7\"\u003e\u003ccode\u003e6294978\u003c/code\u003e\u003c/a\u003e refactor: an error message is now uniform across versions\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coveragepy/coveragepy/compare/7.10.7...7.13.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `furo` from 2025.9.25 to 2025.12.19\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pradyunsg/furo/releases\"\u003efuro's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2025.12.19\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump the supported Sphinx version range\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pradyunsg/furo/compare/2025.09.25...2025.12.19\"\u003ehttps://github.com/pradyunsg/furo/compare/2025.09.25...2025.12.19\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/pradyunsg/furo/blob/main/docs/changelog.md\"\u003efuro's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2025.12.19 -- Harmonious Honeydew\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add support for Sphinx 9.\u003c/li\u003e\n\u003cli\u003eDrop support for Sphinx 6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2025.09.25 -- Gleaming Green\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChange the dark mode code back to \u003ccode\u003enative\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2025.07.19 -- Frozen Flame\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Switch to accessible-pygments themes\u003c/li\u003e\n\u003cli\u003e✨ Prefetch the sidebar logos\u003c/li\u003e\n\u003cli\u003e✨ Fix flickering header drop shadow on Safari\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003erel=edit\u003c/code\u003e attribute to \u0026quot;Edit this page\u0026quot; link/icon\u003c/li\u003e\n\u003cli\u003eBump NodeJS and npm dependency versions\u003c/li\u003e\n\u003cli\u003eBump Saas \u0026amp; Webpack major versions\u003c/li\u003e\n\u003cli\u003eImprove current page detection to be resilient to sticky elements above header\u003c/li\u003e\n\u003cli\u003eModernise Sass and use \u003ccode\u003e@use\u003c/code\u003e + \u003ccode\u003e@forward\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRemove top of code \u003ccode\u003eborder-radius\u003c/code\u003e with captions\u003c/li\u003e\n\u003cli\u003eRemove \u0026quot;debug printf\u0026quot; for headerTop value\u003c/li\u003e\n\u003cli\u003eUse distinct images for light and dark mode in the documentation\u003c/li\u003e\n\u003cli\u003eUse the modern Saas Modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2024.08.06 -- Energetic Eminence\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add support for Sphinx 8\u003c/li\u003e\n\u003cli\u003e✨ Add smoother transitions between breakpoints\u003c/li\u003e\n\u003cli\u003eIncrease specificity of table-wrapper selector\u003c/li\u003e\n\u003cli\u003eAvoid page breaks inside paragraphs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2024.07.18 -- Dull Denim\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove how icons are handled and aligned.\u003c/li\u003e\n\u003cli\u003eImprove scroll event handler.\u003c/li\u003e\n\u003cli\u003eHide the copybutton by default.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003esource_view_link\u003c/code\u003e configuration handling.\u003c/li\u003e\n\u003cli\u003eFix close tag on pencil icon.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2024.05.06 -- Cheerful Cerulean\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add new custom icons for auto mode, reflecting the currently active theme.\u003c/li\u003e\n\u003cli\u003e✨ Add a view this page button.\u003c/li\u003e\n\u003cli\u003e✨ Add colours and highlighting to \u0026quot;version modified\u0026quot; API helpers.\u003c/li\u003e\n\u003cli\u003e✨ Add release information to various customisation knobs.\u003c/li\u003e\n\u003cli\u003eMake all icons bigger and use a thinner stroke with them.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2024.04.27 -- Bold Burgundy\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a skip to content link.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/dd9e9f920494f24b9b8dd954ec9d07e0b9d12817\"\u003e\u003ccode\u003edd9e9f9\u003c/code\u003e\u003c/a\u003e Prepare release: 2025.12.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/d43f7e98577aa2db8580a83a4d4c3dcf54617de9\"\u003e\u003ccode\u003ed43f7e9\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/d27cab5e448c44e366577a80bf99beee6fa941a5\"\u003e\u003ccode\u003ed27cab5\u003c/code\u003e\u003c/a\u003e Bump the supported Sphinx version range\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/12f288eb8c8c57dc751e208545b07f1584bb29a7\"\u003e\u003ccode\u003e12f288e\u003c/code\u003e\u003c/a\u003e Back to development\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pradyunsg/furo/compare/2025.09.25...2025.12.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.18.2 to 1.19.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003eMypy 1.19.1\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix noncommutative joins with bounded TypeVars (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20345\"\u003e20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect output format for cached runs by serializing raw errors in cache metas (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20372\"\u003e20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (A5rocks, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20383\"\u003e20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix mypyc generator regression with empty tuple (BobTheBuidler, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20371\"\u003e20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash involving Unpack-ed TypeVarTuple (Shantanu, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20323\"\u003e20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on star import of redefinition (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20333\"\u003e20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on typevar with forward ref used in other module (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20334\"\u003e20334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFail with an explicit error on PyPy (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20389\"\u003e20389\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAcknowledgements\u003c/h3\u003e\n\u003cp\u003eThanks to all mypy contributors who contributed to this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eA5rocks\u003c/li\u003e\n\u003cli\u003eBobTheBuidler\u003c/li\u003e\n\u003cli\u003ebzoracler\u003c/li\u003e\n\u003cli\u003eChainfire\u003c/li\u003e\n\u003cli\u003eChristoph Tyralla\u003c/li\u003e\n\u003cli\u003eDavid Foster\u003c/li\u003e\n\u003cli\u003eFrank Dana\u003c/li\u003e\n\u003cli\u003eGuo Ci\u003c/li\u003e\n\u003cli\u003eiap\u003c/li\u003e\n\u003cli\u003eIvan Levkivskyi\u003c/li\u003e\n\u003cli\u003eJames Hilton-Balfe\u003c/li\u003e\n\u003cli\u003ejhance\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eJukka Lehtosalo\u003c/li\u003e\n\u003cli\u003eKarelKenens\u003c/li\u003e\n\u003cli\u003eKevin Kannammalil\u003c/li\u003e\n\u003cli\u003eMarc Mueller\u003c/li\u003e\n\u003cli\u003eMichael Carlstrom\u003c/li\u003e\n\u003cli\u003eMichael J. Sullivan\u003c/li\u003e\n\u003cli\u003ePiotr Sawicki\u003c/li\u003e\n\u003cli\u003eRandolf Scholz\u003c/li\u003e\n\u003cli\u003eShantanu\u003c/li\u003e\n\u003cli\u003eSigve Sebastian Farstad\u003c/li\u003e\n\u003cli\u003esobolevn\u003c/li\u003e\n\u003cli\u003eStanislav Terliakov\u003c/li\u003e\n\u003cli\u003eStephen Morton\u003c/li\u003e\n\u003cli\u003eTheodore Ando\u003c/li\u003e\n\u003cli\u003eThiago J. Barbalho\u003c/li\u003e\n\u003cli\u003ewyattscarpenter\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eI’d also like to thank my employer, Dropbox, for supporting mypy development.\u003c/p\u003e\n\u003ch2\u003eMypy 1.18\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.18.1 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/412c19a6bde31e7afa7f41afdf8356664689ae80\"\u003e\u003ccode\u003e412c19a\u003c/code\u003e\u003c/a\u003e Bump version to 1.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/20aea0a6ca0710f5427239bdd2fd8e8bf1caf634\"\u003e\u003ccode\u003e20aea0a\u003c/code\u003e\u003c/a\u003e Update changelog for 1.19.1 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20414\"\u003e#20414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/2b23b507524bf1bd7513eea6f2a16fb91e072cb6\"\u003e\u003ccode\u003e2b23b50\u003c/code\u003e\u003c/a\u003e Serialize raw errors in cache metas (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20372\"\u003e#20372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/f60f90fb8872bf722e32aefd548daaf6d8560e05\"\u003e\u003ccode\u003ef60f90f\u003c/code\u003e\u003c/a\u003e Fail on PyPy in main instead of setup.py (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20389\"\u003e#20389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/58d485b4ea4776e0b9d4045b306cb0818ecc2aa6\"\u003e\u003ccode\u003e58d485b\u003c/code\u003e\u003c/a\u003e Fail with an explicit error on PyPy (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20384\"\u003e#20384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a4b31a26788b70c4a2a19adbafa2bbda43dc2e8b\"\u003e\u003ccode\u003ea4b31a2\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003etypes.NoneType\u003c/code\u003e in match cases (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20383\"\u003e#20383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/8a6eff478416cd3ed3931a6ed77ce61c88ab69e9\"\u003e\u003ccode\u003e8a6eff4\u003c/code\u003e\u003c/a\u003e [mypyc] fix generator regression with empty tuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20371\"\u003e#20371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/70eceea682c041c0d8e8462dffef9c7bb252e014\"\u003e\u003ccode\u003e70eceea\u003c/code\u003e\u003c/a\u003e Fix noncommutative joins with bounded TypeVars (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20345\"\u003e#20345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/3890fc49bf7cc02db04b1e63eb2540aaacdeecc0\"\u003e\u003ccode\u003e3890fc4\u003c/code\u003e\u003c/a\u003e Fix crash involving Unpack-ed TypeVarTuple (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20323\"\u003e#20323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/c93d917a86993e06dcc88e508f28f4f5199ce1c8\"\u003e\u003ccode\u003ec93d917\u003c/code\u003e\u003c/a\u003e Fix crash on star import of redefinition (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20333\"\u003e#20333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.18.2...v1.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pre-commit` from 4.3.0 to 4.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pre-commit/pre-commit/releases\"\u003epre-commit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epre-commit v4.5.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003elanguage: python\u003c/code\u003e with \u003ccode\u003erepo: local\u003c/code\u003e without \u003ccode\u003eadditional_dependencies\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3597\"\u003e#3597\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epre-commit v4.5.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epre-commit hazmat\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3585\"\u003e#3585\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epre-commit v4.4.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--fail-fast\u003c/code\u003e option to \u003ccode\u003epre-commit run\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3528\"\u003e#3528\u003c/a\u003e PR by \u003ca href=\"https://github.com/JulianMaurin\"\u003e\u003ccode\u003e@​JulianMaurin\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUpgrade \u003ccode\u003eruby-build\u003c/code\u003e / \u003ccode\u003erbenv\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3566\"\u003e#3566\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3565\"\u003e#3565\u003c/a\u003e issue by \u003ca href=\"https://github.com/MRigal\"\u003e\u003ccode\u003e@​MRigal\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003elanguage: unsupported\u003c/code\u003e / \u003ccode\u003elanguage: unsupported_script\u003c/code\u003e as aliases for \u003ccode\u003elanguage: system\u003c/code\u003e / \u003ccode\u003elanguage: script\u003c/code\u003e (which will eventually be deprecated).\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3577\"\u003e#3577\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd support docker-in-docker detection for cgroups v2.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3535\"\u003e#3535\u003c/a\u003e PR by \u003ca href=\"https://github.com/br-rhrbacek\"\u003e\u003ccode\u003e@​br-rhrbacek\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3360\"\u003e#3360\u003c/a\u003e issue by \u003ca href=\"https://github.com/JasonAlt\"\u003e\u003ccode\u003e@​JasonAlt\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle when docker gives \u003ccode\u003eSecurityOptions: null\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3537\"\u003e#3537\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3514\"\u003e#3514\u003c/a\u003e issue by \u003ca href=\"https://github.com/jenstroeger\"\u003e\u003ccode\u003e@​jenstroeger\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix error context for invalid \u003ccode\u003estages\u003c/code\u003e in \u003ccode\u003e.pre-commit-config.yaml\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3576\"\u003e#3576\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md\"\u003epre-commit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e4.5.1 - 2025-12-16\u003c/h1\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003elanguage: python\u003c/code\u003e with \u003ccode\u003erepo: local\u003c/code\u003e without \u003ccode\u003eadditional_dependencies\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3597\"\u003e#3597\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e4.5.0 - 2025-11-22\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epre-commit hazmat\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3585\"\u003e#3585\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e4.4.0 - 2025-11-08\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--fail-fast\u003c/code\u003e option to \u003ccode\u003epre-commit run\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3528\"\u003e#3528\u003c/a\u003e PR by \u003ca href=\"https://github.com/JulianMaurin\"\u003e\u003ccode\u003e@​JulianMaurin\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUpgrade \u003ccode\u003eruby-build\u003c/code\u003e / \u003ccode\u003erbenv\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3566\"\u003e#3566\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3565\"\u003e#3565\u003c/a\u003e issue by \u003ca href=\"https://github.com/MRigal\"\u003e\u003ccode\u003e@​MRigal\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003elanguage: unsupported\u003c/code\u003e / \u003ccode\u003elanguage: unsupported_script\u003c/code\u003e as aliases\nfor \u003ccode\u003elanguage: system\u003c/code\u003e / \u003ccode\u003elanguage: script\u003c/code\u003e (which will eventually be\ndeprecated).\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3577\"\u003e#3577\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd support docker-in-docker detection for cgroups v2.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3535\"\u003e#3535\u003c/a\u003e PR by \u003ca href=\"https://github.com/br-rhrbacek\"\u003e\u003ccode\u003e@​br-rhrbacek\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3360\"\u003e#3360\u003c/a\u003e issue by \u003ca href=\"https://github.com/JasonAlt\"\u003e\u003ccode\u003e@​JasonAlt\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle when docker gives \u003ccode\u003eSecurityOptions: null\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3537\"\u003e#3537\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3514\"\u003e#3514\u003c/a\u003e issue by \u003ca href=\"https://github.com/jenstroeger\"\u003e\u003ccode\u003e@​jenstroeger\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix error context for invalid \u003ccode\u003estages\u003c/code\u003e in \u003ccode\u003e.pre-commit-config.yaml\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3576\"\u003e#3576\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/8a0630ca1aa7f6d5665effe674ebe2022af17919\"\u003e\u003ccode\u003e8a0630c\u003c/code\u003e\u003c/a\u003e v4.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/fcbc745744377ef2c9fe6a7e1a21c67d797933dc\"\u003e\u003ccode\u003efcbc745\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3597\"\u003e#3597\u003c/a\u003e from pre-commit/empty-setup-py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/51592eececd13b99c40ec477ad8f810799147227\"\u003e\u003ccode\u003e51592ee\u003c/code\u003e\u003c/a\u003e fix python local template when artifact dirs are present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/67e8faf80baffcb4b79c31b89ca9a413a1cd6776\"\u003e\u003ccode\u003e67e8faf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3596\"\u003e#3596\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/c251e6b6d011b3b262339dc8e109de29b0ff8db1\"\u003e\u003ccode\u003ec251e6b\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/98ccafa3ce42b846b9a9be9ed73fbbec7415496d\"\u003e\u003ccode\u003e98ccafa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3593\"\u003e#3593\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/48953556d06f8cdb4248002c1a0044e69e0916b3\"\u003e\u003ccode\u003e4895355\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/2cedd58e691f4d3bc6ab266c7d7c28464c3502be\"\u003e\u003ccode\u003e2cedd58\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3588\"\u003e#3588\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/465192d7de58d569776eaaa818c94cb2b962d436\"\u003e\u003ccode\u003e465192d\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/fd42f96874279c4f65363bfea5238714419e54d7\"\u003e\u003ccode\u003efd42f96\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3586\"\u003e#3586\u003c/a\u003e from pre-commit/zipapp-sha256-file-not-needed\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pre-commit/pre-commit/compare/v4.3.0...v4.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.13.3 to 0.14.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.14\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-01-22.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve required parentheses in lambda bodies (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22747\"\u003e#22747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCombine range suppression code diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22613\"\u003e#22613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Second positional argument to \u003ccode\u003eAsset\u003c/code\u003e/\u003ccode\u003eDataset\u003c/code\u003e should not be a dictionary (\u003ccode\u003eAIR303\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22453\"\u003e#22453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Detect duplicate entries in \u003ccode\u003e__all__\u003c/code\u003e (\u003ccode\u003eRUF068\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22114\"\u003e#22114\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Allow shadowing non-builtin bindings (\u003ccode\u003eUP029\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22749\"\u003e#22749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Apply \u003ccode\u003eUP045\u003c/code\u003e to string arguments of \u003ccode\u003etyping.cast\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22320\"\u003e#22320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pie\u003c/code\u003e] Detect duplicated declared class fields in \u003ccode\u003ePIE794\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22717\"\u003e#22717\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix inconsistent handling of forward references for \u003ccode\u003e__new__\u003c/code\u003e, \u003ccode\u003e__enter__\u003c/code\u003e, \u003ccode\u003e__aenter__\u003c/code\u003e in \u003ccode\u003ePYI034\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22798\"\u003e#22798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pytest-style\u003c/code\u003e] Support \u003ccode\u003echeck\u003c/code\u003e parameter in \u003ccode\u003ePT011\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22725\"\u003e#22725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add exception for \u003ccode\u003ectypes.Structure._fields_\u003c/code\u003e (\u003ccode\u003eRUF012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22559\"\u003e#22559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMany fixes are now marked unsafe if they would remove comments:\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22656\"\u003e\u003ccode\u003eB009\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22657\"\u003e\u003ccode\u003eB010\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22658\"\u003e\u003ccode\u003eB013\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22659\"\u003e\u003ccode\u003eB014\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22632\"\u003e\u003ccode\u003eB033\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22662\"\u003e\u003ccode\u003eSIM910\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22661\"\u003e\u003ccode\u003eSIM911\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22772\"\u003e\u003ccode\u003eUP007\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22774\"\u003e\u003ccode\u003eUP039\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22773\"\u003e\u003ccode\u003eUP041\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22772\"\u003e\u003ccode\u003eUP045\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22767\"\u003e\u003ccode\u003eFURB105\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22681\"\u003e\u003ccode\u003eFURB116\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22680\"\u003e\u003ccode\u003eFURB136\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22679\"\u003e\u003ccode\u003eFURB140\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22670\"\u003e\u003ccode\u003eFURB145\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22669\"\u003e\u003ccode\u003eFURB154\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22668\"\u003e\u003ccode\u003eFURB157\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22667\"\u003e\u003ccode\u003eFURB164\u003c/code\u003e\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22666\"\u003e\u003ccode\u003eFURB181\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22665\"\u003e\u003ccode\u003eFURB188\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22663\"\u003e\u003ccode\u003eRUF019\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22664\"\u003e\u003ccode\u003eRUF020\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--exit-non-zero-on-format\u003c/code\u003e to formatter exit codes section (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22761\"\u003e#22761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate contributing guide for adding a new rule (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22779\"\u003e#22779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eFastAPI\u003c/code\u003e] Document fix safety for \u003ccode\u003eFAST001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22655\"\u003e#22655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Tweak explanation to focus on latency/efficiency tradeoff (\u003ccode\u003eASYNC110\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22715\"\u003e#22715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epandas-vet\u003c/code\u003e] Make example error out-of-the-box (\u003ccode\u003ePD002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22561\"\u003e#22561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Make the example work out of box (\u003ccode\u003eFURB101\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22770\"\u003e#22770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Make the example work out of box (\u003ccode\u003eFURB103\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22769\"\u003e#22769\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/caiquejjx\"\u003e\u003ccode\u003e@​caiquejjx\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/denyszhak\"\u003e\u003ccode\u003e@​denyszhak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sjyangkevin\"\u003e\u003ccode\u003e@​sjyangkevin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MeGaGiGaGon\"\u003e\u003ccode\u003e@​MeGaGiGaGon\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/leandrobbraga\"\u003e\u003ccode\u003e@​leandrobbraga\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.14\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-01-22.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve required parentheses in lambda bodies (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22747\"\u003e#22747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCombine range suppression code diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22613\"\u003e#22613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Second positional argument to \u003ccode\u003eAsset\u003c/code\u003e/\u003ccode\u003eDataset\u003c/code\u003e should not be a dictionary (\u003ccode\u003eAIR303\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22453\"\u003e#22453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Detect duplicate entries in \u003ccode\u003e__all__\u003c/code\u003e (\u003ccode\u003eRUF068\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22114\"\u003e#22114\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Allow shadowing non-builtin bindings (\u003ccode\u003eUP029\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22749\"\u003e#22749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Apply \u003ccode\u003eUP045\u003c/code\u003e to string arguments of \u003ccode\u003etyping.cast\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22320\"\u003e#22320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pie\u003c/code\u003e] Detect duplicated declared class fields in \u003ccode\u003ePIE794\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22717\"\u003e#22717\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix inconsistent handling of forward references for \u003ccode\u003e__new__\u003c/code\u003e, \u003ccode\u003e__enter__\u003c/code\u003e, \u003ccode\u003e__aenter__\u003c/code\u003e in \u003ccode\u003ePYI034\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22798\"\u003e#22798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pytest-style\u003c/code\u003e] Support \u003ccode\u003echeck\u003c/code\u003e parameter in \u003ccode\u003ePT011\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22725\"\u003e#22725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add exception for \u003ccode\u003ectypes.Structure._fields_\u003c/code\u003e (\u003ccode\u003eRUF012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22559\"\u003e#22559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMany fixes are now marked unsafe if they would remove comments:\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22656\"\u003e\u003ccode\u003eB009\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22657\"\u003e\u003ccode\u003eB010\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22658\"\u003e\u003ccode\u003eB013\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22659\"\u003e\u003ccode\u003eB014\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22632\"\u003e\u003ccode\u003eB033\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22662\"\u003e\u003ccode\u003eSIM910\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22661\"\u003e\u003ccode\u003eSIM911\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22772\"\u003e\u003ccode\u003eUP007\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22774\"\u003e\u003ccode\u003eUP039\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22773\"\u003e\u003ccode\u003eUP041\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22772\"\u003e\u003ccode\u003eUP045\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22767\"\u003e\u003ccode\u003eFURB105\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22681\"\u003e\u003ccode\u003eFURB116\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22680\"\u003e\u003ccode\u003eFURB136\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22679\"\u003e\u003ccode\u003eFURB140\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22670\"\u003e\u003ccode\u003eFURB145\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22669\"\u003e\u003ccode\u003eFURB154\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22668\"\u003e\u003ccode\u003eFURB157\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22667\"\u003e\u003ccode\u003eFURB164\u003c/code\u003e\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22666\"\u003e\u003ccode\u003eFURB181\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22665\"\u003e\u003ccode\u003eFURB188\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22663\"\u003e\u003ccode\u003eRUF019\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22664\"\u003e\u003ccode\u003eRUF020\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--exit-non-zero-on-format\u003c/code\u003e to formatter exit codes section (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22761\"\u003e#22761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate contributing guide for adding a new rule (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22779\"\u003e#22779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eFastAPI\u003c/code\u003e] Document fix safety for \u003ccode\u003eFAST001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22655\"\u003e#22655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Tweak explanation to focus on latency/efficiency tradeoff (\u003ccode\u003eASYNC110\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22715\"\u003e#22715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epandas-vet\u003c/code\u003e] Make example error out-of-the-box (\u003ccode\u003ePD002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22561\"\u003e#22561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Make the example work out of box (\u003ccode\u003eFURB101\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22770\"\u003e#22770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Make the example work out of box (\u003ccode\u003eFURB103\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22769\"\u003e#22769\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/caiquejjx\"\u003e\u003ccode\u003e@​caiquejjx\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/denyszhak\"\u003e\u003ccode\u003e@​denyszhak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sjyangkevin\"\u003e\u003ccode\u003e@​sjyangkevin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MeGaGiGaGon\"\u003e\u003ccode\u003e@​MeGaGiGaGon\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/leandrobbraga\"\u003e\u003ccode\u003e@​leandrobbraga\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8b2e7b36f246b990fe473a84eef25ff429e59ecf\"\u003e\u003ccode\u003e8b2e7b3\u003c/code\u003e\u003c/a\u003e Prepare release v0.14.14 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22813\"\u003e#22813\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/4c7d1f50fd8d1baf06a3c8885ecd0ded0113d383\"\u003e\u003ccode\u003e4c7d1f5\u003c/code\u003e\u003c/a\u003e [ty] Infer \u003ccode\u003eTypedDict\u003c/code\u003e types with \u0026gt;=1 required key as being always truthy (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/2\"\u003e#2\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b7de4341535ff2b299695335e0a7b9ebaf297348\"\u003e\u003ccode\u003eb7de434\u003c/code\u003e\u003c/a\u003e add CCfW hooks (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22803\"\u003e#22803\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b912dfc8788f8f8c351767899df6b72ce3366352\"\u003e\u003ccode\u003eb912dfc\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epyupgrade\u003c/code\u003e] Apply \u003ccode\u003eUP045\u003c/code\u003e to string arguments of \u003ccode\u003etyping.cast\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22320\"\u003e#22320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1ff062d1cccb8025de184a55c6dfe469a4293249\"\u003e\u003ccode\u003e1ff062d\u003c/code\u003e\u003c/a\u003e [ty] Improve completion rankings for raise-from/except contexts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22775\"\u003e#22775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7e408a51d24db2bca248bb90f2f7938f83efd22b\"\u003e\u003ccode\u003e7e408a5\u003c/code\u003e\u003c/a\u003e Update dependency wrangler to v4.59.1 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22793\"\u003e#22793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/ceb876b82300bd237d11e3eb77c46fcf3d3afe85\"\u003e\u003ccode\u003eceb876b\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix inconsistent handling of forward references for \u003ccode\u003e__new__\u003c/code\u003e,...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c5b4ee68c90faf0e609fa6553a171a7ba60ebdcb\"\u003e\u003ccode\u003ec5b4ee6\u003c/code\u003e\u003c/a\u003e [ty] Support solving generics involving PEP 695 type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22678\"\u003e#22678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b9a61293153f43df9963c727539309b76ac4756d\"\u003e\u003ccode\u003eb9a6129\u003c/code\u003e\u003c/a\u003e [ty] Improve support for kwarg splats in dictionary literals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22781\"\u003e#22781\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/f516d47ceb7f6a0c3a95eaaa2c7451a32b5d7120\"\u003e\u003ccode\u003ef516d47\u003c/code\u003e\u003c/a\u003e Update contributing guide for adding a new rule (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22779\"\u003e#22779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.13.3...0.14.14\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 8.4.2 to 9.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.0.2\u003c/h2\u003e\n\u003ch1\u003epytest 9.0.2 (2025-12-06)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13896\"\u003e#13896\u003c/a\u003e: The terminal progress feature added in pytest 9.0.0 has been disabled by default, except on Windows, due to compatibility issues with some terminal emulators.\u003c/p\u003e\n\u003cp\u003eYou may enable it again by passing \u003ccode\u003e-p terminalprogress\u003c/code\u003e. We may enable it by default again once compatibility improves in the future.\u003c/p\u003e\n\u003cp\u003eAdditionally, when the environment variable \u003ccode\u003eTERM\u003c/code\u003e is \u003ccode\u003edumb\u003c/code\u003e, the escape codes are no longer emitted, even if the plugin is enabled.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13904\"\u003e#13904\u003c/a\u003e: Fixed the TOML type of the \u003ccode\u003etmp_path_retention_count\u003c/code\u003e settings in the API reference from number to string.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13946\"\u003e#13946\u003c/a\u003e: The private \u003ccode\u003econfig.inicfg\u003c/code\u003e attribute was changed in a breaking manner in pytest 9.0.0.\nDue to its usage in the ecosystem, it is now restored to working order using a compatibility shim.\nIt will be deprecated in pytest 9.1 and removed in pytest 10.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13965\"\u003e#13965\u003c/a\u003e: Fixed quadratic-time behavior when handling \u003ccode\u003eunittest\u003c/code\u003e subtests in Python 3.10.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/4492\"\u003e#4492\u003c/a\u003e: The API Reference now contains cross-reference-able documentation of \u003ccode\u003epytest's command-line flags \u0026lt;command-line-flags\u0026gt;\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.0.1\u003c/h2\u003e\n\u003ch1\u003epytest 9.0.1 (2025-11-12)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13895\"\u003e#13895\u003c/a\u003e: Restore support for skipping tests via \u003ccode\u003eraise unittest.SkipTest\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13896\"\u003e#13896\u003c/a\u003e: The terminal progress plugin added in pytest 9.0 is now automatically disabled when iTerm2 is detected, it generated desktop notifications instead of the desired functionality.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13904\"\u003e#13904\u003c/a\u003e: Fixed the TOML type of the verbosity settings in the API reference from number to string.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13910\"\u003e#13910\u003c/a\u003e: Fixed \u003c!-- raw HTML omitted --\u003eUserWarning: Do not expect file_or_dir\u003c!-- raw HTML omitted --\u003e on some earlier Python 3.12 and 3.13 point versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePackaging updates and notes for downstreams\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13933\"\u003e#13933\u003c/a\u003e: The tox configuration has been adjusted to make sure the desired\nversion string can be passed into its \u003ccode\u003epackage_env\u003c/code\u003e through\nthe \u003ccode\u003eSETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTEST\u003c/code\u003e environment\nvariable as a part of the release process -- by \u003ccode\u003ewebknjaz\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributor-facing changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13891\"\u003e#13891\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13942\"\u003e#13942\u003c/a\u003e: The CI/CD part of the release automation is now capable of\ncreating GitHub Releases without having a Git checkout on\ndisk -- by \u003ccode\u003ebluetech\u003c/code\u003e and \u003ccode\u003ewebknjaz\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13933\"\u003e#13933\u003c/a\u003e: The tox configuration has been adjusted to make sure the desired\nversion string can be passed into its \u003ccode\u003epackage_env\u003c/code\u003e through\nthe \u003ccode\u003eSETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTEST\u003c/code\u003e environment\nvariable as a part of the release process -- by \u003ccode\u003ewebknjaz\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/pytest-dev/pytest/commit/3d10b5148e03eb82b3ee29181dbdc73cf82699e2\"\u003e\u003ccode\u003e3d10b51\u003c/code\u003e\u003c/a\u003e Prepare release version 9.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/188750b725add8c3400eee6fbb6b80559c296d69\"\u003e\u003ccode\u003e188750b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14030\"\u003e#14030\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/1e4b01d1f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b7d7bef90cb9a6db8ac1d3dd5b9ae0eb9abd6c58\"\u003e\u003ccode\u003eb7d7bef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14014\"\u003e#14014\u003c/a\u003e from bluetech/compat-note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bd08e85ac76614ff5ca9ae338aee8d8b06c8fae0\"\u003e\u003ccode\u003ebd08e85\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14013\"\u003e#14013\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/922b60377...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bc783862991241c442c9f9c068e51737ec15ea10\"\u003e\u003ccode\u003ebc78386\u003c/code\u003e\u003c/a\u003e Add CLI options reference documentation (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13930\"\u003e#13930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/5a4e398ce89bc23d2cf3fd98c042fdffb6fa8afa\"\u003e\u003ccode\u003e5a4e398\u003c/code\u003e\u003c/a\u003e Fix docs typo (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14005\"\u003e#14005\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14008\"\u003e#14008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/d7ae6df394398168bf9d926f803c26849c8f07ee\"\u003e\u003ccode\u003ed7ae6df\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14006\"\u003e#14006\u003c/a\u003e from pytest-dev/maintenance/update-plugin-list-tmpl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/556f6a22e12d13d1ffeceaf64424eb95d5e0fb87\"\u003e\u003ccode\u003e556f6a2\u003c/code\u003e\u003c/a\u003e pre-commit: fix rst-lint after new release (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13999\"\u003e#13999\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/14001\"\u003e#14001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c60fbe63a26f64a42738e3f3527a8f79024fdf50\"\u003e\u003ccode\u003ec60fbe6\u003c/code\u003e\u003c/a\u003e Fix quadratic-time behavior when handling \u003ccode\u003eunittest\u003c/code\u003e subtests in Python 3.10 ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/73d9b011183d9a1c4a7007c1119d97a6e627788e\"\u003e\u003ccode\u003e73d9b01\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13995\"\u003e#13995\u003c/a\u003e from nicoddemus/patchback/backports/9.0.x/1b5200c0f...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/8.4.2...9.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sphinx-click` from 6.1.0 to 6.2.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/click-contrib/sphinx-click/commit/e8eb75e292ff6df69230420d992a34e68a7385d0\"\u003e\u003ccode\u003ee8eb75e\u003c/code\u003e\u003c/a\u003e add release notes with reno\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/click-contrib/sphinx-click/commit/46f6445bb67c76f2a4b638f4003862ee85dafba1\"\u003e\u003ccode\u003e46f6445\u003c/code\u003e\u003c/a\u003e fix tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/click-contrib/sphinx-click/commit/722f4217c1bf6dfd68f9e2c26aa52d590973b11e\"\u003e\u003ccode\u003e722f421\u003c/code\u003e\u003c/a\u003e print \u0026quot;Usage\u0026quot; before printing the command usage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/click-contrib/sphinx-click/commit/ebc38179a0229435becdd64026fa88be7ab2d60c\"\u003e\u003ccode\u003eebc3817\u003c/code\u003e\u003c/a\u003e Fix readthedocs build (redux)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/click-contrib/sphinx-click/commit/9ee09f9d3252fd6e8bce9578eca82411e89c76e5\"\u003e\u003ccode\u003e9ee09f9\u003c/code\u003e\u003c/a\u003e Fix readthedocs build\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/click-contrib/sphinx-click/compare/6.1.0...6.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `matplotlib` from 3.10.6 to 3.10.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/matplotlib/matplotlib/releases\"\u003ematplotlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREL: v3.10.8\u003c/h2\u003e\n\u003cp\u003eThis is a bugfix release in the 3.10.x series.\u003c/p\u003e\n\u003cp\u003eThe primary highlights of this release are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eProperly allow freethreaded mode in the MacOS backend\u003c/li\u003e\n\u003cli\u003eBetter error handling for MacOS backend\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eREL: v3.10.7\u003c/h2\u003e\n\u003cp\u003eThis is the latest bugfix release in the 3.10.x series.\u003c/p\u003e\n\u003cp\u003eThe most important update in this release is that the minimum version\nof \u003ccode\u003epyparsing\u003c/code\u003e has been updated to version 3.0.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/1392cbe3c79cdb93f9282747841d648770f60249\"\u003e\u003ccode\u003e1392cbe\u003c/code\u003e\u003c/a\u003e REL: v3.10.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/0b9ebb35f8310f22eb7f932b2ae14befb1f40b6f\"\u003e\u003ccode\u003e0b9ebb3\u003c/code\u003e\u003c/a\u003e Doc release prep v3.10.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/bc7b5c4377ce2544e8936255c51c1ff7cd0c5a85\"\u003e\u003ccode\u003ebc7b5c4\u003c/code\u003e\u003c/a\u003e Merge branch 'v3.10.7-doc' into v3.10.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/86b38d3f29aa2af2ddcbd1895433117caa0fba47\"\u003e\u003ccode\u003e86b38d3\u003c/code\u003e\u003c/a\u003e Github stats v3.10.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/9512188e42f9d221f83869113c44f99fe1832a0f\"\u003e\u003ccode\u003e9512188\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30717\"\u003e#30717\u003c/a\u003e from meeseeksmachine/auto-backport-of-pr-30714-on-v...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/d300769285e2c920804134e40ec83837eabe16d8\"\u003e\u003ccode\u003ed300769\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30714\"\u003e#30714\u003c/a\u003e: FIX: Gracefully handle numpy arrays as input to check_in_...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/799bc9561daea5b5578f888817cb45c9321a0463\"\u003e\u003ccode\u003e799bc95\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30711\"\u003e#30711\u003c/a\u003e from ngoldbaum/v3.10.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/134000ba19a4354da2ad1084627039e05c936754\"\u003e\u003ccode\u003e134000b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30697\"\u003e#30697\u003c/a\u003e from ngoldbaum/fix-plotting-on-worker-threads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/5b8e219d70f1daa443330eb6a5a6211506b37362\"\u003e\u003ccode\u003e5b8e219\u003c/code\u003e\u003c/a\u003e TST: Run macosx backends in a subprocess\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/878e71a95006d3aec9505f3bd836968951fdd163\"\u003e\u003ccode\u003e878e71a\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/29810\"\u003e#29810\u003c/a\u003e: Declare free-threaded support in MacOS backend extension ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/matplotlib/matplotlib/compare/v3.10.6...v3.10.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `deptry` from 0.23.1 to 0.24.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fpgmaas/deptry/releases\"\u003edeptry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.24.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003ch4\u003ePython 3.9 support dropped\u003c/h4\u003e\n\u003cp\u003eSupport for Python 3.9 has been dropped, as it has reached its end of life.\u003c/p\u003e\n\u003ch4\u003ePyPy 3.10 support dropped, 3.11 added\u003c/h4\u003e\n\u003cp\u003eSupport for PyPy 3.10 has been dropped, since it is unsupported. We now only test against PyPy 3.11, and only publish wheels for this version.\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd GitHub Actions annotations reporter (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1059\"\u003e#1059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support...\n\n_Description has been truncated_","html_url":"https://github.com/statisticsnorway/ssb-pre-system/pull/122","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/statisticsnorway%2Fssb-pre-system/issues/122","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/122/packages"}},{"old_version":"2.10.2","new_version":"2.14.1","update_type":"minor","path":null,"pr_created_at":"2025-12-08T02:32:25.000Z","version_change":"2.10.2 → 2.14.1","issue":{"uuid":"3704392014","node_id":"PR_kwDOO1bbZM63kwzP","number":34,"state":"closed","title":"chore(deps): bump the production-dependencies group across 1 directory with 73 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-12-15T02:26:50.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-08T02:32:25.000Z","updated_at":"2025-12-15T02:26:52.000Z","time_to_close":604465,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"production-dependencies","update_count":73,"packages":[{"name":"ipykernel","old_version":"6.29.5","new_version":"7.1.0","repository_url":"https://github.com/ipython/ipykernel"},{"name":"matplotlib","old_version":"3.10.3","new_version":"3.10.7","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"pandas","old_version":"2.2.3","new_version":"2.3.3","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"plotly","old_version":"6.1.2","new_version":"6.5.0","repository_url":"https://github.com/plotly/plotly.py"},{"name":"pypsa","old_version":"0.34.1","new_version":"1.0.5","repository_url":"https://github.com/PyPSA/PyPSA"},{"name":"asttokens","old_version":"3.0.0","new_version":"3.0.1","repository_url":"https://github.com/gristlabs/asttokens"},{"name":"attrs","old_version":"25.3.0","new_version":"25.4.0","repository_url":"https://github.com/sponsors/hynek"},{"name":"bottleneck","old_version":"1.5.0","new_version":"1.6.0","repository_url":"https://github.com/pydata/bottleneck"},{"name":"cdsapi","old_version":"0.7.6","new_version":"0.7.7","repository_url":"https://github.com/ecmwf/cdsapi"},{"name":"certifi","old_version":"2025.4.26","new_version":"2025.11.12","repository_url":"https://github.com/certifi/python-certifi"},{"name":"cffi","old_version":"1.17.1","new_version":"2.0.0","repository_url":"https://github.com/python-cffi/cffi"},{"name":"cfgrib","old_version":"0.9.15.0","new_version":"0.9.15.1","repository_url":"https://github.com/ecmwf/cfgrib"},{"name":"cftime","old_version":"1.6.4.post1","new_version":"1.6.5","repository_url":"https://github.com/Unidata/cftime"},{"name":"charset-normalizer","old_version":"3.4.2","new_version":"3.4.4","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"click","old_version":"8.2.1","new_version":"8.3.1","repository_url":"https://github.com/pallets/click"},{"name":"cloudpickle","old_version":"3.1.1","new_version":"3.1.2","repository_url":"https://github.com/cloudpipe/cloudpickle"},{"name":"comm","old_version":"0.2.2","new_version":"0.2.3","repository_url":"https://github.com/ipython/comm"},{"name":"contourpy","old_version":"1.3.2","new_version":"1.3.3","repository_url":"https://github.com/contourpy/contourpy"},{"name":"dask","old_version":"2025.5.1","new_version":"2025.11.0","repository_url":"https://github.com/dask/dask"},{"name":"debugpy","old_version":"1.8.14","new_version":"1.8.17","repository_url":"https://github.com/microsoft/debugpy"},{"name":"eccodes","old_version":"2.42.0","new_version":"2.44.0","repository_url":"https://github.com/ecmwf/eccodes-python"},{"name":"ecmwf-datastores-client","old_version":"0.2.0","new_version":"0.4.1","repository_url":"https://github.com/ecmwf/ecmwf-datastores-client"},{"name":"executing","old_version":"2.2.0","new_version":"2.2.1","repository_url":"https://github.com/alexmojaki/executing"},{"name":"fastjsonschema","old_version":"2.21.1","new_version":"2.21.2","repository_url":"https://github.com/horejsek/python-fastjsonschema"},{"name":"findlibs","old_version":"0.1.1","new_version":"0.1.2","repository_url":"https://github.com/ecmwf/findlibs"},{"name":"fonttools","old_version":"4.58.1","new_version":"4.61.0","repository_url":"https://github.com/fonttools/fonttools"},{"name":"fsspec","old_version":"2025.5.1","new_version":"2025.12.0","repository_url":"https://github.com/fsspec/filesystem_spec"},{"name":"geopandas","old_version":"1.1.0","new_version":"1.1.1","repository_url":"https://github.com/geopandas/geopandas"},{"name":"h5netcdf","old_version":"1.6.3","new_version":"1.7.3","repository_url":"https://github.com/h5netcdf/h5netcdf"},{"name":"h5py","old_version":"3.14.0","new_version":"3.15.1","repository_url":"https://github.com/h5py/h5py"},{"name":"highspy","old_version":"1.10.0","new_version":"1.12.0","repository_url":"https://github.com/ERGO-Code/HiGHS"},{"name":"idna","old_version":"3.10","new_version":"3.11","repository_url":"https://github.com/kjd/idna"},{"name":"ipython","old_version":"9.3.0","new_version":"9.8.0","repository_url":"https://github.com/ipython/ipython"},{"name":"jsonschema","old_version":"4.24.0","new_version":"4.25.1","repository_url":"https://github.com/python-jsonschema/jsonschema"},{"name":"jsonschema-specifications","old_version":"2025.4.1","new_version":"2025.9.1","repository_url":"https://github.com/python-jsonschema/jsonschema-specifications"},{"name":"jupyter-core","old_version":"5.8.1","new_version":"5.9.1","repository_url":"https://github.com/jupyter/jupyter_core"},{"name":"kiwisolver","old_version":"1.4.8","new_version":"1.4.9","repository_url":"https://github.com/nucleic/kiwi"},{"name":"linopy","old_version":"0.5.5","new_version":"0.5.8","repository_url":"https://github.com/PyPSA/linopy"},{"name":"matplotlib-inline","old_version":"0.1.7","new_version":"0.2.1","repository_url":"https://github.com/ipython/matplotlib-inline"},{"name":"multiurl","old_version":"0.3.6","new_version":"0.3.7","repository_url":"https://github.com/ecmwf/multiurl"},{"name":"narwhals","old_version":"1.41.0","new_version":"2.13.0","repository_url":"https://github.com/narwhals-dev/narwhals"},{"name":"netcdf4","old_version":"1.7.2","new_version":"1.7.3","repository_url":"https://github.com/Unidata/netcdf4-python"},{"name":"networkx","old_version":"3.5","new_version":"3.6","repository_url":"https://github.com/networkx/networkx"},{"name":"numexpr","old_version":"2.10.2","new_version":"2.14.1","repository_url":"https://github.com/pydata/numexpr"},{"name":"numpy","old_version":"2.2.0","new_version":"2.3.5","repository_url":"https://github.com/numpy/numpy"},{"name":"packaging","old_version":"24.2","new_version":"25.0","repository_url":"https://github.com/pypa/packaging"},{"name":"parso","old_version":"0.8.4","new_version":"0.8.5","repository_url":"https://github.com/davidhalter/parso"},{"name":"pillow","old_version":"11.2.1","new_version":"12.0.0","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"platformdirs","old_version":"4.3.8","new_version":"4.5.1","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"polars","old_version":"1.30.0","new_version":"1.35.2","repository_url":"https://github.com/pola-rs/polars"},{"name":"prompt-toolkit","old_version":"3.0.51","new_version":"3.0.52","repository_url":"https://github.com/prompt-toolkit/python-prompt-toolkit"},{"name":"psutil","old_version":"7.0.0","new_version":"7.1.3","repository_url":"https://github.com/giampaolo/psutil"},{"name":"pycparser","old_version":"2.22","new_version":"2.23","repository_url":"https://github.com/eliben/pycparser"},{"name":"pygments","old_version":"2.19.1","new_version":"2.19.2","repository_url":"https://github.com/pygments/pygments"},{"name":"pyogrio","old_version":"0.11.0","new_version":"0.12.1","repository_url":"https://github.com/geopandas/pyogrio"},{"name":"pyparsing","old_version":"3.2.3","new_version":"3.2.5","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"pyproj","old_version":"3.7.1","new_version":"3.7.2","repository_url":"https://github.com/pyproj4/pyproj"},{"name":"pytz","old_version":"2024.2","new_version":"2025.2","repository_url":"https://github.com/stub42/pytz"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"pyzmq","old_version":"26.4.0","new_version":"27.1.0","repository_url":"https://github.com/zeromq/pyzmq"},{"name":"referencing","old_version":"0.36.2","new_version":"0.37.0","repository_url":"https://github.com/python-jsonschema/referencing"},{"name":"requests","old_version":"2.32.4","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"rpds-py","old_version":"0.25.1","new_version":"0.30.0","repository_url":"https://github.com/crate-py/rpds"},{"name":"scipy","old_version":"1.15.3","new_version":"1.16.3","repository_url":"https://github.com/scipy/scipy"},{"name":"shapely","old_version":"2.0.7","new_version":"2.1.2","repository_url":"https://github.com/shapely/shapely"},{"name":"toolz","old_version":"1.0.0","new_version":"1.1.0","repository_url":"https://github.com/pytoolz/toolz"},{"name":"tornado","old_version":"6.5.1","new_version":"6.5.2","repository_url":"https://github.com/tornadoweb/tornado"},{"name":"typing-extensions","old_version":"4.14.0","new_version":"4.15.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"tzdata","old_version":"2024.2","new_version":"2025.2","repository_url":"https://github.com/python/tzdata"},{"name":"urllib3","old_version":"2.5.0","new_version":"2.6.0","repository_url":"https://github.com/urllib3/urllib3"},{"name":"wcwidth","old_version":"0.2.13","new_version":"0.2.14","repository_url":"https://github.com/jquast/wcwidth"},{"name":"xarray","old_version":"2025.4.0","new_version":"2025.12.0","repository_url":"https://github.com/pydata/xarray"},{"name":"zipp","old_version":"3.22.0","new_version":"3.23.0","repository_url":"https://github.com/jaraco/zipp"}],"path":null,"ecosystem":"pip"},"body":"Bumps the production-dependencies group with 73 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [ipykernel](https://github.com/ipython/ipykernel) | `6.29.5` | `7.1.0` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.10.3` | `3.10.7` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.2.3` | `2.3.3` |\n| [plotly](https://github.com/plotly/plotly.py) | `6.1.2` | `6.5.0` |\n| [pypsa](https://github.com/PyPSA/PyPSA) | `0.34.1` | `1.0.5` |\n| [asttokens](https://github.com/gristlabs/asttokens) | `3.0.0` | `3.0.1` |\n| [attrs](https://github.com/sponsors/hynek) | `25.3.0` | `25.4.0` |\n| [bottleneck](https://github.com/pydata/bottleneck) | `1.5.0` | `1.6.0` |\n| [cdsapi](https://github.com/ecmwf/cdsapi) | `0.7.6` | `0.7.7` |\n| [certifi](https://github.com/certifi/python-certifi) | `2025.4.26` | `2025.11.12` |\n| [cffi](https://github.com/python-cffi/cffi) | `1.17.1` | `2.0.0` |\n| [cfgrib](https://github.com/ecmwf/cfgrib) | `0.9.15.0` | `0.9.15.1` |\n| [cftime](https://github.com/Unidata/cftime) | `1.6.4.post1` | `1.6.5` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.2` | `3.4.4` |\n| [click](https://github.com/pallets/click) | `8.2.1` | `8.3.1` |\n| [cloudpickle](https://github.com/cloudpipe/cloudpickle) | `3.1.1` | `3.1.2` |\n| [comm](https://github.com/ipython/comm) | `0.2.2` | `0.2.3` |\n| [contourpy](https://github.com/contourpy/contourpy) | `1.3.2` | `1.3.3` |\n| [dask](https://github.com/dask/dask) | `2025.5.1` | `2025.11.0` |\n| [debugpy](https://github.com/microsoft/debugpy) | `1.8.14` | `1.8.17` |\n| [eccodes](https://github.com/ecmwf/eccodes-python) | `2.42.0` | `2.44.0` |\n| [ecmwf-datastores-client](https://github.com/ecmwf/ecmwf-datastores-client) | `0.2.0` | `0.4.1` |\n| [executing](https://github.com/alexmojaki/executing) | `2.2.0` | `2.2.1` |\n| [fastjsonschema](https://github.com/horejsek/python-fastjsonschema) | `2.21.1` | `2.21.2` |\n| [findlibs](https://github.com/ecmwf/findlibs) | `0.1.1` | `0.1.2` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.58.1` | `4.61.0` |\n| [fsspec](https://github.com/fsspec/filesystem_spec) | `2025.5.1` | `2025.12.0` |\n| [geopandas](https://github.com/geopandas/geopandas) | `1.1.0` | `1.1.1` |\n| [h5netcdf](https://github.com/h5netcdf/h5netcdf) | `1.6.3` | `1.7.3` |\n| [h5py](https://github.com/h5py/h5py) | `3.14.0` | `3.15.1` |\n| [highspy](https://github.com/ERGO-Code/HiGHS) | `1.10.0` | `1.12.0` |\n| [idna](https://github.com/kjd/idna) | `3.10` | `3.11` |\n| [ipython](https://github.com/ipython/ipython) | `9.3.0` | `9.8.0` |\n| [jsonschema](https://github.com/python-jsonschema/jsonschema) | `4.24.0` | `4.25.1` |\n| [jsonschema-specifications](https://github.com/python-jsonschema/jsonschema-specifications) | `2025.4.1` | `2025.9.1` |\n| [jupyter-core](https://github.com/jupyter/jupyter_core) | `5.8.1` | `5.9.1` |\n| [kiwisolver](https://github.com/nucleic/kiwi) | `1.4.8` | `1.4.9` |\n| [linopy](https://github.com/PyPSA/linopy) | `0.5.5` | `0.5.8` |\n| [matplotlib-inline](https://github.com/ipython/matplotlib-inline) | `0.1.7` | `0.2.1` |\n| [multiurl](https://github.com/ecmwf/multiurl) | `0.3.6` | `0.3.7` |\n| [narwhals](https://github.com/narwhals-dev/narwhals) | `1.41.0` | `2.13.0` |\n| [netcdf4](https://github.com/Unidata/netcdf4-python) | `1.7.2` | `1.7.3` |\n| [networkx](https://github.com/networkx/networkx) | `3.5` | `3.6` |\n| [numexpr](https://github.com/pydata/numexpr) | `2.10.2` | `2.14.1` |\n| [numpy](https://github.com/numpy/numpy) | `2.2.0` | `2.3.5` |\n| [packaging](https://github.com/pypa/packaging) | `24.2` | `25.0` |\n| [parso](https://github.com/davidhalter/parso) | `0.8.4` | `0.8.5` |\n| [pillow](https://github.com/python-pillow/Pillow) | `11.2.1` | `12.0.0` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.3.8` | `4.5.1` |\n| [polars](https://github.com/pola-rs/polars) | `1.30.0` | `1.35.2` |\n| [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) | `3.0.51` | `3.0.52` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.1.3` |\n| [pycparser](https://github.com/eliben/pycparser) | `2.22` | `2.23` |\n| [pygments](https://github.com/pygments/pygments) | `2.19.1` | `2.19.2` |\n| [pyogrio](https://github.com/geopandas/pyogrio) | `0.11.0` | `0.12.1` |\n| [pyparsing](https://github.com/pyparsing/pyparsing) | `3.2.3` | `3.2.5` |\n| [pyproj](https://github.com/pyproj4/pyproj) | `3.7.1` | `3.7.2` |\n| [pytz](https://github.com/stub42/pytz) | `2024.2` | `2025.2` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [pyzmq](https://github.com/zeromq/pyzmq) | `26.4.0` | `27.1.0` |\n| [referencing](https://github.com/python-jsonschema/referencing) | `0.36.2` | `0.37.0` |\n| [requests](https://github.com/psf/requests) | `2.32.4` | `2.32.5` |\n| [rpds-py](https://github.com/crate-py/rpds) | `0.25.1` | `0.30.0` |\n| [scipy](https://github.com/scipy/scipy) | `1.15.3` | `1.16.3` |\n| [shapely](https://github.com/shapely/shapely) | `2.0.7` | `2.1.2` |\n| [toolz](https://github.com/pytoolz/toolz) | `1.0.0` | `1.1.0` |\n| [tornado](https://github.com/tornadoweb/tornado) | `6.5.1` | `6.5.2` |\n| [typing-extensions](https://github.com/python/typing_extensions) | `4.14.0` | `4.15.0` |\n| [tzdata](https://github.com/python/tzdata) | `2024.2` | `2025.2` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.5.0` | `2.6.0` |\n| [wcwidth](https://github.com/jquast/wcwidth) | `0.2.13` | `0.2.14` |\n| [xarray](https://github.com/pydata/xarray) | `2025.4.0` | `2025.12.0` |\n| [zipp](https://github.com/jaraco/zipp) | `3.22.0` | `3.23.0` |\n\n\nUpdates `ipykernel` from 6.29.5 to 7.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ipython/ipykernel/releases\"\u003eipykernel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.1.0\u003c/h2\u003e\n\u003ch2\u003e7.1.0\u003c/h2\u003e\n\u003cp\u003eIPykernel 7.1.0 fixes an issue where display outputs such as Matplotlib plots were not included when using \u003ccode\u003e%notebook\u003c/code\u003e magic to save sessions as \u003ccode\u003e.ipynb\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1435\"\u003e#1435\u003c/a\u003e). This is enabled using the traitlet \u003ccode\u003eZMQDisplayPublisher.store_display_history\u003c/code\u003e which defaults to the previous behaviour of False. This is a minor release rather than a patch release due to the addition of the new traitlet.\u003c/p\u003e\n\u003cp\u003eOutput from threads is restored to the pre-6.29 behavior by default (route to latest cell, unless \u003ccode\u003eget_ipython().set_parent()\u003c/code\u003e is called explicitly from the thread. If it is called, output from that thread will continue to be routed to the same cell). This behavior is now opt-in, instead of unconditional (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1451\"\u003e#1451\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003eThis release also fixes bugs that were introduced into the 7.x branch relating to Matplotlib plots in separate windows not being displayed correctly (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1458\"\u003e#1458\u003c/a\u003e), kernels launched in new threads failing asserts (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1455\"\u003e#1455\u003c/a\u003e), and \u003ccode\u003eContextVar\u003c/code\u003es persisting between cells (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1462\"\u003e#1462\u003c/a\u003e). There is also a fix for keyboard interrupts on Windows (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1434\"\u003e#1434\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/ipython/ipykernel/compare/v7.0.1...6f61a6835c217e42c406ee01b359e2fa235baf43\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStore display outputs in history for \u003ccode\u003e%notebook\u003c/code\u003e magic \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1435\"\u003e#1435\u003c/a\u003e (\u003ca href=\"https://github.com/Darshan808\"\u003e\u003ccode\u003e@​Darshan808\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix ContextVar persistence across cells \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1462\"\u003e#1462\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix matplotlib eventloops \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1458\"\u003e#1458\u003c/a\u003e (\u003ca href=\"https://github.com/ianthomas23\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefer to kernel launching thread instead of assuming the main thread \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1455\"\u003e#1455\u003c/a\u003e (\u003ca href=\"https://github.com/dfalbel\"\u003e\u003ccode\u003e@​dfalbel\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix routing of background thread output when no parent is set explicitly \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1451\"\u003e#1451\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix KeyboardInterrupt on Windows by manually resetting interrupt event \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1434\"\u003e#1434\u003c/a\u003e (\u003ca href=\"https://github.com/ptosco\"\u003e\u003ccode\u003e@​ptosco\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate pre-commit and related \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1465\"\u003e#1465\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest that matplotlib event loop integration is responsive \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1463\"\u003e#1463\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate tests for 3.14 \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1453\"\u003e#1453\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/ipython/ipykernel/graphs/contributors?from=2025-10-14\u0026amp;to=2025-10-27\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3ACarreau+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3ADarshan808+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​Darshan808\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Adfalbel+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​dfalbel\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aianthomas23+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Akrassowski+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Alumberbot-app+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​lumberbot-app\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aminrk+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aptosco+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​ptosco\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev7.0.1\u003c/h2\u003e\n\u003ch2\u003e7.0.1\u003c/h2\u003e\n\u003cp\u003eIPykernel 7.0.1 is a bug fix release to support CPython 3.14.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/ipython/ipykernel/compare/v7.0.0...6d9a14a21a8e328e384ebac48e4ccbaad85b1d45\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid overriding Thread._context in Python 3.14 \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1447\"\u003e#1447\u003c/a\u003e (\u003ca href=\"https://github.com/ianthomas23\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ipython/ipykernel/blob/main/CHANGELOG.md\"\u003eipykernel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.1.0\u003c/h2\u003e\n\u003cp\u003eIPykernel 7.1.0 fixes an issue where display outputs such as Matplotlib plots were not included when using \u003ccode\u003e%notebook\u003c/code\u003e magic to save sessions as \u003ccode\u003e.ipynb\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1435\"\u003e#1435\u003c/a\u003e). This is enabled using the traitlet \u003ccode\u003eZMQDisplayPublisher.store_display_history\u003c/code\u003e which defaults to the previous behaviour of False. This is a minor release rather than a patch release due to the addition of the new traitlet.\u003c/p\u003e\n\u003cp\u003eOutput from threads is restored to the pre-6.29 behavior by default (route to latest cell, unless \u003ccode\u003eget_ipython().set_parent()\u003c/code\u003e is called explicitly from the thread. If it is called, output from that thread will continue to be routed to the same cell). This behavior is now opt-in, instead of unconditional (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1451\"\u003e#1451\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003eThis release also fixes bugs that were introduced into the 7.x branch relating to Matplotlib plots in separate windows not being displayed correctly (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1458\"\u003e#1458\u003c/a\u003e), kernels launched in new threads failing asserts (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1455\"\u003e#1455\u003c/a\u003e), and \u003ccode\u003eContextVar\u003c/code\u003es persisting between cells (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1462\"\u003e#1462\u003c/a\u003e). There is also a fix for keyboard interrupts on Windows (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1434\"\u003e#1434\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/ipython/ipykernel/compare/v7.0.1...6f61a6835c217e42c406ee01b359e2fa235baf43\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStore display outputs in history for \u003ccode\u003e%notebook\u003c/code\u003e magic \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1435\"\u003e#1435\u003c/a\u003e (\u003ca href=\"https://github.com/Darshan808\"\u003e\u003ccode\u003e@​Darshan808\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix ContextVar persistence across cells \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1462\"\u003e#1462\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix matplotlib eventloops \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1458\"\u003e#1458\u003c/a\u003e (\u003ca href=\"https://github.com/ianthomas23\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefer to kernel launching thread instead of assuming the main thread \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1455\"\u003e#1455\u003c/a\u003e (\u003ca href=\"https://github.com/dfalbel\"\u003e\u003ccode\u003e@​dfalbel\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix routing of background thread output when no parent is set explicitly \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1451\"\u003e#1451\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix KeyboardInterrupt on Windows by manually resetting interrupt event \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1434\"\u003e#1434\u003c/a\u003e (\u003ca href=\"https://github.com/ptosco\"\u003e\u003ccode\u003e@​ptosco\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate pre-commit and related \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1465\"\u003e#1465\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest that matplotlib event loop integration is responsive \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1463\"\u003e#1463\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate tests for 3.14 \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1453\"\u003e#1453\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/ipython/ipykernel/graphs/contributors?from=2025-10-14\u0026amp;to=2025-10-27\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3ACarreau+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3ADarshan808+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​Darshan808\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Adfalbel+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​dfalbel\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aianthomas23+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Akrassowski+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Alumberbot-app+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​lumberbot-app\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aminrk+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aptosco+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​ptosco\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e7.0.1\u003c/h2\u003e\n\u003cp\u003eIPykernel 7.0.1 is a bug fix release to support CPython 3.14.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/ipython/ipykernel/compare/v7.0.0...6d9a14a21a8e328e384ebac48e4ccbaad85b1d45\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid overriding Thread._context in Python 3.14 \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1447\"\u003e#1447\u003c/a\u003e (\u003ca href=\"https://github.com/ianthomas23\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix 7.x license warnings \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1448\"\u003e#1448\u003c/a\u003e (\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eci: Test on PyPy 3.11 instead of 3.10 \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1444\"\u003e#1444\u003c/a\u003e (\u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\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/ipython/ipykernel/commit/39eaf96ab6db0d0ff9ad269831384c53a11e11d8\"\u003e\u003ccode\u003e39eaf96\u003c/code\u003e\u003c/a\u003e Publish 7.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipykernel/commit/6f61a6835c217e42c406ee01b359e2fa235baf43\"\u003e\u003ccode\u003e6f61a68\u003c/code\u003e\u003c/a\u003e test that matplotlib event loop integration is responsive (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1463\"\u003e#1463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipykernel/commit/8446e02948c390793e129affeceedfa30ed5080f\"\u003e\u003ccode\u003e8446e02\u003c/code\u003e\u003c/a\u003e Fix KeyboardInterrupt on Windows by manually resetting interrupt event (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1434\"\u003e#1434\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipykernel/commit/dd1e09484854c8dedcd98436bc01b6b8e1cc9034\"\u003e\u003ccode\u003edd1e094\u003c/code\u003e\u003c/a\u003e update pre-commit and related (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1465\"\u003e#1465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipykernel/commit/95f245138589db4f723b8af06107cdfeadc53314\"\u003e\u003ccode\u003e95f2451\u003c/code\u003e\u003c/a\u003e fix ContextVar persistence across cells (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1462\"\u003e#1462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipykernel/commit/c56a7aab3cad1fb91f7e7185dc7403d561ecd667\"\u003e\u003ccode\u003ec56a7aa\u003c/code\u003e\u003c/a\u003e Fix matplotlib eventloops (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1458\"\u003e#1458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipykernel/commit/c7af34cd19ebcd43f5aafe1919909feb6e898387\"\u003e\u003ccode\u003ec7af34c\u003c/code\u003e\u003c/a\u003e Refer to kernel laucnhing thread instead of assuming the main thread (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1455\"\u003e#1455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipykernel/commit/7193d14de447a18470a18d60b81eda5f0048b6aa\"\u003e\u003ccode\u003e7193d14\u003c/code\u003e\u003c/a\u003e Fix routing of background thread output when no parent is set explicitly (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1451\"\u003e#1451\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipykernel/commit/b8f5dfc3a35a658c66b85213e60f634bd8a44488\"\u003e\u003ccode\u003eb8f5dfc\u003c/code\u003e\u003c/a\u003e Store display outputs in history for \u003ccode\u003e%notebook\u003c/code\u003e magic (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1435\"\u003e#1435\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipykernel/commit/93f11dbb02692a7922cb6fdb4ebadffdb8b691c0\"\u003e\u003ccode\u003e93f11db\u003c/code\u003e\u003c/a\u003e update tests for 3.14 (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1453\"\u003e#1453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ipython/ipykernel/compare/v6.29.5...v7.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `matplotlib` from 3.10.3 to 3.10.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/matplotlib/matplotlib/releases\"\u003ematplotlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREL: v3.10.7\u003c/h2\u003e\n\u003cp\u003eThis is the latest bugfix release in the 3.10.x series.\u003c/p\u003e\n\u003cp\u003eThe most important update in this release is that the minimum version\nof \u003ccode\u003epyparsing\u003c/code\u003e has been updated to version 3.0.\u003c/p\u003e\n\u003ch2\u003eREL: v3.10.6\u003c/h2\u003e\n\u003cp\u003eThis is a bugfix release in the 3.10.x series.\u003c/p\u003e\n\u003cp\u003eHighlights from this release include:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e- Fix regression of hi-dpi support for Qt\n- Fix race condition in TexManager.make_dvi \u0026amp; make_png\n- Various documentation and other bugfixes\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eREL: v3.10.5\u003c/h2\u003e\n\u003cp\u003eThis is the fourth bugfix release of the 3.10.x series.\u003c/p\u003e\n\u003cp\u003eIncluded in this release is distributed wheels for Python 3.14 (including freethreaded) and Windows ARM.\u003c/p\u003e\n\u003cp\u003eThere are also several smaller bugfixes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/4aeb773422464799998d900198b35cb80e94b3e1\"\u003e\u003ccode\u003e4aeb773\u003c/code\u003e\u003c/a\u003e REL: v3.10.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/080add32f6b3c82075ccfb1111b21d5ff9e9c075\"\u003e\u003ccode\u003e080add3\u003c/code\u003e\u003c/a\u003e Merge branch 'v3.10.6-doc' into v3.10.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/a604a8beed19bdda1355a29a12ab2904367cf140\"\u003e\u003ccode\u003ea604a8b\u003c/code\u003e\u003c/a\u003e Github Stats v3.10.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/f550261fadf30702a42bc85f71e3489a3c2f6b99\"\u003e\u003ccode\u003ef550261\u003c/code\u003e\u003c/a\u003e Zenodo v3.10.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/9a5e3e4253a3deaa5c83451b1208b5d46759ff7c\"\u003e\u003ccode\u003e9a5e3e4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30628\"\u003e#30628\u003c/a\u003e from meeseeksmachine/auto-backport-of-pr-30626-on-v...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/eb8cb0ce31f6965713a5d46fe4fadf2dffb74773\"\u003e\u003ccode\u003eeb8cb0c\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30626\"\u003e#30626\u003c/a\u003e: MNT: Fix new F401 unused imports warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/8fadc71e0e372f05aa0305ef425c5152d70d6f39\"\u003e\u003ccode\u003e8fadc71\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/29745\"\u003e#29745\u003c/a\u003e: Use PEP8 style method and function names from (\u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30589\"\u003e#30589\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/098876ee6f695f6c5297d4cf3f974c9d64ff4c79\"\u003e\u003ccode\u003e098876e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30614\"\u003e#30614\u003c/a\u003e from meeseeksmachine/auto-backport-of-pr-30612-on-v...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/eb42d8637ba5891aa806fa6b0ed73835c16b2741\"\u003e\u003ccode\u003eeb42d86\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30612\"\u003e#30612\u003c/a\u003e: MNT: update black pin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/4a9c187a73fce92074b262612b3285dcff2d615e\"\u003e\u003ccode\u003e4a9c187\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30572\"\u003e#30572\u003c/a\u003e from QuLogic/auto-backport-of-pr-30571-on-v3.10.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/matplotlib/matplotlib/compare/v3.10.3...v3.10.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pandas` from 2.2.3 to 2.3.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pandas-dev/pandas/releases\"\u003epandas's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePandas 2.3.3\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 2.3.3.\nThis release includes some improvements and fixes to the future string data type (preview feature for the upcoming pandas 3.0). We recommend that all users upgrade to this version.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/pandas-docs/version/2.3/whatsnew/v2.3.3.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\nPandas 2.3.3 supports Python 3.9 and higher, and is the first release to support Python 3.14.\u003c/p\u003e\n\u003cp\u003eThe release will be available on the conda-forge channel:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install pandas --channel conda-forge\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr via PyPI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install --upgrade pandas\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\u003c/p\u003e\n\u003ch2\u003ePandas 2.3.2\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 2.3.2.\nThis release includes some improvements and fixes to the future string data type (preview feature for the upcoming pandas 3.0). We recommend that all users upgrade to this version.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/pandas-docs/version/2.3/whatsnew/v2.3.2.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\nPandas 2.3.2 supports Python 3.9 and higher.\u003c/p\u003e\n\u003cp\u003eThe release will be available on the conda-forge channel:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install pandas --channel conda-forge\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr via PyPI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install --upgrade pandas\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\u003c/p\u003e\n\u003ch2\u003ePandas 2.3.1\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 2.3.1.\nThis release includes some improvements and fixes to the future string data type (preview feature for the upcoming pandas 3.0). We recommend that all users upgrade to this version.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/pandas-docs/version/2.3.1/whatsnew/v2.3.1.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\nPandas 2.3.1 supports Python 3.9 and higher.\u003c/p\u003e\n\u003cp\u003eThe release will be available on the conda-forge channel:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install pandas --channel conda-forge\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr via PyPI:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/9c8bc3e55188c8aff37207a74f1dd144980b8874\"\u003e\u003ccode\u003e9c8bc3e\u003c/code\u003e\u003c/a\u003e RLS: 2.3.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/6aa788a00bda9b0f004302076dad94df3edeafc7\"\u003e\u003ccode\u003e6aa788a\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] DOC: prepare 2.3.3 whatsnew notes for release (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62499\"\u003e#62499\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62508\"\u003e#62508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/b64f0df403d11ac733d9f460f89a5e99c8044ed0\"\u003e\u003ccode\u003eb64f0df\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] BUG: avoid validation error for ufunc with string[python] ar...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/058eb2b0edfc408dae9966ef1f03372f2a3ff04c\"\u003e\u003ccode\u003e058eb2b\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] BUG: String[pyarrow] comparison with mixed object (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62424\"\u003e#62424\u003c/a\u003e) (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/2ca088daef6a9d9333fea8aedffc7e50d28dfdee\"\u003e\u003ccode\u003e2ca088d\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] DEPR: remove the Period resampling deprecation (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62480\"\u003e#62480\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62\"\u003e#62\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/92bf98f623572ed053d48be5818c8503f1b61888\"\u003e\u003ccode\u003e92bf98f\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] BUG: fix .str.isdigit to honor unicode superscript for older...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/e57c7d6a2247316188fba0ba2a0db3c11028d75c\"\u003e\u003ccode\u003ee57c7d6\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62452\"\u003e#62452\u003c/a\u003e on branch 2.3.x (TST: Adjust tests for numexpr 2.13) (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62454\"\u003e#62454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/e0fe9a03c90e560c34a3bbbdd1735a8b64f7b281\"\u003e\u003ccode\u003ee0fe9a0\u003c/code\u003e\u003c/a\u003e Backport to 2.3.x: REGR: from_records not initializing subclasses properly (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/23a1085e641c8e3a5b500e319c5973e4160b9236\"\u003e\u003ccode\u003e23a1085\u003c/code\u003e\u003c/a\u003e BUG: improve future warning for boolean operations with missaligned indexes (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/61136969fb18b438b6660bd5d485d0236dbf4a71\"\u003e\u003ccode\u003e6113696\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62396\"\u003e#62396\u003c/a\u003e on branch 2.3.x (PKG/DOC: indicate Python 3.14 support in ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandas-dev/pandas/compare/v2.2.3...v2.3.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `plotly` from 6.1.2 to 6.5.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.5.0\u003c/h2\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate plotly.js from version 3.2.0 to version 3.3.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.3.0\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5421\"\u003e#5421\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ehovertemplate\u003c/code\u003e for \u003ccode\u003ecandlestick\u003c/code\u003e and \u003ccode\u003eohlc\u003c/code\u003e traces [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7619\"\u003e#7619\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where numpy datetime contained in Python list was converted to integer [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5415\"\u003e#5415\u003c/a\u003e]\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.4.0...v6.5.0\"\u003ehttps://github.com/plotly/plotly.py/compare/v6.4.0...v6.5.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev6.4.0\u003c/h2\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate plotly.js from version 3.1.1 to version 3.2.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5388\"\u003e#5357\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ehovertemplatefallback\u003c/code\u003e and \u003ccode\u003etexttemplatefallback\u003c/code\u003e attributes [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7577\"\u003e#7577\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd \u0026quot;SI extended\u0026quot; formatting rule for tick exponents on axis labels, allowing values to be displayed with extended SI prefixes (e.g., femto, pico, atto) [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7249\"\u003e#7249\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003ecreate_hexbin_mapbox\u003c/code\u003e in favor of \u003ccode\u003ecreate_hexbin_map\u003c/code\u003e, update related function calls [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5358\"\u003e5358\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/ajlien\"\u003e\u003ccode\u003e@​ajlien\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.3.1\u003c/h2\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Plotly.js from version 3.1.0 to version 3.1.1. See the Plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5357\"\u003e#5357\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eFix issue preventing Scattergl plots with text elements from rendering [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7563\"\u003eplotly.js#7563\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUse native legends when converting from matplotlib [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5312\"\u003e#5312\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/robertoffmoura\"\u003e\u003ccode\u003e@​robertoffmoura\u003c/code\u003e\u003c/a\u003e to the contribution!\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003eshared_yaxes\u003c/code\u003e to work with secondary axes [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5180\"\u003e#5180\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/gmjw\"\u003e\u003ccode\u003e@​gmjw\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where width/height in plot layout were not respected during Kaleido image export [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5325\"\u003e#5325\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eFix typo in default argument to \u003ccode\u003e_ternary_contour.py\u003c/code\u003e [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5315\"\u003e#5315\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/Lexachoc\"\u003e\u003ccode\u003e@​Lexachoc\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eFix incorrect \u003ccode\u003efig.show()\u003c/code\u003e behavior when \u003ccode\u003eipython\u003c/code\u003e is installed [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5258\"\u003e#5258\u003c/a\u003e]\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.3.0...v6.3.1\"\u003ehttps://github.com/plotly/plotly.py/compare/v6.3.0...v6.3.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev6.3.0\u003c/h2\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Plotly.js from version 3.0.1 to version 3.1.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5318\"\u003e#5318\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExposed \u003ccode\u003eplotly.io.get_chrome()\u003c/code\u003e as a function which can be called from within a Python script. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5282\"\u003e#5282\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResolved issue causing extraneous engine deprecation warnings [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5287\"\u003e#5287\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/jdbeel\"\u003e\u003ccode\u003e@​jdbeel\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.2.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd SRI (Subresource Integrity) hash support for CDN script tags when using \u003ccode\u003einclude_plotlyjs='cdn'\u003c/code\u003e. This enhances security by ensuring browser verification of CDN-served plotly.js files [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5165\"\u003e#5165\u003c/a\u003e] (with thanks to \u003ca href=\"https://github.com/ddworken\"\u003e\u003ccode\u003e@​ddworken\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow setting Plotly.js path via \u003ccode\u003epio.defaults\u003c/code\u003e [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5207\"\u003e#5207\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/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.0] - 2025-11-17\u003c/h2\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate plotly.js from version 3.2.0 to version 3.3.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.3.0\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5421\"\u003e#5421\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ehovertemplate\u003c/code\u003e for \u003ccode\u003ecandlestick\u003c/code\u003e and \u003ccode\u003eohlc\u003c/code\u003e traces [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7619\"\u003e#7619\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where numpy datetime contained in Python list was converted to integer [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5415\"\u003e#5415\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.4.0] - 2025-11-02\u003c/h2\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate plotly.js from version 3.1.1 to version 3.2.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5388\"\u003e#5357\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ehovertemplatefallback\u003c/code\u003e and \u003ccode\u003etexttemplatefallback\u003c/code\u003e attributes [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7577\"\u003e#7577\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd \u0026quot;SI extended\u0026quot; formatting rule for tick exponents on axis labels, allowing values to be displayed with extended SI prefixes (e.g., femto, pico, atto) [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7249\"\u003e#7249\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003ecreate_hexbin_mapbox\u003c/code\u003e in favor of \u003ccode\u003ecreate_hexbin_map\u003c/code\u003e, update related function calls [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5358\"\u003e5358\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/ajlien\"\u003e\u003ccode\u003e@​ajlien\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.3.1] - 2025-10-02\u003c/h2\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Plotly.js from version 3.1.0 to version 3.1.1. See the Plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5357\"\u003e#5357\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eFix issue preventing Scattergl plots with text elements from rendering [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7563\"\u003eplotly.js#7563\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUse native legends when converting from matplotlib [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5312\"\u003e#5312\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/robertoffmoura\"\u003e\u003ccode\u003e@​robertoffmoura\u003c/code\u003e\u003c/a\u003e to the contribution!\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003eshared_yaxes\u003c/code\u003e to work with secondary axes [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5180\"\u003e#5180\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/gmjw\"\u003e\u003ccode\u003e@​gmjw\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where width/height in plot layout were not respected during Kaleido image export [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5325\"\u003e#5325\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eFix typo in default argument to \u003ccode\u003e_ternary_contour.py\u003c/code\u003e [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5315\"\u003e#5315\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/Lexachoc\"\u003e\u003ccode\u003e@​Lexachoc\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eFix incorrect \u003ccode\u003efig.show()\u003c/code\u003e behavior when \u003ccode\u003eipython\u003c/code\u003e is installed [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5258\"\u003e#5258\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.3.0] - 2025-08-12\u003c/h2\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Plotly.js from version 3.0.1 to version 3.1.0. See the Plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5318\"\u003e#5318\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExposed \u003ccode\u003eplotly.io.get_chrome()\u003c/code\u003e as a function which can be called from within a Python script. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5282\"\u003e#5282\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResolved issue causing extraneous engine deprecation warnings [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5287\"\u003e#5287\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/jdbeel\"\u003e\u003ccode\u003e@​jdbeel\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.2.0] - 2025-06-26\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd SRI (Subresource Integrity) hash support for CDN script tags when using \u003ccode\u003einclude_plotlyjs='cdn'\u003c/code\u003e. This enhances security by ensuring browser verification of CDN-served plotly.js files [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5165\"\u003e#5165\u003c/a\u003e] (with thanks to \u003ca href=\"https://github.com/ddworken\"\u003e\u003ccode\u003e@​ddworken\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow setting Plotly.js path via \u003ccode\u003epio.defaults\u003c/code\u003e [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5207\"\u003e#5207\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/plotly/plotly.py/commit/b19f8e54350e753b3e82cdc078293e826009a640\"\u003e\u003ccode\u003eb19f8e5\u003c/code\u003e\u003c/a\u003e changelog formatting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/1ec9a16b3700a3399f7bf6d802a42510fe60c215\"\u003e\u003ccode\u003e1ec9a16\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/83a2b0b4594dd330ff23ccdb77770773ac7ef1bc\"\u003e\u003ccode\u003e83a2b0b\u003c/code\u003e\u003c/a\u003e version changes for v6.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/a49f495aee7fbee5ac0a18dab4f563e7a68ce3e7\"\u003e\u003ccode\u003ea49f495\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5421\"\u003e#5421\u003c/a\u003e from plotly/update-plotlyjs-3.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/f68752659ebbe499cd50cb4ca961d882aedfa84a\"\u003e\u003ccode\u003ef687526\u003c/code\u003e\u003c/a\u003e update plotly/labextension with files from ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/83ab425007895dabe5f682400bd45671be1a6386\"\u003e\u003ccode\u003e83ab425\u003c/code\u003e\u003c/a\u003e update package-lock with new plotly.js\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/a3480f0237e76074fc3d9c47363689ae2b8a8ac7\"\u003e\u003ccode\u003ea3480f0\u003c/code\u003e\u003c/a\u003e package-lock indentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/e519d5a46e44c90b24e678a93a2548a7cb0ae567\"\u003e\u003ccode\u003ee519d5a\u003c/code\u003e\u003c/a\u003e update plotly.js to v3.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/22b0ac0ee686b1fc06ecb35c1b9b7f8e5261acba\"\u003e\u003ccode\u003e22b0ac0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5415\"\u003e#5415\u003c/a\u003e from plotly/fix-np-date-handling-issue\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/aa30be57c36d0ca602c0683d2232e7724f2b9dcf\"\u003e\u003ccode\u003eaa30be5\u003c/code\u003e\u003c/a\u003e Update _plotly_utils/basevalidators.py\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/plotly/plotly.py/compare/v6.1.2...v6.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pypsa` from 0.34.1 to 1.0.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyPSA/PyPSA/releases\"\u003epypsa's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.0.5\u003c/h2\u003e\n\u003cp\u003eRevised release notes are available in the \u003ca href=\"https://docs.pypsa.org/latest/release-notes/\"\u003edocumentation\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: free up disk space by \u003ca href=\"https://github.com/lkstrp\"\u003e\u003ccode\u003e@​lkstrp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1447\"\u003ePyPSA/PyPSA#1447\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd user Serentica by \u003ca href=\"https://github.com/gincrement\"\u003e\u003ccode\u003e@​gincrement\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1453\"\u003ePyPSA/PyPSA#1453\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump 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/PyPSA/PyPSA/pull/1455\"\u003ePyPSA/PyPSA#1455\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: CVaR optimization fails if components have no marginal costs by \u003ca href=\"https://github.com/Irieo\"\u003e\u003ccode\u003e@​Irieo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1457\"\u003ePyPSA/PyPSA#1457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix markdown syntax for pip install command by \u003ca href=\"https://github.com/flxlchr\"\u003e\u003ccode\u003e@​flxlchr\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1460\"\u003ePyPSA/PyPSA#1460\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run model runs only with src changes by \u003ca href=\"https://github.com/lkstrp\"\u003e\u003ccode\u003e@​lkstrp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1462\"\u003ePyPSA/PyPSA#1462\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: using inactive generators in global carrier constraint by \u003ca href=\"https://github.com/lkstrp\"\u003e\u003ccode\u003e@​lkstrp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1450\"\u003ePyPSA/PyPSA#1450\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix typo and improve description by \u003ca href=\"https://github.com/flxlchr\"\u003e\u003ccode\u003e@​flxlchr\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1461\"\u003ePyPSA/PyPSA#1461\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate users.md by \u003ca href=\"https://github.com/gincrement\"\u003e\u003ccode\u003e@​gincrement\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1458\"\u003ePyPSA/PyPSA#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix description in stochastic optimization documentation by \u003ca href=\"https://github.com/energyLS\"\u003e\u003ccode\u003e@​energyLS\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1452\"\u003ePyPSA/PyPSA#1452\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate users.md / Meridian Economics by \u003ca href=\"https://github.com/gincrement\"\u003e\u003ccode\u003e@​gincrement\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1463\"\u003ePyPSA/PyPSA#1463\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix broadcasting bug for rolling horizon with linearised UC case by \u003ca href=\"https://github.com/Irieo\"\u003e\u003ccode\u003e@​Irieo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1464\"\u003ePyPSA/PyPSA#1464\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: expressions returning zero for non-extendable generators by \u003ca href=\"https://github.com/FabianHofmann\"\u003e\u003ccode\u003e@​FabianHofmann\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1451\"\u003ePyPSA/PyPSA#1451\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/flxlchr\"\u003e\u003ccode\u003e@​flxlchr\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1460\"\u003ePyPSA/PyPSA#1460\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PyPSA/PyPSA/compare/v1.0.4...v1.0.5\"\u003ehttps://github.com/PyPSA/PyPSA/compare/v1.0.4...v1.0.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.0.4\u003c/h2\u003e\n\u003cp\u003eRevised release notes are available in the \u003ca href=\"https://PyPSA.readthedocs.io/en/latest/release-notes.html\"\u003edocumentation\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd example notebook on negative prices in unit commitment model by \u003ca href=\"https://github.com/Irieo\"\u003e\u003ccode\u003e@​Irieo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1434\"\u003ePyPSA/PyPSA#1434\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd pypsa-asean by \u003ca href=\"https://github.com/fneum\"\u003e\u003ccode\u003e@​fneum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1435\"\u003ePyPSA/PyPSA#1435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix link in stochastic optimization example by \u003ca href=\"https://github.com/euronion\"\u003e\u003ccode\u003e@​euronion\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1436\"\u003ePyPSA/PyPSA#1436\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: snapshot selection for operational in multi period optimization by \u003ca href=\"https://github.com/FabianHofmann\"\u003e\u003ccode\u003e@​FabianHofmann\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1437\"\u003ePyPSA/PyPSA#1437\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: masking of nan constraints in kvl by \u003ca href=\"https://github.com/FabianHofmann\"\u003e\u003ccode\u003e@​FabianHofmann\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1438\"\u003ePyPSA/PyPSA#1438\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix handling of inactive storage components in constraints/variables by \u003ca href=\"https://github.com/Irieo\"\u003e\u003ccode\u003e@​Irieo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1442\"\u003ePyPSA/PyPSA#1442\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: busmap clustering for multilinks by \u003ca href=\"https://github.com/lkstrp\"\u003e\u003ccode\u003e@​lkstrp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1441\"\u003ePyPSA/PyPSA#1441\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: follow up on \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/issues/1441\"\u003e#1441\u003c/a\u003e by \u003ca href=\"https://github.com/lkstrp\"\u003e\u003ccode\u003e@​lkstrp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1445\"\u003ePyPSA/PyPSA#1445\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnpin shapely upper bound by \u003ca href=\"https://github.com/brynpickering\"\u003e\u003ccode\u003e@​brynpickering\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1444\"\u003ePyPSA/PyPSA#1444\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: use pixi for model tests by \u003ca href=\"https://github.com/lkstrp\"\u003e\u003ccode\u003e@​lkstrp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1443\"\u003ePyPSA/PyPSA#1443\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/brynpickering\"\u003e\u003ccode\u003e@​brynpickering\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/pull/1444\"\u003ePyPSA/PyPSA#1444\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/PyPSA/PyPSA/compare/v1.0.3...v1.0.4\"\u003ehttps://github.com/PyPSA/PyPSA/compare/v1.0.3...v1.0.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.0.3\u003c/h2\u003e\n\u003cp\u003eRevised release notes are available in the \u003ca href=\"https://PyPSA.readthedocs.io/en/latest/release-notes.html\"\u003edocumentation\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyPSA/PyPSA/blob/master/docs/release-notes.md\"\u003epypsa's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/PyPSA/PyPSA/releases/tag/v1.0.5\"\u003e\u003cstrong\u003ev1.0.5\u003c/strong\u003e\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e4th December 2025\u003c!-- raw HTML omitted --\u003e { id=\u0026quot;v1.0.5\u0026quot; }\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix curtailment, capacity, and capex expressions returning zero for non-extendable generators. (\u003c!-- raw HTML omitted --\u003e)\u003c/li\u003e\n\u003cli\u003eFix using inactive generators in global carrier constraint. (\u003c!-- raw HTML omitted --\u003e)\u003c/li\u003e\n\u003cli\u003eFix CVaR optimization to handle networks with zero operational costs. (\u003c!-- raw HTML omitted --\u003e)\u003c/li\u003e\n\u003cli\u003eFix xarray broadcasting for rolling-horizon with linearized unit commitment optimization. (\u003c!-- raw HTML omitted --\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/PyPSA/PyPSA/releases/tag/v1.0.4\"\u003e\u003cstrong\u003ev1.0.4\u003c/strong\u003e\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e21st November 2025\u003c!-- raw HTML omitted --\u003e { id=\u0026quot;v1.0.4\u0026quot; }\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix busmap clustering to correctly remap all bus ports in multi-port links. (\u003c!-- raw HTML omitted --\u003e)\u003c/li\u003e\n\u003cli\u003eFix handling of inactive \u003ccode\u003eStorageUnit\u003c/code\u003e or \u003ccode\u003eStore\u003c/code\u003e components (\u003c!-- raw HTML omitted --\u003e)\u003c/li\u003e\n\u003cli\u003eFix snapshot selection in operational limit global constraint with investment period. (\u003c!-- raw HTML omitted --\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded new example notebook demonstrating negative electricity prices in linearized unit commitment problem. (\u003c!-- raw HTML omitted --\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/PyPSA/PyPSA/releases/tag/v1.0.3\"\u003e\u003cstrong\u003ev1.0.3\u003c/strong\u003e\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e6th November 2025\u003c!-- raw HTML omitted --\u003e { id=\u0026quot;v1.0.3\u0026quot; }\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix ramp_limit_up/down constraints: correctly detect components with ramp limits, handle rolling-horizon windows by using previous-window dispatch, and add unit tests for Link ramp limits and ramping constraints in rolling horizon mode. (\u003c!-- raw HTML omitted --\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/PyPSA/PyPSA/releases/tag/v1.0.2\"\u003e\u003cstrong\u003ev1.0.2\u003c/strong\u003e\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e24th October 2025\u003c!-- raw HTML omitted --\u003e { id=\u0026quot;v1.0.2\u0026quot; }\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix infinite recursion error when pickling networks. (\u003c!-- raw HTML omitted --\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/PyPSA/PyPSA/releases/tag/v1.0.1\"\u003e\u003cstrong\u003ev1.0.1\u003c/strong\u003e\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e20th October 2025\u003c!-- raw HTML omitted --\u003e { id=\u0026quot;v1.0.1\u0026quot; }\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix [\u003ccode\u003en.set_snapshots\u003c/code\u003e][pypsa.Network.set_snapshots] to synchronize investment period weightings when snapshots with new periods are set. (\u003c!-- raw HTML omitted --\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix scenario extraction methods ([pypsa.Network.get_scenario][] and [\u003ccode\u003en['scenario']\u003c/code\u003e][pypsa.Network.\u003cstrong\u003egetitem\u003c/strong\u003e]) to properly handle empty components (\u003c!-- raw HTML omitted --\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix bus validation when adding global constraints via [pypsa.Network.add][], eliminating false warnings for GlobalConstraints. (\u003c!-- raw HTML omitted --\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix dimension name consistency when adding investment period weightings. (\u003c!-- raw HTML omitted --\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/PyPSA/PyPSA/releases/tag/v1.0.0\"\u003e\u003cstrong\u003ev1.0.0\u003c/strong\u003e\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e14th October 2025\u003c!-- raw HTML omitted --\u003e 🎉 { id=\u0026quot;v1.0.0\u0026quot; }\u003c/h2\u003e\n\u003ch3\u003e\u003cstrong\u003ePyPSA 1.0\u003c/strong\u003e is here!\u003c/h3\u003e\n\u003cp\u003eCheck out \u003ca href=\"https://github.com/PyPSA/PyPSA/blob/master/docs/v1-guide.md\"\u003eWhat's new in PyPSA v1.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyPSA/PyPSA/commit/470e3de1c8086f8805deca9d4c834d11e2f49c57\"\u003e\u003ccode\u003e470e3de\u003c/code\u003e\u003c/a\u003e [github-actions.ci] prepare release v1.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyPSA/PyPSA/commit/56e9645a158e7ea8ae7df5bd2fd8b3cde7cbfe05\"\u003e\u003ccode\u003e56e9645\u003c/code\u003e\u003c/a\u003e prepare release \u003ccode\u003ev1.0.5\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyPSA/PyPSA/commit/6c46fdd0f68be1543af9f17aac8af978f2030dfc\"\u003e\u003ccode\u003e6c46fdd\u003c/code\u003e\u003c/a\u003e fix: expressions returning zero for non-extendable generators (\u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/issues/1451\"\u003e#1451\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyPSA/PyPSA/commit/325e6620340d350b3977049eb0a078542c3003d6\"\u003e\u003ccode\u003e325e662\u003c/code\u003e\u003c/a\u003e Fix broadcasting bug for rolling horizon with linearised UC case (\u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/issues/1464\"\u003e#1464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyPSA/PyPSA/commit/a4b5416e8346b4e696c6b95d25d1aed28dfd6723\"\u003e\u003ccode\u003ea4b5416\u003c/code\u003e\u003c/a\u003e Update users.md / Meridian Economics (\u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/issues/1463\"\u003e#1463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyPSA/PyPSA/commit/4c7037dbd8b241f29494ff6473ba97e36364ee87\"\u003e\u003ccode\u003e4c7037d\u003c/code\u003e\u003c/a\u003e Update example of stochastic optimization documentation (\u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/issues/1452\"\u003e#1452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyPSA/PyPSA/commit/53324de38945dd273185d018002649186f9f514b\"\u003e\u003ccode\u003e53324de\u003c/code\u003e\u003c/a\u003e Update users.md (\u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/issues/1458\"\u003e#1458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyPSA/PyPSA/commit/2532a8a251cfc58d7c49669dc3693d780bac7f16\"\u003e\u003ccode\u003e2532a8a\u003c/code\u003e\u003c/a\u003e docs: fix typo and improve description (\u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/issues/1461\"\u003e#1461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyPSA/PyPSA/commit/7460437c63887d542c1b90d65f103e4e4ff1ca56\"\u003e\u003ccode\u003e7460437\u003c/code\u003e\u003c/a\u003e fix: using inactive generators in global carrier constraint (\u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyPSA/PyPSA/commit/681b9ac3fd5f6edeb9d23bf9ca288107f67b3965\"\u003e\u003ccode\u003e681b9ac\u003c/code\u003e\u003c/a\u003e ci: run model runs only with src changes (\u003ca href=\"https://redirect.github.com/PyPSA/PyPSA/issues/1462\"\u003e#1462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/PyPSA/PyPSA/compare/v0.34.1...v1.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `asttokens` from 3.0.0 to 3.0.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gristlabs/asttokens/commit/bdbf396fc0e006912ba82f1137dfd6b2d5aa9af2\"\u003e\u003ccode\u003ebdbf396\u003c/code\u003e\u003c/a\u003e Update mypy; add 3.14 to the CI; drop python 3.8 support (\u003ca href=\"https://redirect.github.com/gristlabs/asttokens/issues/167\"\u003e#167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gristlabs/asttokens/commit/f859c055e8453650e1987c5aefaaec36582d3a07\"\u003e\u003ccode\u003ef859c05\u003c/code\u003e\u003c/a\u003e Add tests for astroid v2, v3, and v4 to the CI (\u003ca href=\"https://redirect.github.com/gristlabs/asttokens/issues/166\"\u003e#166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gristlabs/asttokens/commit/84ef059ba28d08816d3d881e363b9ed42bbeae3a\"\u003e\u003ccode\u003e84ef059\u003c/code\u003e\u003c/a\u003e Adapt asttokens for astroid 4.x (\u003ca href=\"https://redirect.github.com/gristlabs/asttokens/issues/165\"\u003e#165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gristlabs/asttokens/commit/9db9335648659520c7c8453bc39550fa4f95d539\"\u003e\u003ccode\u003e9db9335\u003c/code\u003e\u003c/a\u003e Various links improvements (\u003ca href=\"https://redirect.github.com/gristlabs/asttokens/issues/163\"\u003e#163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gristlabs/asttokens/commit/3371ebf7f48f6a731d409fffd6ba235e6a95d85b\"\u003e\u003ccode\u003e3371ebf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gristlabs/asttokens/issues/161\"\u003e#161\u003c/a\u003e from gristlabs/dependabot/pip/docs/requests-2.32.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gristlabs/asttokens/commit/3a60115d3efdb01efc8a6442b59fdd0071518e70\"\u003e\u003ccode\u003e3a60115\u003c/code\u003e\u003c/a\u003e Bump requests from 2.32.2 to 2.32.4 in /docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gristlabs/asttokens/commit/584b51c6c084455ad4597886657783d1b661ddfa\"\u003e\u003ccode\u003e584b51c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gristlabs/asttokens/issues/160\"\u003e#160\u003c/a\u003e from gristlabs/dependabot/pip/docs/urllib3-2.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gristlabs/asttokens/commit/3e9d703323ce94987bf9e030bd010eae13fa15b4\"\u003e\u003ccode\u003e3e9d703\u003c/code\u003e\u003c/a\u003e Bump urllib3 from 2.2.2 to 2.5.0 in /docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gristlabs/asttokens/commit/64d3f7c3637775fef832a9a9cdb78ec02da494e6\"\u003e\u003ccode\u003e64d3f7c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gristlabs/asttokens/issues/158\"\u003e#158\u003c/a\u003e from gristlabs/dependabot/pip/docs/jinja2-3.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gristlabs/asttokens/commit/9b5fb1abfb171cfb1f01c2d996cbd31e9d1f0660\"\u003e\u003ccode\u003e9b5fb1a\u003c/code\u003e\u003c/a\u003e Bump jinja2 from 3.1.4 to 3.1.6 in /docs\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gristlabs/asttokens/compare/v3.0.0...v3.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `attrs` from 25.3.0 to 25.4.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sponsors/hynek/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bottleneck` from 1.5.0 to 1.6.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydata/bottleneck/blob/master/RELEASE.rst\"\u003ebottleneck's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eBottleneck 1.6.0\u003c/h1\u003e\n\u003cp\u003e\u003cem\u003eRelease date 2025-09-05\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003eMaintenance\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e- Add Python 3.14 support, drop Python 3.9 \n- Add free-threading trove classifier\n- Bump upper bound on numpy to account for numpy 2.3.x\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/bottleneck/commit/3e5e705762b866e401eb9c0de9ce16b4cabc6348\"\u003e\u003ccode\u003e3e5e705\u003c/code\u003e\u003c/a\u003e MAINT: fix warning about \u003ccode\u003epp_*\u003c/code\u003e skip selector for PyPy wheels not being neede...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/bottleneck/commit/e3978ab0b742fc1d826193dbdf81f8c0f96b9bcf\"\u003e\u003ccode\u003ee3978ab\u003c/code\u003e\u003c/a\u003e MNT: Prepare changelog for 1.6.0  (\u003ca href=\"https://redirect.github.com/pydata/bottleneck/issues/482\"\u003e#482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/bottleneck/commit/aff8796c9ccb5e4fe5baa7b0dff0076eacdfcae3\"\u003e\u003ccode\u003eaff8796\u003c/code\u003e\u003c/a\u003e CI: windows-2019 runner was retired, move to windows-2022\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/bottleneck/commit/f5f011f1e165f7ad8ce64d306aaff0a3f4d335a8\"\u003e\u003ccode\u003ef5f011f\u003c/code\u003e\u003c/a\u003e MAINT: add Python 3.14 support, drop Python 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/bottleneck/commit/f3944e9b02b1fa48322624e2efd1468f33a05f79\"\u003e\u003ccode\u003ef3944e9\u003c/code\u003e\u003c/a\u003e MAINT: add free-threading trove classifier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/bottleneck/commit/148684f2bfd1af29e791fa6a7773641a7e025754\"\u003e\u003ccode\u003e148684f\u003c/code\u003e\u003c/a\u003e BLD: bump upper bound on numpy to account for numpy 2.3.x\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pydata/bottleneck/compare/v1.5.0...v1.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cdsapi` from 0.7.6 to 0.7.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ecmwf/cdsapi/releases\"\u003ecdsapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.7.7\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ecmwf/cdsapi/compare/0.7.6...0.7.7\"\u003ehttps://github.com/ecmwf/cdsapi/compare/0.7.6...0.7.7\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ecmwf/cdsapi/commit/e1be102bce7b7dafb27e9831c42863fdeada557b\"\u003e\u003ccode\u003ee1be102\u003c/code\u003e\u003c/a\u003e Update setup.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ecmwf/cdsapi/commit/72d7cec0b611c2f71c1a69da4668368df5118cdb\"\u003e\u003ccode\u003e72d7cec\u003c/code\u003e\u003c/a\u003e back to development version\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ecmwf/cdsapi/compare/0.7.6...0.7.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2025.4.26 to 2025.11.12\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/37ea150bee10958559f804f128de2fdd48e1ed45\"\u003e\u003ccode\u003e37ea150\u003c/code\u003e\u003c/a\u003e 2025.11.12 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/375\"\u003e#375\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/2fa50bb698145e2401e17b23f6969d3952a6f7c1\"\u003e\u003ccode\u003e2fa50bb\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 4.6.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/374\"\u003e#374\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/6cadb5304715523e57ea425f833aa3495a4e01e4\"\u003e\u003ccode\u003e6cadb53\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 5.0.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/373\"\u003e#373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/fb14ac49a976b1695d84b1ac1307276a20b3aac9\"\u003e\u003ccode\u003efb14ac4\u003c/code\u003e\u003c/a\u003e 2025.10.05 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/371\"\u003e#371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/2c7c7ee6b76a118191b685a4cc028d4241f22eb7\"\u003e\u003ccode\u003e2c7c7ee\u003c/code\u003e\u003c/a\u003e Add Python 3.14 classifier in setup.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/1a5cb7b3771bba256755f88b3dcf3ac13f064622\"\u003e\u003ccode\u003e1a5cb7b\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5.6.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/367\"\u003e#367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/dea59605ef2b266c2e0e67938e8c8535a04b1211\"\u003e\u003ccode\u003edea5960\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/certifi/python-certifi/issues/366\"\u003e#366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/83566b7c993eef772facdaff59c7bba105675329\"\u003e\u003ccode\u003e83566b7\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.2 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/ca2e121bdb304fd01f802d3b1ee6a65684f569f2\"\u003e\u003ccode\u003eca2e121\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 4.3.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/a97d9ad8f87c382378dddc0b0b33b9770932404e\"\u003e\u003ccode\u003ea97d9ad\u003c/code\u003e\u003c/a\u003e 2025.08.03 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/362\"\u003e#362\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2025.04.26...2025.11.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cffi` from 1.17.1 to 2.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-cffi/cffi/releases\"\u003ecffi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Python 3.14 support.\u003c/li\u003e\n\u003cli\u003eAdd CPython free-threaded support (3.14t+ only) - huge thanks to the folks at Quansight Labs for all the work to get this one sorted!\u003c/li\u003e\n\u003cli\u003eDrop Python \u0026lt;= 3.8 support.\u003c/li\u003e\n\u003cli\u003eFix order dependency affecting nested type size calculation (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/148\"\u003e#148\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-cffi/cffi/compare/v1.17.1...v2.0.0\"\u003ehttps://github.com/python-cffi/cffi/compare/v1.17.1...v2.0.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.0.0b1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Python 3.14 support.\u003c/li\u003e\n\u003cli\u003eAdd CPython free-threaded support (3.14t+ only).\u003c/li\u003e\n\u003cli\u003eDrop Python \u0026lt;= 3.8 support.\u003c/li\u003e\n\u003cli\u003eFix order dependency affecting nested type size calculation (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/148\"\u003e#148\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-cffi/cffi/compare/v1.17.1...v2.0.0b1\"\u003ehttps://github.com/python-cffi/cffi/compare/v1.17.1...v2.0.0b1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-cffi/cffi/commit/6366c01d84e9a78e7e85f12ebe9760ba5d19b6d3\"\u003e\u003ccode\u003e6366c01\u003c/code\u003e\u003c/a\u003e release 2.0.0 (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/196\"\u003e#196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-cffi/cffi/commit/95c847663aec401e4003927a274e4de9b8595f4f\"\u003e\u003ccode\u003e95c8476\u003c/code\u003e\u003c/a\u003e 2.0.0 post beta backports (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/195\"\u003e#195\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-cffi/cffi/commit/195cbda66b6be9297ef6d584644e50cfdcca4e8a\"\u003e\u003ccode\u003e195cbda\u003c/code\u003e\u003c/a\u003e Release 2.0.0b1 (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/183\"\u003e#183\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-cffi/cffi/commit/b4bbe7940d3f76027534db1aecbae9b61c35221a\"\u003e\u003ccode\u003eb4bbe79\u003c/code\u003e\u003c/a\u003e fix version test to support beta\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-cffi/cffi/commit/7ed073de66e713cf791b6fdfa23685c81fdfd6ad\"\u003e\u003ccode\u003e7ed073d\u003c/code\u003e\u003c/a\u003e Add support for the free-threaded build (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/178\"\u003e#178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-cffi/cffi/commit/67a170dc7972dc9361743690b38da3d963b200ef\"\u003e\u003ccode\u003e67a170d\u003c/code\u003e\u003c/a\u003e Change the license from MIT to MIT-no-attribution, which is the same without ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://githu...\n\n_Description has been truncated_","html_url":"https://github.com/ryanjenkinson/data-centre-modelling/pull/34","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanjenkinson%2Fdata-centre-modelling/issues/34","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/34/packages"}},{"old_version":"2.13.1","new_version":"2.14.1","update_type":"minor","path":null,"pr_created_at":"2025-12-01T13:19:11.000Z","version_change":"2.13.1 → 2.14.1","issue":{"uuid":"3680986567","node_id":"PR_kwDOJpUnI862WJFs","number":111,"state":"closed","title":"Bump the poetry-dependencies group across 1 directory with 50 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-01T10:38:09.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-01T13:19:11.000Z","updated_at":"2026-01-01T10:38:11.000Z","time_to_close":2668738,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"poetry-dependencies","update_count":50,"packages":[{"name":"black","old_version":"25.9.0","new_version":"25.11.0","repository_url":"https://github.com/psf/black"},{"name":"coverage","old_version":"7.10.7","new_version":"7.12.0","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"mypy","old_version":"1.18.2","new_version":"1.19.0","repository_url":"https://github.com/python/mypy"},{"name":"pre-commit","old_version":"4.3.0","new_version":"4.5.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"ruff","old_version":"0.13.3","new_version":"0.14.7","repository_url":"https://github.com/astral-sh/ruff"},{"name":"pytest","old_version":"8.4.2","new_version":"9.0.1","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"matplotlib","old_version":"3.10.6","new_version":"3.10.7","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"deptry","old_version":"0.23.1","new_version":"0.24.0","repository_url":"https://github.com/fpgmaas/deptry"},{"name":"pyarrow","old_version":"21.0.0","new_version":"22.0.0","repository_url":"https://github.com/apache/arrow"},{"name":"anyio","old_version":"4.11.0","new_version":"4.12.0","repository_url":"https://github.com/agronholm/anyio"},{"name":"arrow","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/arrow-py/arrow"},{"name":"asttokens","old_version":"3.0.0","new_version":"3.0.1","repository_url":"https://github.com/gristlabs/asttokens"},{"name":"beautifulsoup4","old_version":"4.14.2","new_version":"4.14.3"},{"name":"bleach","old_version":"6.2.0","new_version":"6.3.0","repository_url":"https://github.com/mozilla/bleach"},{"name":"certifi","old_version":"2025.10.5","new_version":"2025.11.12","repository_url":"https://github.com/certifi/python-certifi"},{"name":"cfgv","old_version":"3.4.0","new_version":"3.5.0","repository_url":"https://github.com/asottile/cfgv"},{"name":"charset-normalizer","old_version":"3.4.3","new_version":"3.4.4","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"click","old_version":"8.3.0","new_version":"8.3.1","repository_url":"https://github.com/pallets/click"},{"name":"exceptiongroup","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/agronholm/exceptiongroup"},{"name":"filelock","old_version":"3.19.1","new_version":"3.20.0","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"fonttools","old_version":"4.60.1","new_version":"4.61.0","repository_url":"https://github.com/fonttools/fonttools"},{"name":"idna","old_version":"3.10","new_version":"3.11","repository_url":"https://github.com/kjd/idna"},{"name":"iniconfig","old_version":"2.1.0","new_version":"2.3.0","repository_url":"https://github.com/pytest-dev/iniconfig"},{"name":"ipykernel","old_version":"6.30.1","new_version":"7.1.0","repository_url":"https://github.com/ipython/ipykernel"},{"name":"ipywidgets","old_version":"8.1.7","new_version":"8.1.8","repository_url":"https://github.com/jupyter-widgets/ipywidgets"},{"name":"jupyter-core","old_version":"5.8.1","new_version":"5.9.1","repository_url":"https://github.com/jupyter/jupyter_core"},{"name":"jupyterlab","old_version":"4.4.9","new_version":"4.5.0","repository_url":"https://github.com/jupyterlab/jupyterlab"},{"name":"jupyterlab-widgets","old_version":"3.0.15","new_version":"3.0.16","repository_url":"https://github.com/jupyter-widgets/ipywidgets"},{"name":"lark","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/lark-parser/lark"},{"name":"matplotlib-inline","old_version":"0.1.7","new_version":"0.2.1","repository_url":"https://github.com/ipython/matplotlib-inline"},{"name":"numexpr","old_version":"2.13.1","new_version":"2.14.1","repository_url":"https://github.com/pydata/numexpr"},{"name":"pillow","old_version":"11.3.0","new_version":"12.0.0","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"platformdirs","old_version":"4.4.0","new_version":"4.5.0","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"psutil","old_version":"7.1.0","new_version":"7.1.3","repository_url":"https://github.com/giampaolo/psutil"},{"name":"referencing","old_version":"0.36.2","new_version":"0.37.0","repository_url":"https://github.com/python-jsonschema/referencing"},{"name":"rpds-py","old_version":"0.27.1","new_version":"0.30.0","repository_url":"https://github.com/crate-py/rpds"},{"name":"ruamel-yaml","old_version":"0.18.15","new_version":"0.18.16"},{"name":"ruamel-yaml-clib","old_version":"0.2.14","new_version":"0.2.15"},{"name":"starlette","old_version":"0.48.0","new_version":"0.50.0","repository_url":"https://github.com/Kludex/starlette"},{"name":"tomli","old_version":"2.2.1","new_version":"2.3.0","repository_url":"https://github.com/hukkin/tomli"},{"name":"types-pytz","old_version":"2025.2.0.20250809","new_version":"2025.2.0.20251108","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"uvicorn","old_version":"0.37.0","new_version":"0.38.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"virtualenv","old_version":"20.34.0","new_version":"20.35.4","repository_url":"https://github.com/pypa/virtualenv"},{"name":"watchfiles","old_version":"1.1.0","new_version":"1.1.1","repository_url":"https://github.com/samuelcolvin/watchfiles"},{"name":"webcolors","old_version":"24.11.1","new_version":"25.10.0","repository_url":"https://github.com/ubernostrum/webcolors"},{"name":"websocket-client","old_version":"1.8.0","new_version":"1.9.0","repository_url":"https://github.com/websocket-client/websocket-client"},{"name":"widgetsnbextension","old_version":"4.0.14","new_version":"4.0.15"}],"path":null,"ecosystem":"pip"},"body":"Bumps the poetry-dependencies group with 47 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [black](https://github.com/psf/black) | `25.9.0` | `25.11.0` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.10.7` | `7.12.0` |\n| [mypy](https://github.com/python/mypy) | `1.18.2` | `1.19.0` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.3.0` | `4.5.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.13.3` | `0.14.7` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.2` | `9.0.1` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.10.6` | `3.10.7` |\n| [deptry](https://github.com/fpgmaas/deptry) | `0.23.1` | `0.24.0` |\n| [pyarrow](https://github.com/apache/arrow) | `21.0.0` | `22.0.0` |\n| [anyio](https://github.com/agronholm/anyio) | `4.11.0` | `4.12.0` |\n| [arrow](https://github.com/arrow-py/arrow) | `1.3.0` | `1.4.0` |\n| [asttokens](https://github.com/gristlabs/asttokens) | `3.0.0` | `3.0.1` |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.14.2` | `4.14.3` |\n| [bleach](https://github.com/mozilla/bleach) | `6.2.0` | `6.3.0` |\n| [certifi](https://github.com/certifi/python-certifi) | `2025.10.5` | `2025.11.12` |\n| [cfgv](https://github.com/asottile/cfgv) | `3.4.0` | `3.5.0` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.3` | `3.4.4` |\n| [click](https://github.com/pallets/click) | `8.3.0` | `8.3.1` |\n| [exceptiongroup](https://github.com/agronholm/exceptiongroup) | `1.3.0` | `1.3.1` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.19.1` | `3.20.0` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.60.1` | `4.61.0` |\n| [idna](https://github.com/kjd/idna) | `3.10` | `3.11` |\n| [iniconfig](https://github.com/pytest-dev/iniconfig) | `2.1.0` | `2.3.0` |\n| [ipykernel](https://github.com/ipython/ipykernel) | `6.30.1` | `7.1.0` |\n| [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) | `8.1.7` | `8.1.8` |\n| [jupyter-core](https://github.com/jupyter/jupyter_core) | `5.8.1` | `5.9.1` |\n| [jupyterlab](https://github.com/jupyterlab/jupyterlab) | `4.4.9` | `4.5.0` |\n| [jupyterlab-widgets](https://github.com/jupyter-widgets/ipywidgets) | `3.0.15` | `3.0.16` |\n| [lark](https://github.com/lark-parser/lark) | `1.3.0` | `1.3.1` |\n| [matplotlib-inline](https://github.com/ipython/matplotlib-inline) | `0.1.7` | `0.2.1` |\n| [numexpr](https://github.com/pydata/numexpr) | `2.13.1` | `2.14.1` |\n| [pillow](https://github.com/python-pillow/Pillow) | `11.3.0` | `12.0.0` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.4.0` | `4.5.0` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.1.0` | `7.1.3` |\n| [referencing](https://github.com/python-jsonschema/referencing) | `0.36.2` | `0.37.0` |\n| [rpds-py](https://github.com/crate-py/rpds) | `0.27.1` | `0.30.0` |\n| ruamel-yaml | `0.18.15` | `0.18.16` |\n| ruamel-yaml-clib | `0.2.14` | `0.2.15` |\n| [starlette](https://github.com/Kludex/starlette) | `0.48.0` | `0.50.0` |\n| [tomli](https://github.com/hukkin/tomli) | `2.2.1` | `2.3.0` |\n| [types-pytz](https://github.com/typeshed-internal/stub_uploader) | `2025.2.0.20250809` | `2025.2.0.20251108` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.37.0` | `0.38.0` |\n| [virtualenv](https://github.com/pypa/virtualenv) | `20.34.0` | `20.35.4` |\n| [watchfiles](https://github.com/samuelcolvin/watchfiles) | `1.1.0` | `1.1.1` |\n| [webcolors](https://github.com/ubernostrum/webcolors) | `24.11.1` | `25.10.0` |\n| [websocket-client](https://github.com/websocket-client/websocket-client) | `1.8.0` | `1.9.0` |\n| [widgetsnbextension](http://jupyter.org) | `4.0.14` | `4.0.15` |\n\n\nUpdates `black` from 25.9.0 to 25.11.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.11.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable base 3.14 support (\u003ca href=\"https://redirect.github.com/psf/black/issues/4804\"\u003e#4804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for the new Python 3.14 t-string syntax introduced by PEP 750 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4805\"\u003e#4805\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where comments between \u003ccode\u003e# fmt: off\u003c/code\u003e and \u003ccode\u003e# fmt: on\u003c/code\u003e were reformatted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4811\"\u003e#4811\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eComments containing fmt directives now preserve their exact formatting instead of\nbeing normalized (\u003ca href=\"https://redirect.github.com/psf/black/issues/4811\"\u003e#4811\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMove \u003ccode\u003emultiline_string_handling\u003c/code\u003e from \u003ccode\u003e--unstable\u003c/code\u003e to \u003ccode\u003e--preview\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4760\"\u003e#4760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where module docstrings would be treated as normal strings if preceded by\ncomments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4764\"\u003e#4764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where python 3.12 generics syntax split line happens weirdly (\u003ca href=\"https://redirect.github.com/psf/black/issues/4777\"\u003e#4777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStandardize type comments to form \u003ccode\u003e# type: \u0026lt;value\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003efix_fmt_skip_in_one_liners\u003c/code\u003e preview feature to respect \u003ccode\u003e# fmt: skip\u003c/code\u003e for compound\nstatements with semicolon-separated bodies (\u003ca href=\"https://redirect.github.com/psf/black/issues/4800\"\u003e#4800\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eno_cache\u003c/code\u003e option to control caching behavior. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4803\"\u003e#4803\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReleases now include arm64 Linux binaries (\u003ca href=\"https://redirect.github.com/psf/black/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOutput\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWrite unchanged content to stdout when excluding formatting from stdin using pipes\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4610\"\u003e#4610\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImplemented BlackDClient. This simple python client allows to easily send formatting\nrequests to blackd (\u003ca href=\"https://redirect.github.com/psf/black/issues/4774\"\u003e#4774\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIntegrations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable 3.14 base CI (\u003ca href=\"https://redirect.github.com/psf/black/issues/4804\"\u003e#4804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnhance GitHub Action \u003ccode\u003epsf/black\u003c/code\u003e to support the \u003ccode\u003erequired-version\u003c/code\u003e major-version-only\n\u0026quot;stability\u0026quot; format when using pyproject.toml (\u003ca href=\"https://redirect.github.com/psf/black/issues/4770\"\u003e#4770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove error message for vim plugin users. It now handles independently vim version\u003c/li\u003e\n\u003cli\u003eVim: Warn on unsupported Vim and Python versions independently (\u003ca href=\"https://redirect.github.com/psf/black/issues/4772\"\u003e#4772\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eVim: Print the import paths when importing black fails (\u003ca href=\"https://redirect.github.com/psf/black/issues/4675\"\u003e#4675\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eVim: Fix handling of virtualenvs that have a different Python version (\u003ca href=\"https://redirect.github.com/psf/black/issues/4675\"\u003e#4675\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.11.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable base 3.14 support (\u003ca href=\"https://redirect.github.com/psf/black/issues/4804\"\u003e#4804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for the new Python 3.14 t-string syntax introduced by PEP 750 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4805\"\u003e#4805\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where comments between \u003ccode\u003e# fmt: off\u003c/code\u003e and \u003ccode\u003e# fmt: on\u003c/code\u003e were reformatted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4811\"\u003e#4811\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eComments containing fmt directives now preserve their exact formatting instead of\nbeing normalized (\u003ca href=\"https://redirect.github.com/psf/black/issues/4811\"\u003e#4811\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMove \u003ccode\u003emultiline_string_handling\u003c/code\u003e from \u003ccode\u003e--unstable\u003c/code\u003e to \u003ccode\u003e--preview\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4760\"\u003e#4760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where module docstrings would be treated as normal strings if preceded by\ncomments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4764\"\u003e#4764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where python 3.12 generics syntax split line happens weirdly (\u003ca href=\"https://redirect.github.com/psf/black/issues/4777\"\u003e#4777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStandardize type comments to form \u003ccode\u003e# type: \u0026lt;value\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003efix_fmt_skip_in_one_liners\u003c/code\u003e preview feature to respect \u003ccode\u003e# fmt: skip\u003c/code\u003e for compound\nstatements with semicolon-separated bodies (\u003ca href=\"https://redirect.github.com/psf/black/issues/4800\"\u003e#4800\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eno_cache\u003c/code\u003e option to control caching behavior. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4803\"\u003e#4803\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReleases now include arm64 Linux binaries (\u003ca href=\"https://redirect.github.com/psf/black/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReleases now include arm64 Windows binaries and wheels (\u003ca href=\"https://redirect.github.com/psf/black/issues/4814\"\u003e#4814\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOutput\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWrite unchanged content to stdout when excluding formatting from stdin using pipes\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4610\"\u003e#4610\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003cem\u003eBlackd\u003c/em\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImplemented BlackDClient. This simple python client allows to easily send formatting\nrequests to blackd (\u003ca href=\"https://redirect.github.com/psf/black/issues/4774\"\u003e#4774\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIntegrations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable 3.14 base CI (\u003ca href=\"https://redirect.github.com/psf/black/issues/4804\"\u003e#4804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnhance GitHub Action \u003ccode\u003epsf/black\u003c/code\u003e to support the \u003ccode\u003erequired-version\u003c/code\u003e major-version-only\n\u0026quot;stability\u0026quot; format when using pyproject.toml (\u003ca href=\"https://redirect.github.com/psf/black/issues/4770\"\u003e#4770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eoutput-file\u003c/code\u003e input to GitHub Action \u003ccode\u003epsf/black\u003c/code\u003e to write formatter output to a\nfile for artifact capture and log cleanliness (\u003ca href=\"https://redirect.github.com/psf/black/issues/4824\"\u003e#4824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove error message for vim plugin users. It now handles independently vim version\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/05f0a8ce1f71fbb36e1e032d3b518c7b945089a2\"\u003e\u003ccode\u003e05f0a8c\u003c/code\u003e\u003c/a\u003e Prepare for 25.11.0 release (\u003ca href=\"https://redirect.github.com/psf/black/issues/4825\"\u003e#4825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/ae17c61310e44401ca55d17a9c01db1dc03940a6\"\u003e\u003ccode\u003eae17c61\u003c/code\u003e\u003c/a\u003e Fix tests on pytest 9 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4835\"\u003e#4835\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/138745eca650aa59ab30458f7b1c026b66608a09\"\u003e\u003ccode\u003e138745e\u003c/code\u003e\u003c/a\u003e Include Windows and Python 3.14 in PR wheel build matrix, fix Windows build (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/18170d6d8d9bdde97d4cd3568cfa8be434a09ff3\"\u003e\u003ccode\u003e18170d6\u003c/code\u003e\u003c/a\u003e ci: add label for running all builds on a pull request (\u003ca href=\"https://redirect.github.com/psf/black/issues/4833\"\u003e#4833\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/0e793e3d7e0d12dbda1573fa1bb785b1f066ee7c\"\u003e\u003ccode\u003e0e793e3\u003c/code\u003e\u003c/a\u003e fix windows wheels (\u003ca href=\"https://redirect.github.com/psf/black/issues/4830\"\u003e#4830\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/b71f36c9fda07930c83e22681e0ec08ddf5a3980\"\u003e\u003ccode\u003eb71f36c\u003c/code\u003e\u003c/a\u003e Use build[uv] as cibuildwheel frontend (\u003ca href=\"https://redirect.github.com/psf/black/issues/4831\"\u003e#4831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/a7bd594493bb5cb703beee877a2df40556b0baaa\"\u003e\u003ccode\u003ea7bd594\u003c/code\u003e\u003c/a\u003e Skip free threaded builds in cibuildwheel (\u003ca href=\"https://redirect.github.com/psf/black/issues/4829\"\u003e#4829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/862dee91fa1259ca2bc00f10538b52a4959bdbe8\"\u003e\u003ccode\u003e862dee9\u003c/code\u003e\u003c/a\u003e Update cibuildwheel (\u003ca href=\"https://redirect.github.com/psf/black/issues/4828\"\u003e#4828\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/b5f354c56627640e0b853af51a51d9262bafa9f0\"\u003e\u003ccode\u003eb5f354c\u003c/code\u003e\u003c/a\u003e build: restrict to pytest 9.0 due to breakage in custom pytest_configure (\u003ca href=\"https://redirect.github.com/psf/black/issues/4827\"\u003e#4827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/f705197f57149b79ed83cccf22e4fed19b48a7bf\"\u003e\u003ccode\u003ef705197\u003c/code\u003e\u003c/a\u003e t-string support (\u003ca href=\"https://redirect.github.com/psf/black/issues/4805\"\u003e#4805\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/25.9.0...25.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `coverage` from 7.10.7 to 7.12.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coveragepy/coveragepy/blob/main/CHANGES.rst\"\u003ecoverage's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 7.12.0 — 2025-11-18\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe HTML report now shows separate coverage totals for statements and\nbranches, as well as the usual combined coverage percentage. Thanks to Ryuta\nOtsuka for the \u003ccode\u003ediscussion \u0026lt;issue 2081_\u0026gt;\u003c/code\u003e_ and the \u003ccode\u003eimplementation \u0026lt;pull 2085_\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe JSON report now includes separate coverage totals for statements and\nbranches, thanks to \u003ccode\u003eRyuta Otsuka \u0026lt;pull 2090_\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: \u003ccode\u003eexcept*\u003c/code\u003e clauses were not handled properly under the \u0026quot;sysmon\u0026quot;\nmeasurement core, causing KeyError exceptions as described in \u003ccode\u003eissue 2086\u003c/code\u003e_.\nThis is now fixed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: we now defend against aggressive mocking of \u003ccode\u003eopen()\u003c/code\u003e that could cause\nerrors inside coverage.py.  An example of a failure is in \u003ccode\u003eissue 2083\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: in unusual cases where a test suite intentionally exhausts the system's\nfile descriptors to test handling errors in \u003ccode\u003eopen()\u003c/code\u003e, coverage.py would\nfail when trying to open source files, as described in \u003ccode\u003eissue 2091\u003c/code\u003e_.  This\nis now fixed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA small tweak to the HTML report: file paths now use thin spaces around\nslashes to make them easier to read.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 2081: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2081\"\u003ecoveragepy/coveragepy#2081\u003c/a\u003e\n.. _issue 2083: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2083\"\u003ecoveragepy/coveragepy#2083\u003c/a\u003e\n.. _pull 2085: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2085\"\u003ecoveragepy/coveragepy#2085\u003c/a\u003e\n.. _issue 2086: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2086\"\u003ecoveragepy/coveragepy#2086\u003c/a\u003e\n.. _pull 2090: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2090\"\u003ecoveragepy/coveragepy#2090\u003c/a\u003e\n.. _issue 2091: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2091\"\u003ecoveragepy/coveragepy#2091\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-11-3:\u003c/p\u003e\n\u003ch2\u003eVersion 7.11.3 — 2025-11-09\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the 7.11.1 changes meant that conflicts between a requested measurement\ncore and other settings would raise an error. This was a breaking change from\nprevious behavior, as reported in \u003ccode\u003eissue 2076\u003c/code\u003e_ and \u003ccode\u003eissue 2078\u003c/code\u003e_.\u003c/p\u003e\n\u003cp\u003eThe previous behavior has been restored: when the requested core conflicts\nwith other settings, another core is used instead, and a warning is issued.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFor contributors: the repo has moved from Ned's \u003ccode\u003enedbat GitHub account\u003c/code\u003e_ to\nthe \u003ccode\u003ecoveragepy GitHub organization\u003c/code\u003e_. The default branch has changed from\nmaster to main.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/63db2b12d7a4fedda90061553ccf2ec6849c8a3d\"\u003e\u003ccode\u003e63db2b1\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/598bbc3a51a492860547e7c3d8d076b811efe1bb\"\u003e\u003ccode\u003e598bbc3\u003c/code\u003e\u003c/a\u003e docs: prep for 7.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/557dd15f75bc4b4bf93b6163a9e6b2b29647d90d\"\u003e\u003ccode\u003e557dd15\u003c/code\u003e\u003c/a\u003e feat: add statement and branch coverage percentages to JSON report (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2090\"\u003e#2090\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/e18359c834f0f428425b62fc564ec6d106d413e5\"\u003e\u003ccode\u003ee18359c\u003c/code\u003e\u003c/a\u003e fix: don't crash if open() genuinely fails. \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2091\"\u003e#2091\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/fff5e59b28e0a4660a5e19975eb02aeffcb05a01\"\u003e\u003ccode\u003efff5e59\u003c/code\u003e\u003c/a\u003e docs: thanks, Ryuta Otsuka \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2085\"\u003e#2085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/97bf6251ef0c40174645d6fb0352a25df3531e72\"\u003e\u003ccode\u003e97bf625\u003c/code\u003e\u003c/a\u003e docs: support files for the sample html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/8320b746113ec269437d3465873ff7ae19eeccc1\"\u003e\u003ccode\u003e8320b74\u003c/code\u003e\u003c/a\u003e style(html): tweak the styling for the new stmt/branch stats \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2085\"\u003e#2085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/7e081839b0987c6a9b3bba4efe86e80deb1c1776\"\u003e\u003ccode\u003e7e08183\u003c/code\u003e\u003c/a\u003e feat(templite): {% else %}\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/4abe253c579db1b3d72a4b2dfd52bf9b7c2fc2aa\"\u003e\u003ccode\u003e4abe253\u003c/code\u003e\u003c/a\u003e feat: add statement and branch coverage columns to index.html report (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2085\"\u003e#2085\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/ddbafa90974ff4de00467f05ba712d6d21937920\"\u003e\u003ccode\u003eddbafa9\u003c/code\u003e\u003c/a\u003e build: no longer need to work around a pytest/iTerm2 bug\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coveragepy/coveragepy/compare/7.10.7...7.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.18.2 to 1.19.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eMypy Release Notes\u003c/h1\u003e\n\u003ch2\u003eNext Release\u003c/h2\u003e\n\u003ch3\u003eDrop Support for Python 3.9\u003c/h3\u003e\n\u003cp\u003eMypy no longer supports running with Python 3.9, which has reached end-of-life.\nWhen running mypy with Python 3.10+, it is still possible to type check code\nthat needs to support Python 3.9 with the \u003ccode\u003e--python-version 3.9\u003c/code\u003e argument.\nSupport for this will be dropped in the first half of 2026!\u003c/p\u003e\n\u003cp\u003eContributed by Marc Mueller (PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20156\"\u003e20156\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eMypy 1.19\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.19.0 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features, performance\nimprovements and bug fixes. You can install it as follows:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install -U mypy\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eYou can read the full documentation for this release on \u003ca href=\"http://mypy.readthedocs.io\"\u003eRead the Docs\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003ePython 3.9 Support Ending Soon\u003c/h3\u003e\n\u003cp\u003eThis is the last mypy feature release that supports Python 3.9, which reached\nend of life in October 2025.\u003c/p\u003e\n\u003ch3\u003ePerformance Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch to a more dynamic SCC processing logic (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/20053\"\u003e20053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpeed up type aliases (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19810\"\u003e19810\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed‑Format Cache Improvements\u003c/h3\u003e\n\u003cp\u003eMypy uses a cache by default to speed up incremental runs by reusing partial results\nfrom earlier runs. Mypy 1.18 added a new binary fixed-format cache representation as\nan experimental feature. The feature is no longer experimental, and we are planning\nto enable it by default in a future mypy release (possibly 1.20), since it's faster\nand uses less space than the original, JSON-based cache format. Use\n\u003ccode\u003e--fixed-format-cache\u003c/code\u003e to enable the fixed-format cache.\u003c/p\u003e\n\u003cp\u003eMypy now has an extra dependency on the \u003ccode\u003elibrt\u003c/code\u003e PyPI package, as it's needed for\ncache serialization and deserialization.\u003c/p\u003e\n\u003cp\u003eMypy ships with a tool to convert fixed-format cache files to the old JSON format.\nExample of how to use this:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e$ python -m mypy.exportjson .mypy_cache/.../my_module.data.ff\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0f068c9ec604daa09e69c92545b059f4b44f566e\"\u003e\u003ccode\u003e0f068c9\u003c/code\u003e\u003c/a\u003e Remove +dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/6d5cf52e67da306b62455cdce4ce9a9ccec35d02\"\u003e\u003ccode\u003e6d5cf52\u003c/code\u003e\u003c/a\u003e Various updates to 1.19 changelog (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20304\"\u003e#20304\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/3c813083b27c87cf3a32e7422191b02bf59fab6e\"\u003e\u003ccode\u003e3c81308\u003c/code\u003e\u003c/a\u003e Add draft version of 1.19 release notes (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20296\"\u003e#20296\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/1999a20e9898f673fa2f4c9a91790c075141ba71\"\u003e\u003ccode\u003e1999a20\u003c/code\u003e\u003c/a\u003e [mypyc] librt base64: use existing SIMD CPU dispatch by customizing build fla...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/1b94fbb9fbc581de7e057d71e9892e3acbf9a7d3\"\u003e\u003ccode\u003e1b94fbb\u003c/code\u003e\u003c/a\u003e [mypyc] Fix vtable pointer with inherited dunder new (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20302\"\u003e#20302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/13369cb25fe450f755f63e59156b86df84c08b3d\"\u003e\u003ccode\u003e13369cb\u003c/code\u003e\u003c/a\u003e [mypyc] Fix crash on super in generator (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20291\"\u003e#20291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/a087a5894935cfdbc2eba27a6d04ebca38fd6659\"\u003e\u003ccode\u003ea087a58\u003c/code\u003e\u003c/a\u003e Update import map when new modules added (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20271\"\u003e#20271\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/35e843cc38cedc1bdf87d9937c06d51189ad0e45\"\u003e\u003ccode\u003e35e843c\u003c/code\u003e\u003c/a\u003e [mypyc] Add efficient librt.base64.b64decode (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20263\"\u003e#20263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/094f66dc742cec2d69add9296fb21cdef50624d0\"\u003e\u003ccode\u003e094f66d\u003c/code\u003e\u003c/a\u003e [mypyc] Add \u003cstrong\u003erepr\u003c/strong\u003e to AssignmentTarget subclasses (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20258\"\u003e#20258\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/0738db3f9d336622923c7ee143e1c3adf7600a31\"\u003e\u003ccode\u003e0738db3\u003c/code\u003e\u003c/a\u003e Do not push partial types to the binder (\u003ca href=\"https://redirect.github.com/python/mypy/issues/20202\"\u003e#20202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.18.2...v1.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pre-commit` from 4.3.0 to 4.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pre-commit/pre-commit/releases\"\u003epre-commit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epre-commit v4.5.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epre-commit hazmat\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3585\"\u003e#3585\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epre-commit v4.4.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--fail-fast\u003c/code\u003e option to \u003ccode\u003epre-commit run\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3528\"\u003e#3528\u003c/a\u003e PR by \u003ca href=\"https://github.com/JulianMaurin\"\u003e\u003ccode\u003e@​JulianMaurin\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUpgrade \u003ccode\u003eruby-build\u003c/code\u003e / \u003ccode\u003erbenv\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3566\"\u003e#3566\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3565\"\u003e#3565\u003c/a\u003e issue by \u003ca href=\"https://github.com/MRigal\"\u003e\u003ccode\u003e@​MRigal\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003elanguage: unsupported\u003c/code\u003e / \u003ccode\u003elanguage: unsupported_script\u003c/code\u003e as aliases for \u003ccode\u003elanguage: system\u003c/code\u003e / \u003ccode\u003elanguage: script\u003c/code\u003e (which will eventually be deprecated).\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3577\"\u003e#3577\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd support docker-in-docker detection for cgroups v2.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3535\"\u003e#3535\u003c/a\u003e PR by \u003ca href=\"https://github.com/br-rhrbacek\"\u003e\u003ccode\u003e@​br-rhrbacek\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3360\"\u003e#3360\u003c/a\u003e issue by \u003ca href=\"https://github.com/JasonAlt\"\u003e\u003ccode\u003e@​JasonAlt\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle when docker gives \u003ccode\u003eSecurityOptions: null\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3537\"\u003e#3537\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3514\"\u003e#3514\u003c/a\u003e issue by \u003ca href=\"https://github.com/jenstroeger\"\u003e\u003ccode\u003e@​jenstroeger\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix error context for invalid \u003ccode\u003estages\u003c/code\u003e in \u003ccode\u003e.pre-commit-config.yaml\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3576\"\u003e#3576\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md\"\u003epre-commit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e4.5.0 - 2025-11-22\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epre-commit hazmat\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3585\"\u003e#3585\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e4.4.0 - 2025-11-08\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--fail-fast\u003c/code\u003e option to \u003ccode\u003epre-commit run\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3528\"\u003e#3528\u003c/a\u003e PR by \u003ca href=\"https://github.com/JulianMaurin\"\u003e\u003ccode\u003e@​JulianMaurin\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUpgrade \u003ccode\u003eruby-build\u003c/code\u003e / \u003ccode\u003erbenv\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3566\"\u003e#3566\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3565\"\u003e#3565\u003c/a\u003e issue by \u003ca href=\"https://github.com/MRigal\"\u003e\u003ccode\u003e@​MRigal\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003elanguage: unsupported\u003c/code\u003e / \u003ccode\u003elanguage: unsupported_script\u003c/code\u003e as aliases\nfor \u003ccode\u003elanguage: system\u003c/code\u003e / \u003ccode\u003elanguage: script\u003c/code\u003e (which will eventually be\ndeprecated).\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3577\"\u003e#3577\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd support docker-in-docker detection for cgroups v2.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3535\"\u003e#3535\u003c/a\u003e PR by \u003ca href=\"https://github.com/br-rhrbacek\"\u003e\u003ccode\u003e@​br-rhrbacek\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3360\"\u003e#3360\u003c/a\u003e issue by \u003ca href=\"https://github.com/JasonAlt\"\u003e\u003ccode\u003e@​JasonAlt\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle when docker gives \u003ccode\u003eSecurityOptions: null\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3537\"\u003e#3537\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3514\"\u003e#3514\u003c/a\u003e issue by \u003ca href=\"https://github.com/jenstroeger\"\u003e\u003ccode\u003e@​jenstroeger\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix error context for invalid \u003ccode\u003estages\u003c/code\u003e in \u003ccode\u003e.pre-commit-config.yaml\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3576\"\u003e#3576\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/1af6c8fa9502336c6977c2ff3e79185bd97a6e57\"\u003e\u003ccode\u003e1af6c8f\u003c/code\u003e\u003c/a\u003e v4.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/3358a3b54077cd8c8c99618aed003b771a21cb65\"\u003e\u003ccode\u003e3358a3b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3585\"\u003e#3585\u003c/a\u003e from pre-commit/hazmat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/bdf68790b78158268bbc8482f76491a61d75809a\"\u003e\u003ccode\u003ebdf6879\u003c/code\u003e\u003c/a\u003e add pre-commit hazmat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/e436690f140cbbe1d0f359654edf3ab9ecb8da2d\"\u003e\u003ccode\u003ee436690\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3584\"\u003e#3584\u003c/a\u003e from pre-commit/exitstack\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/8d34f95308fc4c14dea3d3e90153acfdaf55e2de\"\u003e\u003ccode\u003e8d34f95\u003c/code\u003e\u003c/a\u003e use ExitStack instead of start + stop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/9c7ea88ab95cb063cb0f0b74f395ff7b9cdbe0c5\"\u003e\u003ccode\u003e9c7ea88\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3583\"\u003e#3583\u003c/a\u003e from pre-commit/forward-compat-map-manifest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/844dacc168d68a32553ecf8a99178ab395fdb11e\"\u003e\u003ccode\u003e844dacc\u003c/code\u003e\u003c/a\u003e add forward-compat error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/6a1d543e523a02bbaad43da7df594cedff242abd\"\u003e\u003ccode\u003e6a1d543\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3582\"\u003e#3582\u003c/a\u003e from pre-commit/move-gc-back\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/66278a9a0b69a69fde820d2b85a7e198eae52981\"\u003e\u003ccode\u003e66278a9\u003c/code\u003e\u003c/a\u003e move logic for gc back to commands.gc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/1b32c50bc7e2f6b603b7ce26ecdf67c9c9dee3c6\"\u003e\u003ccode\u003e1b32c50\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3579\"\u003e#3579\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/pre-commit/compare/v4.3.0...v4.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.13.3 to 0.14.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.7\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-28.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Handle string literal bindings in suspicious-url-open-usage (\u003ccode\u003eS310\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21469\"\u003e#21469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix \u003ccode\u003ePLR1708\u003c/code\u003e false positives on nested functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21177\"\u003e#21177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix suppression for empty dict without tuple key annotation (\u003ccode\u003ePLE1141\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21290\"\u003e#21290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add rule \u003ccode\u003eRUF066\u003c/code\u003e to detect unnecessary class properties (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21535\"\u003e#21535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Catch more dummy variable uses (\u003ccode\u003eRUF052\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19799\"\u003e#19799\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[server] Set severity for non-rule diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21559\"\u003e#21559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-implicit-str-concat\u003c/code\u003e] Avoid invalid fix in (\u003ccode\u003eISC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21517\"\u003e#21517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eparser\u003c/code\u003e] Fix panic when parsing IPython escape command expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21480\"\u003e#21480\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow partial fixability indicator in statistics output (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21513\"\u003e#21513\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikeleppane\"\u003e\u003ccode\u003e@​mikeleppane\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/senekor\"\u003e\u003ccode\u003e@​senekor\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ShaharNaveh\"\u003e\u003ccode\u003e@​ShaharNaveh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JumboBear\"\u003e\u003ccode\u003e@​JumboBear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prakhar1144\"\u003e\u003ccode\u003e@​prakhar1144\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tsvikas\"\u003e\u003ccode\u003e@​tsvikas\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AlexWaygood\"\u003e\u003ccode\u003e@​AlexWaygood\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.14.7\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.14.7/ruff-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://github.com/astral-sh/ruff/releases/download/0.14.7/ruff-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.7\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-28.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Handle string literal bindings in suspicious-url-open-usage (\u003ccode\u003eS310\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21469\"\u003e#21469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix \u003ccode\u003ePLR1708\u003c/code\u003e false positives on nested functions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21177\"\u003e#21177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Fix suppression for empty dict without tuple key annotation (\u003ccode\u003ePLE1141\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21290\"\u003e#21290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add rule \u003ccode\u003eRUF066\u003c/code\u003e to detect unnecessary class properties (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21535\"\u003e#21535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Catch more dummy variable uses (\u003ccode\u003eRUF052\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19799\"\u003e#19799\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[server] Set severity for non-rule diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21559\"\u003e#21559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-implicit-str-concat\u003c/code\u003e] Avoid invalid fix in (\u003ccode\u003eISC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21517\"\u003e#21517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eparser\u003c/code\u003e] Fix panic when parsing IPython escape command expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21480\"\u003e#21480\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow partial fixability indicator in statistics output (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21513\"\u003e#21513\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikeleppane\"\u003e\u003ccode\u003e@​mikeleppane\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/senekor\"\u003e\u003ccode\u003e@​senekor\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ShaharNaveh\"\u003e\u003ccode\u003e@​ShaharNaveh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JumboBear\"\u003e\u003ccode\u003e@​JumboBear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prakhar1144\"\u003e\u003ccode\u003e@​prakhar1144\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tsvikas\"\u003e\u003ccode\u003e@​tsvikas\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AlexWaygood\"\u003e\u003ccode\u003e@​AlexWaygood\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.14.6\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-11-21.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Support new PySNMP API paths (\u003ccode\u003eS508\u003c/code\u003e, \u003ccode\u003eS509\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21374\"\u003e#21374\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdjust own-line comment placement between branches (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21185\"\u003e#21185\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid syntax error when formatting attribute expressions with outer parentheses, parenthesized value, and trailing comment on value (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20418\"\u003e#20418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix panic when formatting comments in unary expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21501\"\u003e#21501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRespect \u003ccode\u003efmt: skip\u003c/code\u003e for compound statements on a single line (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20633\"\u003e#20633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Fix \u003ccode\u003eFURB103\u003c/code\u003e autofix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21454\"\u003e#21454\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/ecab623fb2fe3846de4cafa0dfef0385a7245941\"\u003e\u003ccode\u003eecab623\u003c/code\u003e\u003c/a\u003e Bump 0.14.7 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21684\"\u003e#21684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/42f152108aad444b7d65359aea931be4dd15dffd\"\u003e\u003ccode\u003e42f1521\u003c/code\u003e\u003c/a\u003e [ty] Generic types aliases (implicit and PEP 613) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21553\"\u003e#21553\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/594b7b04d3b04bcf42861f86207017c8117678ca\"\u003e\u003ccode\u003e594b7b0\u003c/code\u003e\u003c/a\u003e [ty] Preserve quoting style when autofixing \u003ccode\u003eTypedDict\u003c/code\u003e keys (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21682\"\u003e#21682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b5b4917d7f4a324f5d32cc55dfb1d08e75cc9e6f\"\u003e\u003ccode\u003eb5b4917\u003c/code\u003e\u003c/a\u003e [ty] Fix override of final method summary (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21681\"\u003e#21681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/0084e94f78742685ddacf2dab28530c2ece3393e\"\u003e\u003ccode\u003e0084e94\u003c/code\u003e\u003c/a\u003e [ty] Fix subtyping of \u003ccode\u003etype[Any]\u003c/code\u003e / \u003ccode\u003etype[T]\u003c/code\u003e and protocols (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21678\"\u003e#21678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/566c959add8c5aa5d25fd14db513c792e4048b50\"\u003e\u003ccode\u003e566c959\u003c/code\u003e\u003c/a\u003e [ty] Rename \u003ccode\u003eReferenceRequestHandler\u003c/code\u003e file (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21680\"\u003e#21680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8bcfc198b83051db0c8a3c7b8f0c8a8c339947c7\"\u003e\u003ccode\u003e8bcfc19\u003c/code\u003e\u003c/a\u003e [ty] Implement \u003ccode\u003etyping.final\u003c/code\u003e for methods (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21646\"\u003e#21646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c534bfaf01671b8020edd440bc7f4f22070af583\"\u003e\u003ccode\u003ec534bfa\u003c/code\u003e\u003c/a\u003e [ty] Implement patterns and typevars in the LSP (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21671\"\u003e#21671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/5e1b2eef5797b00de8329bf38ceacf5cacd00c87\"\u003e\u003ccode\u003e5e1b2ee\u003c/code\u003e\u003c/a\u003e [ty] implement rendering of \u003ccode\u003e.. code:: lang\u003c/code\u003e in docstrings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21665\"\u003e#21665\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/98681b9356bd0b8ef086cc54118b58de532c5310\"\u003e\u003ccode\u003e98681b9\u003c/code\u003e\u003c/a\u003e [ty] Add \u003ccode\u003edb\u003c/code\u003e parameter to \u003ccode\u003eParameters::new\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21674\"\u003e#21674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.13.3...0.14.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 8.4.2 to 9.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.0.1\u003c/h2\u003e\n\u003ch1\u003epytest 9.0.1 (2025-11-12)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13895\"\u003e#13895\u003c/a\u003e: Restore support for skipping tests via \u003ccode\u003eraise unittest.SkipTest\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13896\"\u003e#13896\u003c/a\u003e: The terminal progress plugin added in pytest 9.0 is now automatically disabled when iTerm2 is detected, it generated desktop notifications instead of the desired functionality.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13904\"\u003e#13904\u003c/a\u003e: Fixed the TOML type of the verbosity settings in the API reference from number to string.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13910\"\u003e#13910\u003c/a\u003e: Fixed \u003c!-- raw HTML omitted --\u003eUserWarning: Do not expect file_or_dir\u003c!-- raw HTML omitted --\u003e on some earlier Python 3.12 and 3.13 point versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePackaging updates and notes for downstreams\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13933\"\u003e#13933\u003c/a\u003e: The tox configuration has been adjusted to make sure the desired\nversion string can be passed into its \u003ccode\u003epackage_env\u003c/code\u003e through\nthe \u003ccode\u003eSETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTEST\u003c/code\u003e environment\nvariable as a part of the release process -- by \u003ccode\u003ewebknjaz\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributor-facing changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13891\"\u003e#13891\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13942\"\u003e#13942\u003c/a\u003e: The CI/CD part of the release automation is now capable of\ncreating GitHub Releases without having a Git checkout on\ndisk -- by \u003ccode\u003ebluetech\u003c/code\u003e and \u003ccode\u003ewebknjaz\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13933\"\u003e#13933\u003c/a\u003e: The tox configuration has been adjusted to make sure the desired\nversion string can be passed into its \u003ccode\u003epackage_env\u003c/code\u003e through\nthe \u003ccode\u003eSETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTEST\u003c/code\u003e environment\nvariable as a part of the release process -- by \u003ccode\u003ewebknjaz\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.0.0\u003c/h2\u003e\n\u003ch1\u003epytest 9.0.0 (2025-11-05)\u003c/h1\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/1367\"\u003e#1367\u003c/a\u003e: \u003cstrong\u003eSupport for subtests\u003c/strong\u003e has been added.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003esubtests \u0026lt;subtests\u0026gt;\u003c/code\u003e are an alternative to parametrization, useful in situations where the parametrization values are not all known at collection time.\u003c/p\u003e\n\u003cp\u003eExample:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003edef contains_docstring(p: Path) -\u0026gt; bool:\n    \u0026quot;\u0026quot;\u0026quot;Return True if the given Python file contains a top-level docstring.\u0026quot;\u0026quot;\u0026quot;\n    ...\n\u003cp\u003edef test_py_files_contain_docstring(subtests: pytest.Subtests) -\u0026gt; None:\u003cbr /\u003e\nfor path in Path.cwd().glob(\u0026quot;*.py\u0026quot;):\u003cbr /\u003e\nwith subtests.test(path=str(path)):\u003cbr /\u003e\nassert contains_docstring(path)\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/d1b64aa60b9e1a0fcfaf03af7ebeb185f1024a87\"\u003e\u003ccode\u003ed1b64aa\u003c/code\u003e\u003c/a\u003e Prepare release version 9.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/0a497c7b213ea950821319fd80dce219b0033f32\"\u003e\u003ccode\u003e0a497c7\u003c/code\u003e\u003c/a\u003e regendoc: remove CI environment variables (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13950\"\u003e#13950\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13951\"\u003e#13951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/a9f7e6ed579b8844e302067b7f05122b82993355\"\u003e\u003ccode\u003ea9f7e6e\u003c/code\u003e\u003c/a\u003e 🧪 Run \u003ccode\u003egh release\u003c/code\u003e w/o Git in CI/CD (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13942\"\u003e#13942\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13947\"\u003e#13947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/2682a6607304f1f5bb5a2140340003cdf5121bc4\"\u003e\u003ccode\u003e2682a66\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13944\"\u003e#13944\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/bef7d34f1...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/a999997e36c53d189ecded3369bf35bfe2be96ad\"\u003e\u003ccode\u003ea999997\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13941\"\u003e#13941\u003c/a\u003e from nicoddemus/min-pre-commit-version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/4bd63a0ead81d740aa767a4384d3b0b4c18f2ef2\"\u003e\u003ccode\u003e4bd63a0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13935\"\u003e#13935\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/ce8b8a7b4...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/15f93b332c1c3ec9c200c0ad3d55af5a2158e0db\"\u003e\u003ccode\u003e15f93b3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13933\"\u003e#13933\u003c/a\u003e from webknjaz/maintenance/tox-pep517-env-setuptools...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/0fa11ae3f79d06dc9e2f1f7c81ade4a1126d9ef3\"\u003e\u003ccode\u003e0fa11ae\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13927\"\u003e#13927\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/3d8075743...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/fa454700133c7b2cc960cba3b1cd09cc048c25a0\"\u003e\u003ccode\u003efa45470\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13926\"\u003e#13926\u003c/a\u003e from pytest-dev/patchback/backports/9.0.x/d587e0cf8...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b4e3973505a2b7a2caa17ccc392d91a6ad73e122\"\u003e\u003ccode\u003eb4e3973\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13922\"\u003e#13922\u003c/a\u003e from bluetech/fix-argparse-userwarning\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/8.4.2...9.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `matplotlib` from 3.10.6 to 3.10.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/matplotlib/matplotlib/releases\"\u003ematplotlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREL: v3.10.7\u003c/h2\u003e\n\u003cp\u003eThis is the latest bugfix release in the 3.10.x series.\u003c/p\u003e\n\u003cp\u003eThe most important update in this release is that the minimum version\nof \u003ccode\u003epyparsing\u003c/code\u003e has been updated to version 3.0.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/4aeb773422464799998d900198b35cb80e94b3e1\"\u003e\u003ccode\u003e4aeb773\u003c/code\u003e\u003c/a\u003e REL: v3.10.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/080add32f6b3c82075ccfb1111b21d5ff9e9c075\"\u003e\u003ccode\u003e080add3\u003c/code\u003e\u003c/a\u003e Merge branch 'v3.10.6-doc' into v3.10.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/a604a8beed19bdda1355a29a12ab2904367cf140\"\u003e\u003ccode\u003ea604a8b\u003c/code\u003e\u003c/a\u003e Github Stats v3.10.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/f550261fadf30702a42bc85f71e3489a3c2f6b99\"\u003e\u003ccode\u003ef550261\u003c/code\u003e\u003c/a\u003e Zenodo v3.10.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/9a5e3e4253a3deaa5c83451b1208b5d46759ff7c\"\u003e\u003ccode\u003e9a5e3e4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30628\"\u003e#30628\u003c/a\u003e from meeseeksmachine/auto-backport-of-pr-30626-on-v...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/eb8cb0ce31f6965713a5d46fe4fadf2dffb74773\"\u003e\u003ccode\u003eeb8cb0c\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30626\"\u003e#30626\u003c/a\u003e: MNT: Fix new F401 unused imports warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/8fadc71e0e372f05aa0305ef425c5152d70d6f39\"\u003e\u003ccode\u003e8fadc71\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/29745\"\u003e#29745\u003c/a\u003e: Use PEP8 style method and function names from (\u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30589\"\u003e#30589\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/098876ee6f695f6c5297d4cf3f974c9d64ff4c79\"\u003e\u003ccode\u003e098876e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30614\"\u003e#30614\u003c/a\u003e from meeseeksmachine/auto-backport-of-pr-30612-on-v...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/eb42d8637ba5891aa806fa6b0ed73835c16b2741\"\u003e\u003ccode\u003eeb42d86\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30612\"\u003e#30612\u003c/a\u003e: MNT: update black pin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/4a9c187a73fce92074b262612b3285dcff2d615e\"\u003e\u003ccode\u003e4a9c187\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30572\"\u003e#30572\u003c/a\u003e from QuLogic/auto-backport-of-pr-30571-on-v3.10.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/matplotlib/matplotlib/compare/v3.10.6...v3.10.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `deptry` from 0.23.1 to 0.24.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fpgmaas/deptry/releases\"\u003edeptry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.24.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003ch4\u003ePython 3.9 support dropped\u003c/h4\u003e\n\u003cp\u003eSupport for Python 3.9 has been dropped, as it has reached its end of life.\u003c/p\u003e\n\u003ch4\u003ePyPy 3.10 support dropped, 3.11 added\u003c/h4\u003e\n\u003cp\u003eSupport for PyPy 3.10 has been dropped, since it is unsupported. We now only test against PyPy 3.11, and only publish wheels for this version.\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd GitHub Actions annotations reporter (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1059\"\u003e#1059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.14 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1224\"\u003e#1224\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1328\"\u003e#1328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePublish wheels for PyPy 3.11 and drop 3.10 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1227\"\u003e#1227\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFull Changelog\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/compare/0.23.1...0.24.0\"\u003ehttps://github.com/fpgmaas/deptry/compare/0.23.1...0.24.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/fpgmaas/deptry/blob/main/CHANGELOG.md\"\u003edeptry's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.24.0 - 2025-11-09\u003c/h2\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003ch4\u003ePython 3.9 support dropped\u003c/h4\u003e\n\u003cp\u003eSupport for Python 3.9 has been dropped, as it has reached its end of life.\u003c/p\u003e\n\u003ch4\u003ePyPy 3.10 support dropped, 3.11 added\u003c/h4\u003e\n\u003cp\u003eSupport for PyPy 3.10 has been dropped, since it is unsupported. We now only test against PyPy 3.11, and only publish wheels for this version.\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd GitHub Actions annotations reporter (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1059\"\u003e#1059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.14 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1224\"\u003e#1224\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1328\"\u003e#1328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePublish wheels for PyPy 3.11 and drop 3.10 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/pull/1227\"\u003e#1227\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFull Changelog\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/compare/0.23.1...0.24.0\"\u003ehttps://github.com/fpgmaas/deptry/compare/0.23.1...0.24.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/4cc2d65ce1343957c911ca45709d6080cb9f82c3\"\u003e\u003ccode\u003e4cc2d65\u003c/code\u003e\u003c/a\u003e docs(changelog): add 0.24.0 release notes (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1330\"\u003e#1330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/8757b318e9974bbfa7ec65dabf999bc935ac026f\"\u003e\u003ccode\u003e8757b31\u003c/code\u003e\u003c/a\u003e chore: sync all dependency groups by default and run mypy locally (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1337\"\u003e#1337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/5ebc5c066831dd3dfeef7e79a4ae4f5934d744b9\"\u003e\u003ccode\u003e5ebc5c0\u003c/code\u003e\u003c/a\u003e feat: add github annotations reporter (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1059\"\u003e#1059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/aa59b6fa66bd3468ad681317de14189606a9c04e\"\u003e\u003ccode\u003eaa59b6f\u003c/code\u003e\u003c/a\u003e fix(deps): update ruff rust to v0.14.4 (patch) (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1335\"\u003e#1335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/87a6b87428641bc7cab3b22d00d788e28ed86ae9\"\u003e\u003ccode\u003e87a6b87\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1336\"\u003e#1336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/6b938ae73633b1a1f46e3888c9673b49d5e9dd60\"\u003e\u003ccode\u003e6b938ae\u003c/code\u003e\u003c/a\u003e chore(deps): update uv-version to v0.9.8 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1334\"\u003e#1334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/92c35bab5ad0a11d2becc31e4cdbe4413a746233\"\u003e\u003ccode\u003e92c35ba\u003c/code\u003e\u003c/a\u003e chore(deps): update pre-commit hook woodruffw/zizmor-pre-commit to v1.16.3 (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/a8be2902812426acaf00ff344dc93a48f30d48d7\"\u003e\u003ccode\u003ea8be290\u003c/code\u003e\u003c/a\u003e chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.14.4 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1332\"\u003e#1332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/6abefd1237071ba0e8d3fc1c9e02a402ccde11f6\"\u003e\u003ccode\u003e6abefd1\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency mkdocs-material to v9.6.23 (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1331\"\u003e#1331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fpgmaas/deptry/commit/6b556861d72024d1f8b5f8c8ead9d1b48cef0f9e\"\u003e\u003ccode\u003e6b55686\u003c/code\u003e\u003c/a\u003e test: update all test dependencies (\u003ca href=\"https://redirect.github.com/fpgmaas/deptry/issues/1313\"\u003e#1313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fpgmaas/deptry/compare/0.23.1...0.24.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyarrow` from 21.0.0 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/arrow/releases\"\u003epyarrow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Arrow 22.0.0\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/22.0.0.html\"\u003ehttps://arrow.apache.org/release/22.0.0.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 22.0.0 RC1\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 22.0.0 RC1\u003c/p\u003e\n\u003ch2\u003eApache Arrow 22.0.0 RC0\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 22.0.0 RC0\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/5aeb5f217f1ba39c428c9b481f393bd37097f69e\"\u003e\u003ccode\u003e5aeb5f2\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update versions for 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/81563ad2c53f886a4901191e0f2d05238398e177\"\u003e\u003ccode\u003e81563ad\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update .deb/.rpm changelogs for 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/c5055366fb5d6ae6a7c51ae50135ebf3203b48af\"\u003e\u003ccode\u003ec505536\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update CHANGELOG.md for 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/e04fafb1242ce428b5068f075de58579992f8c5c\"\u003e\u003ccode\u003ee04fafb\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/47838\"\u003eGH-47838\u003c/a\u003e: [C++][Parquet] Set Variant specification version to 1 to align with...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/07e4d5aeadf0c24542309edc3056ed26dfc5f49c\"\u003e\u003ccode\u003e07e4d5a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/47819\"\u003eGH-47819\u003c/a\u003e: [CI][Packaging][Release] Avoid triggering Linux packages on release...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/e2fa94cf96c5b21924451ca52a6b522618c28a9e\"\u003e\u003ccode\u003ee2fa94c\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/47809\"\u003eGH-47809\u003c/a\u003e: [CI][Release] Fix Windows verification job trying to install patch ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/2140934e4d79587ffa91e5d1462ac7ee673d2df0\"\u003e\u003ccode\u003e2140934\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/47738\"\u003eGH-47738\u003c/a\u003e: [R] Update NEWS.md for 22.0.0 (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/47739\"\u003e#47739\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/08f5304074ce550c342f97e107081ea61a51e3da\"\u003e\u003ccode\u003e08f5304\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/47803\"\u003eGH-47803\u003c/a\u003e: [C++][Parquet] Fix read out of bounds on invalid RLE data (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/47804\"\u003e#47804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/d5b8e2b151730312ef80a975627ef7ff2423a232\"\u003e\u003ccode\u003ed5b8e2b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/47438\"\u003eGH-47438\u003c/a\u003e: [Python][Packaging] Set up wheel building for Python 3.14 (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/47616\"\u003e#47616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/618f6090118606f83a93cdd88e47868db9c61b8f\"\u003e\u003ccode\u003e618f609\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/47795\"\u003eGH-47795\u003c/a\u003e: [Archery] Add support for custom Docker registry (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/47796\"\u003e#47796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/arrow/compare/apache-arrow-21.0.0...apache-arrow-22.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `anyio` from 4.11.0 to 4.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/agronholm/anyio/releases\"\u003eanyio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.12.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for asyncio's \u003ca href=\"https://docs.python.org/3/library/asyncio-graph.html\"\u003etask call graphs\u003c/a\u003e on Python 3.14 and later when using AnyIO's task groups (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded an asynchronous implementation of the \u003ccode\u003efunctools\u003c/code\u003e module (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1001\"\u003e#1001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003euvloop=True\u003c/code\u003e on Windows via the \u003ca href=\"https://github.com/Vizonex/Winloop\"\u003ewinloop\u003c/a\u003e implementation (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/960\"\u003e#960\u003c/a\u003e; PR by \u003ca href=\"https://github.com/Vizonex\"\u003e\u003ccode\u003e@​Vizonex\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded support for use as a context manager to \u003ccode\u003eanyio.lowlevel.RunVar\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1003\"\u003e#1003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003e__all__\u003c/code\u003e declarations to public submodules (\u003ccode\u003eanyio.lowlevel\u003c/code\u003e etc.) (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1009\"\u003e#1009\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded the ability to set the token count of a \u003ccode\u003eCapacityLimiter\u003c/code\u003e to zero (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1019\"\u003e#1019\u003c/a\u003e; requires Python 3.10 or later when using Trio)\u003c/li\u003e\n\u003cli\u003eAdded parameters \u003ccode\u003ecase_sensitive\u003c/code\u003e and \u003ccode\u003erecurse_symlinks\u003c/code\u003e along with support for path-like objects to \u003ccode\u003eanyio.Path.glob()\u003c/code\u003e and \u003ccode\u003eanyio.Path.rglob()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1033\"\u003e#1033\u003c/a\u003e; PR by \u003ca href=\"https://github.com/northisup\"\u003e\u003ccode\u003e@​northisup\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDropped \u003ccode\u003esniffio\u003c/code\u003e as a direct dependency and added the \u003ccode\u003eget_available_backends()\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1021\"\u003e#1021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eProcess.stdin.send()\u003c/code\u003e not raising \u003ccode\u003eClosedResourceError\u003c/code\u003e and \u003ccode\u003eBrokenResourceError\u003c/code\u003e on asyncio. Previously, a non-AnyIO exception was raised in such cases (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/671\"\u003e#671\u003c/a\u003e; PR by \u003ca href=\"https://github.com/gschaffner\"\u003e\u003ccode\u003e@​gschaffner\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eProcess.stdin.send()\u003c/code\u003e not checkpointing before writing data on asyncio (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1002\"\u003e#1002\u003c/a\u003e; PR by \u003ca href=\"https://github.com/gschaffner\"\u003e\u003ccode\u003e@​gschaffner\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a race condition where cancelling a \u003ccode\u003eFuture\u003c/code\u003e from \u003ccode\u003eBlockingPortal.start_task_soon()\u003c/code\u003e would sometimes not cancel the async function (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1011\"\u003e#1011\u003c/a\u003e; PR by \u003ca href=\"https://github.com/gschaffner\"\u003e\u003ccode\u003e@​gschaffner\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the presence of the pytest plugin causing breakage with older versions of pytest (\u0026lt;= 6.1.2) (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1028\"\u003e#1028\u003c/a\u003e; PR by \u003ca href=\"https://github.com/saper\"\u003e\u003ccode\u003e@​saper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a rarely occurring \u003ccode\u003eRuntimeError: Set changed size during iteration\u003c/code\u003e while shutting down the process pool when using the asyncio backend (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/985\"\u003e#985\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/bc021b634291223d6829c0a689152173443a8545\"\u003e\u003ccode\u003ebc021b6\u003c/code\u003e\u003c/a\u003e Fixed the download-artifact settings to retain the expected behavior\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/c6000aa2837f75733f3c09c454f5a31eb9f9f536\"\u003e\u003ccode\u003ec6000aa\u003c/code\u003e\u003c/a\u003e Corrected the format of the version in the changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/9d1bfe0da4261bcef3c10cd31218237805a89937\"\u003e\u003ccode\u003e9d1bfe0\u003c/code\u003e\u003c/a\u003e Bumped up the version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/77f7ce25e12c9becf5081105a47b1914e50a3e0a\"\u003e\u003ccode\u003e77f7ce2\u003c/code\u003e\u003c/a\u003e Fixed RuntimeError while shutting down the asyncio process pool (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1039\"\u003e#1039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/aecc666e6b3b40f977ee715d141bdd89711b45cb\"\u003e\u003ccode\u003eaecc666\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/e5569adf98394dfabebccf215a04d05d7819b506\"\u003e\u003ccode\u003ee5569ad\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1037\"\u003e#1037\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/dde3ab8583cb194e663f6fb87703a4a79e2701eb\"\u003e\u003ccode\u003edde3ab8\u003c/code\u003e\u003c/a\u003e Moved a changelog entry to its correct position\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/250d4f183245bf7ee5ead0ff39d521cda2b8d617\"\u003e\u003ccode\u003e250d4f1\u003c/code\u003e\u003c/a\u003e Restore compatibility with pytest\u0026lt;=6.1.2 (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/3708e227838e2f51464900cf806b25c30ca458a7\"\u003e\u003ccode\u003e3708e22\u003c/code\u003e\u003c/a\u003e Fixed a typo in the documentation (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1035\"\u003e#1035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/9adbe08c55e725b0388dcc4ab7556875da881a4c\"\u003e\u003ccode\u003e9adbe08\u003c/code\u003e\u003c/a\u003e Add new params to Path.glob \u0026amp; Path.rglob introduced since 3.12 (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1034\"\u003e#1034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/agronholm/anyio/compare/4.11.0...4.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `arrow` 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/arrow-py/arrow/releases\"\u003earrow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.4.0\u003c/h2\u003e\n\u003ch2\u003eADDED\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eweek_start\u003c/code\u003e parameter to \u003ccode\u003efloor()\u003c/code\u003e and \u003ccode\u003eceil()\u003c/code\u003e methods. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1222\"\u003e#1222\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1222\"\u003earrow-py/arrow#1222\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eFORMAT_RFC3339_STRICT\u003c/code\u003e with a T separator. [PR \u003ca href=\"https://redirect.github.c...\n\n_Description has been truncated_","html_url":"https://github.com/statisticsnorway/ssb-pre-system/pull/111","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/statisticsnorway%2Fssb-pre-system/issues/111","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/111/packages"}},{"old_version":"2.13.1","new_version":"2.14.1","update_type":"minor","path":null,"pr_created_at":"2025-11-01T10:33:09.000Z","version_change":"2.13.1 → 2.14.1","issue":{"uuid":"3577808956","node_id":"PR_kwDOJpUnI86w-nyM","number":107,"state":"closed","title":"Bump the poetry-dependencies group with 31 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-12-01T13:12:57.000Z","author_association":null,"state_reason":null,"created_at":"2025-11-01T10:33:09.000Z","updated_at":"2025-12-01T13:12:59.000Z","time_to_close":2601588,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"poetry-dependencies","update_count":31,"packages":[{"name":"coverage","old_version":"7.10.7","new_version":"7.11.0","repository_url":"https://github.com/nedbat/coveragepy"},{"name":"ruff","old_version":"0.13.3","new_version":"0.14.3","repository_url":"https://github.com/astral-sh/ruff"},{"name":"matplotlib","old_version":"3.10.6","new_version":"3.10.7","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"pyarrow","old_version":"21.0.0","new_version":"22.0.0","repository_url":"https://github.com/apache/arrow"},{"name":"arrow","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/arrow-py/arrow"},{"name":"bleach","old_version":"6.2.0","new_version":"6.3.0","repository_url":"https://github.com/mozilla/bleach"},{"name":"charset-normalizer","old_version":"3.4.3","new_version":"3.4.4","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"filelock","old_version":"3.19.1","new_version":"3.20.0","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"idna","old_version":"3.10","new_version":"3.11","repository_url":"https://github.com/kjd/idna"},{"name":"iniconfig","old_version":"2.1.0","new_version":"2.3.0","repository_url":"https://github.com/pytest-dev/iniconfig"},{"name":"ipykernel","old_version":"6.30.1","new_version":"7.1.0","repository_url":"https://github.com/ipython/ipykernel"},{"name":"jupyter-core","old_version":"5.8.1","new_version":"5.9.1","repository_url":"https://github.com/jupyter/jupyter_core"},{"name":"jupyterlab","old_version":"4.4.9","new_version":"4.4.10","repository_url":"https://github.com/jupyterlab/jupyterlab"},{"name":"jupyterlab-server","old_version":"2.27.3","new_version":"2.28.0","repository_url":"https://github.com/jupyterlab/jupyterlab_server"},{"name":"lark","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/lark-parser/lark"},{"name":"matplotlib-inline","old_version":"0.1.7","new_version":"0.2.1","repository_url":"https://github.com/ipython/matplotlib-inline"},{"name":"numexpr","old_version":"2.13.1","new_version":"2.14.1","repository_url":"https://github.com/pydata/numexpr"},{"name":"pillow","old_version":"11.3.0","new_version":"12.0.0","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"platformdirs","old_version":"4.4.0","new_version":"4.5.0","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"psutil","old_version":"7.1.0","new_version":"7.1.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"pytokens","old_version":"0.1.10","new_version":"0.2.0","repository_url":"https://github.com/tusharsadhwani/pytokens"},{"name":"referencing","old_version":"0.36.2","new_version":"0.37.0","repository_url":"https://github.com/python-jsonschema/referencing"},{"name":"rpds-py","old_version":"0.27.1","new_version":"0.28.0","repository_url":"https://github.com/crate-py/rpds"},{"name":"ruamel-yaml","old_version":"0.18.15","new_version":"0.18.16"},{"name":"starlette","old_version":"0.48.0","new_version":"0.49.1","repository_url":"https://github.com/Kludex/starlette"},{"name":"tomli","old_version":"2.2.1","new_version":"2.3.0","repository_url":"https://github.com/hukkin/tomli"},{"name":"uvicorn","old_version":"0.37.0","new_version":"0.38.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"virtualenv","old_version":"20.34.0","new_version":"20.35.4","repository_url":"https://github.com/pypa/virtualenv"},{"name":"watchfiles","old_version":"1.1.0","new_version":"1.1.1","repository_url":"https://github.com/samuelcolvin/watchfiles"},{"name":"webcolors","old_version":"24.11.1","new_version":"25.10.0","repository_url":"https://github.com/ubernostrum/webcolors"},{"name":"websocket-client","old_version":"1.8.0","new_version":"1.9.0","repository_url":"https://github.com/websocket-client/websocket-client"}],"path":null,"ecosystem":"pip"},"body":"Bumps the poetry-dependencies group with 31 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [coverage](https://github.com/nedbat/coveragepy) | `7.10.7` | `7.11.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.13.3` | `0.14.3` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.10.6` | `3.10.7` |\n| [pyarrow](https://github.com/apache/arrow) | `21.0.0` | `22.0.0` |\n| [arrow](https://github.com/arrow-py/arrow) | `1.3.0` | `1.4.0` |\n| [bleach](https://github.com/mozilla/bleach) | `6.2.0` | `6.3.0` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.3` | `3.4.4` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.19.1` | `3.20.0` |\n| [idna](https://github.com/kjd/idna) | `3.10` | `3.11` |\n| [iniconfig](https://github.com/pytest-dev/iniconfig) | `2.1.0` | `2.3.0` |\n| [ipykernel](https://github.com/ipython/ipykernel) | `6.30.1` | `7.1.0` |\n| [jupyter-core](https://github.com/jupyter/jupyter_core) | `5.8.1` | `5.9.1` |\n| [jupyterlab](https://github.com/jupyterlab/jupyterlab) | `4.4.9` | `4.4.10` |\n| [jupyterlab-server](https://github.com/jupyterlab/jupyterlab_server) | `2.27.3` | `2.28.0` |\n| [lark](https://github.com/lark-parser/lark) | `1.3.0` | `1.3.1` |\n| [matplotlib-inline](https://github.com/ipython/matplotlib-inline) | `0.1.7` | `0.2.1` |\n| [numexpr](https://github.com/pydata/numexpr) | `2.13.1` | `2.14.1` |\n| [pillow](https://github.com/python-pillow/Pillow) | `11.3.0` | `12.0.0` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.4.0` | `4.5.0` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.1.0` | `7.1.2` |\n| [pytokens](https://github.com/tusharsadhwani/pytokens) | `0.1.10` | `0.2.0` |\n| [referencing](https://github.com/python-jsonschema/referencing) | `0.36.2` | `0.37.0` |\n| [rpds-py](https://github.com/crate-py/rpds) | `0.27.1` | `0.28.0` |\n| ruamel-yaml | `0.18.15` | `0.18.16` |\n| [starlette](https://github.com/Kludex/starlette) | `0.48.0` | `0.49.1` |\n| [tomli](https://github.com/hukkin/tomli) | `2.2.1` | `2.3.0` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.37.0` | `0.38.0` |\n| [virtualenv](https://github.com/pypa/virtualenv) | `20.34.0` | `20.35.4` |\n| [watchfiles](https://github.com/samuelcolvin/watchfiles) | `1.1.0` | `1.1.1` |\n| [webcolors](https://github.com/ubernostrum/webcolors) | `24.11.1` | `25.10.0` |\n| [websocket-client](https://github.com/websocket-client/websocket-client) | `1.8.0` | `1.9.0` |\n\nUpdates `coverage` from 7.10.7 to 7.11.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst\"\u003ecoverage's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 7.11.0 — 2025-10-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9, declared support for Python 3.15 alpha.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _changes_7-10-7:\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/20ef00b4abc33a52ffcb10de4d3144e29dbea6a3\"\u003e\u003ccode\u003e20ef00b\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/5edf8ebf1f9754b32bad92d4826ed651614d9b94\"\u003e\u003ccode\u003e5edf8eb\u003c/code\u003e\u003c/a\u003e docs: prep for 7.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/2c023ae7a1c50e375d20c31b0b8c693416ba92a5\"\u003e\u003ccode\u003e2c023ae\u003c/code\u003e\u003c/a\u003e build: 3.15 is supported\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/2f1b95b0bd913397da3236155ca78e2117731247\"\u003e\u003ccode\u003e2f1b95b\u003c/code\u003e\u003c/a\u003e refactor: no need for _BaseCoverageException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/72b1bcc77e0062eefaf9d1da40c6b8c2ef0ec27e\"\u003e\u003ccode\u003e72b1bcc\u003c/code\u003e\u003c/a\u003e build: test light-threads on all versions of Python\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/16e93797527eada3417afc439fc4b28a432d6efc\"\u003e\u003ccode\u003e16e9379\u003c/code\u003e\u003c/a\u003e refactor: move core tests to their own file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/bc8875db8f98439c046f4c141cb7aecdaa8d1f56\"\u003e\u003ccode\u003ebc8875d\u003c/code\u003e\u003c/a\u003e test: change a test to be in-process so metacov can capture its work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/8e5d5b1bd53147e8618019191a062d2b86747355\"\u003e\u003ccode\u003e8e5d5b1\u003c/code\u003e\u003c/a\u003e build: tweak some version info\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/b0236dffef02f1aa219326b96230bdf26b9f5e6c\"\u003e\u003ccode\u003eb0236df\u003c/code\u003e\u003c/a\u003e test: more tests for core selection, and some refactoring of them\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/56edde623ae497c3638e608ef6803583c1db8720\"\u003e\u003ccode\u003e56edde6\u003c/code\u003e\u003c/a\u003e build: next version will be 7.11.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nedbat/coveragepy/compare/7.10.7...7.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.13.3 to 0.14.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.3\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-10-30.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRespect \u003ccode\u003e--output-format\u003c/code\u003e with \u003ccode\u003e--watch\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21097\"\u003e#21097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epydoclint\u003c/code\u003e] Fix false positive on explicit exception re-raising (\u003ccode\u003eDOC501\u003c/code\u003e, \u003ccode\u003eDOC502\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21011\"\u003e#21011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Revert to stable behavior if imports for module lie in alternate branches for \u003ccode\u003eF401\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20878\"\u003e#20878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Implement \u003ccode\u003estop-iteration-return\u003c/code\u003e (\u003ccode\u003ePLR1708\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20733\"\u003e#20733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add support for additional eager conversion patterns (\u003ccode\u003eRUF065\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20657\"\u003e#20657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix finding keyword range for clause header after statement ending with semicolon (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21067\"\u003e#21067\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix syntax error false positive on nested alternative patterns (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21104\"\u003e#21104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eISC001\u003c/code\u003e] Fix panic when string literals are unclosed (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21034\"\u003e#21034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-django\u003c/code\u003e] Apply \u003ccode\u003eDJ001\u003c/code\u003e to annotated fields (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20907\"\u003e#20907\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix \u003ccode\u003ePYI034\u003c/code\u003e to not trigger on metaclasses (\u003ccode\u003ePYI034\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20881\"\u003e#20881\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Fix \u003ccode\u003eTC003\u003c/code\u003e false positive with \u003ccode\u003efuture-annotations\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21125\"\u003e#21125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Fix false positive for \u003ccode\u003e__class__\u003c/code\u003e in lambda expressions within class definitions (\u003ccode\u003eF821\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20564\"\u003e#20564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix false positive for \u003ccode\u003eTypeVar\u003c/code\u003e with default on Python \u0026lt;3.13 (\u003ccode\u003eUP046\u003c/code\u003e,\u003ccode\u003eUP047\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21045\"\u003e#21045\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing docstring sections to the numpy list (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20931\"\u003e#20931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Extend \u003ccode\u003eairflow.models..Param\u003c/code\u003e check (\u003ccode\u003eAIR311\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21043\"\u003e#21043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Warn that \u003ccode\u003eairflow....DAG.create_dagrun\u003c/code\u003e has been removed (\u003ccode\u003eAIR301\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21093\"\u003e#21093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Preserve digit separators in \u003ccode\u003eDecimal\u003c/code\u003e constructor (\u003ccode\u003eFURB157\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20588\"\u003e#20588\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid sending an unnecessary \u0026quot;clear diagnostics\u0026quot; message for clients supporting pull diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21105\"\u003e#21105\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Fix correct example for \u003ccode\u003eS308\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21128\"\u003e#21128\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClearer error message when \u003ccode\u003eline-length\u003c/code\u003e goes beyond threshold (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21072\"\u003e#21072\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jvacek\"\u003e\u003ccode\u003e@​jvacek\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/augustelalande\"\u003e\u003ccode\u003e@​augustelalande\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prakhar1144\"\u003e\u003ccode\u003e@​prakhar1144\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.3\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-10-30.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRespect \u003ccode\u003e--output-format\u003c/code\u003e with \u003ccode\u003e--watch\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21097\"\u003e#21097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epydoclint\u003c/code\u003e] Fix false positive on explicit exception re-raising (\u003ccode\u003eDOC501\u003c/code\u003e, \u003ccode\u003eDOC502\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21011\"\u003e#21011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Revert to stable behavior if imports for module lie in alternate branches for \u003ccode\u003eF401\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20878\"\u003e#20878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Implement \u003ccode\u003estop-iteration-return\u003c/code\u003e (\u003ccode\u003ePLR1708\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20733\"\u003e#20733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add support for additional eager conversion patterns (\u003ccode\u003eRUF065\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20657\"\u003e#20657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix finding keyword range for clause header after statement ending with semicolon (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21067\"\u003e#21067\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix syntax error false positive on nested alternative patterns (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21104\"\u003e#21104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eISC001\u003c/code\u003e] Fix panic when string literals are unclosed (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21034\"\u003e#21034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-django\u003c/code\u003e] Apply \u003ccode\u003eDJ001\u003c/code\u003e to annotated fields (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20907\"\u003e#20907\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix \u003ccode\u003ePYI034\u003c/code\u003e to not trigger on metaclasses (\u003ccode\u003ePYI034\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20881\"\u003e#20881\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Fix \u003ccode\u003eTC003\u003c/code\u003e false positive with \u003ccode\u003efuture-annotations\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21125\"\u003e#21125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Fix false positive for \u003ccode\u003e__class__\u003c/code\u003e in lambda expressions within class definitions (\u003ccode\u003eF821\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20564\"\u003e#20564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix false positive for \u003ccode\u003eTypeVar\u003c/code\u003e with default on Python \u0026lt;3.13 (\u003ccode\u003eUP046\u003c/code\u003e,\u003ccode\u003eUP047\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21045\"\u003e#21045\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing docstring sections to the numpy list (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20931\"\u003e#20931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Extend \u003ccode\u003eairflow.models..Param\u003c/code\u003e check (\u003ccode\u003eAIR311\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21043\"\u003e#21043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Warn that \u003ccode\u003eairflow....DAG.create_dagrun\u003c/code\u003e has been removed (\u003ccode\u003eAIR301\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21093\"\u003e#21093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Preserve digit separators in \u003ccode\u003eDecimal\u003c/code\u003e constructor (\u003ccode\u003eFURB157\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20588\"\u003e#20588\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid sending an unnecessary \u0026quot;clear diagnostics\u0026quot; message for clients supporting pull diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21105\"\u003e#21105\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Fix correct example for \u003ccode\u003eS308\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21128\"\u003e#21128\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClearer error message when \u003ccode\u003eline-length\u003c/code\u003e goes beyond threshold (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21072\"\u003e#21072\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jvacek\"\u003e\u003ccode\u003e@​jvacek\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/augustelalande\"\u003e\u003ccode\u003e@​augustelalande\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prakhar1144\"\u003e\u003ccode\u003e@​prakhar1144\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TaKO8Ki\"\u003e\u003ccode\u003e@​TaKO8Ki\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8737a2d5f5138d855ef4b3ff6982bd7684324eab\"\u003e\u003ccode\u003e8737a2d\u003c/code\u003e\u003c/a\u003e Bump v0.14.3 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21152\"\u003e#21152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/3be3a10a2fc6ddaafc13d1f5bca566282285be5f\"\u003e\u003ccode\u003e3be3a10\u003c/code\u003e\u003c/a\u003e [ty] Don't provide completions when in class or function definition (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21146\"\u003e#21146\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/13375d0e42bcf7e4dac346d8fad991b97222371d\"\u003e\u003ccode\u003e13375d0\u003c/code\u003e\u003c/a\u003e [ty] Use the top materialization of classes for narrowing in class-patterns f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c0b04d4b7cfd725a9ca1b92b8bc4d93a63c56c59\"\u003e\u003ccode\u003ec0b04d4\u003c/code\u003e\u003c/a\u003e [ty] Update \u0026quot;constraint implication\u0026quot; relation to work on constraints between ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1c7ea690a820deaa0e17ecf72593ebc4781f3752\"\u003e\u003ccode\u003e1c7ea69\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Fix \u003ccode\u003eTC003\u003c/code\u003e false positive with \u003ccode\u003efuture-annotations\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9bacd19c5a44594f44be1b0dcebd7ccf1777e633\"\u003e\u003ccode\u003e9bacd19\u003c/code\u003e\u003c/a\u003e [ty] Fix lookup of \u003ccode\u003e__new__\u003c/code\u003e on instances (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21147\"\u003e#21147\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/f0fe6d62fb6711d963c64f60b5dc8a558ffb4551\"\u003e\u003ccode\u003ef0fe6d6\u003c/code\u003e\u003c/a\u003e Fix syntax error false positive on nested alternative patterns (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21104\"\u003e#21104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/10bda3df00679c6808d8593470fe693ea8c9ae8f\"\u003e\u003ccode\u003e10bda3d\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epyupgrade\u003c/code\u003e] Fix false positive for \u003ccode\u003eTypeVar\u003c/code\u003e with default on Python \u0026lt;3.13 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e55bc943e5f8708aeaced34488ca5d790c388cee\"\u003e\u003ccode\u003ee55bc94\u003c/code\u003e\u003c/a\u003e [ty] Reachability and narrowing for enum methods (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21130\"\u003e#21130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1b0ee4677e216562033f8a2f9b006738734cb2b9\"\u003e\u003ccode\u003e1b0ee46\u003c/code\u003e\u003c/a\u003e [ty] Use \u003ccode\u003erange\u003c/code\u003e instead of custom \u003ccode\u003eIntIterable\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/21138\"\u003e#21138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.13.3...0.14.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `matplotlib` from 3.10.6 to 3.10.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/matplotlib/matplotlib/releases\"\u003ematplotlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREL: v3.10.7\u003c/h2\u003e\n\u003cp\u003eThis is the latest bugfix release in the 3.10.x series.\u003c/p\u003e\n\u003cp\u003eThe most important update in this release is that the minimum version\nof \u003ccode\u003epyparsing\u003c/code\u003e has been updated to version 3.0.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/4aeb773422464799998d900198b35cb80e94b3e1\"\u003e\u003ccode\u003e4aeb773\u003c/code\u003e\u003c/a\u003e REL: v3.10.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/080add32f6b3c82075ccfb1111b21d5ff9e9c075\"\u003e\u003ccode\u003e080add3\u003c/code\u003e\u003c/a\u003e Merge branch 'v3.10.6-doc' into v3.10.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/a604a8beed19bdda1355a29a12ab2904367cf140\"\u003e\u003ccode\u003ea604a8b\u003c/code\u003e\u003c/a\u003e Github Stats v3.10.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/f550261fadf30702a42bc85f71e3489a3c2f6b99\"\u003e\u003ccode\u003ef550261\u003c/code\u003e\u003c/a\u003e Zenodo v3.10.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/9a5e3e4253a3deaa5c83451b1208b5d46759ff7c\"\u003e\u003ccode\u003e9a5e3e4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30628\"\u003e#30628\u003c/a\u003e from meeseeksmachine/auto-backport-of-pr-30626-on-v...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/eb8cb0ce31f6965713a5d46fe4fadf2dffb74773\"\u003e\u003ccode\u003eeb8cb0c\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30626\"\u003e#30626\u003c/a\u003e: MNT: Fix new F401 unused imports warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/8fadc71e0e372f05aa0305ef425c5152d70d6f39\"\u003e\u003ccode\u003e8fadc71\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/29745\"\u003e#29745\u003c/a\u003e: Use PEP8 style method and function names from (\u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30589\"\u003e#30589\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/098876ee6f695f6c5297d4cf3f974c9d64ff4c79\"\u003e\u003ccode\u003e098876e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30614\"\u003e#30614\u003c/a\u003e from meeseeksmachine/auto-backport-of-pr-30612-on-v...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/eb42d8637ba5891aa806fa6b0ed73835c16b2741\"\u003e\u003ccode\u003eeb42d86\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30612\"\u003e#30612\u003c/a\u003e: MNT: update black pin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/matplotlib/commit/4a9c187a73fce92074b262612b3285dcff2d615e\"\u003e\u003ccode\u003e4a9c187\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/matplotlib/matplotlib/issues/30572\"\u003e#30572\u003c/a\u003e from QuLogic/auto-backport-of-pr-30571-on-v3.10.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/matplotlib/matplotlib/compare/v3.10.6...v3.10.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyarrow` from 21.0.0 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/arrow/releases\"\u003epyarrow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Arrow 22.0.0\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/22.0.0.html\"\u003ehttps://arrow.apache.org/release/22.0.0.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 22.0.0 RC1\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 22.0.0 RC1\u003c/p\u003e\n\u003ch2\u003eApache Arrow 22.0.0 RC0\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 22.0.0 RC0\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/5aeb5f217f1ba39c428c9b481f393bd37097f69e\"\u003e\u003ccode\u003e5aeb5f2\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update versions for 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/81563ad2c53f886a4901191e0f2d05238398e177\"\u003e\u003ccode\u003e81563ad\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update .deb/.rpm changelogs for 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/c5055366fb5d6ae6a7c51ae50135ebf3203b48af\"\u003e\u003ccode\u003ec505536\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update CHANGELOG.md for 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/e04fafb1242ce428b5068f075de58579992f8c5c\"\u003e\u003ccode\u003ee04fafb\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/47838\"\u003eGH-47838\u003c/a\u003e: [C++][Parquet] Set Variant specification version to 1 to align with...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/07e4d5aeadf0c24542309edc3056ed26dfc5f49c\"\u003e\u003ccode\u003e07e4d5a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/47819\"\u003eGH-47819\u003c/a\u003e: [CI][Packaging][Release] Avoid triggering Linux packages on release...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/e2fa94cf96c5b21924451ca52a6b522618c28a9e\"\u003e\u003ccode\u003ee2fa94c\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/47809\"\u003eGH-47809\u003c/a\u003e: [CI][Release] Fix Windows verification job trying to install patch ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/2140934e4d79587ffa91e5d1462ac7ee673d2df0\"\u003e\u003ccode\u003e2140934\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/47738\"\u003eGH-47738\u003c/a\u003e: [R] Update NEWS.md for 22.0.0 (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/47739\"\u003e#47739\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/08f5304074ce550c342f97e107081ea61a51e3da\"\u003e\u003ccode\u003e08f5304\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/47803\"\u003eGH-47803\u003c/a\u003e: [C++][Parquet] Fix read out of bounds on invalid RLE data (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/47804\"\u003e#47804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/d5b8e2b151730312ef80a975627ef7ff2423a232\"\u003e\u003ccode\u003ed5b8e2b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/47438\"\u003eGH-47438\u003c/a\u003e: [Python][Packaging] Set up wheel building for Python 3.14 (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/47616\"\u003e#47616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/618f6090118606f83a93cdd88e47868db9c61b8f\"\u003e\u003ccode\u003e618f609\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/47795\"\u003eGH-47795\u003c/a\u003e: [Archery] Add support for custom Docker registry (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/47796\"\u003e#47796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/arrow/compare/apache-arrow-21.0.0...apache-arrow-22.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `arrow` 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/arrow-py/arrow/releases\"\u003earrow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.4.0\u003c/h2\u003e\n\u003ch2\u003eADDED\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eweek_start\u003c/code\u003e parameter to \u003ccode\u003efloor()\u003c/code\u003e and \u003ccode\u003eceil()\u003c/code\u003e methods. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1222\"\u003e#1222\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1222\"\u003earrow-py/arrow#1222\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eFORMAT_RFC3339_STRICT\u003c/code\u003e with a T separator. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1201\"\u003e#1201\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1201\"\u003earrow-py/arrow#1201\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded Macedonian in Latin locale support. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1200\"\u003e#1200\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1200\"\u003earrow-py/arrow#1200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded Persian/Farsi locale support. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1190\"\u003e#1190\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1190\"\u003earrow-py/arrow#1190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded week and weeks to Thai locale timeframes. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1218\"\u003e#1218\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1218\"\u003earrow-py/arrow#1218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded weeks to Catalan locale. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1189\"\u003e#1189\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1189\"\u003earrow-py/arrow#1189\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded Persian names of months, month-abbreviations and day-abbreviations in Gregorian calendar. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1172\"\u003e#1172\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1172\"\u003earrow-py/arrow#1172\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCHANGED\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated Arrow to use ZoneInfo for timezones instead of pytz. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1217\"\u003e#1217\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1217\"\u003earrow-py/arrow#1217\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFIXED\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed humanize month limits. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1224\"\u003e#1224\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1224\"\u003earrow-py/arrow#1224\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed type hint of \u003ccode\u003eArrow.__getattr__\u003c/code\u003e. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1171\"\u003e#1171\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1171\"\u003earrow-py/arrow#1171\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed spelling and removed poorly used expressions in Korean locale. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1181\"\u003e#1181\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1181\"\u003earrow-py/arrow#1181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eshift()\u003c/code\u003e method for issue \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1145\"\u003e#1145\u003c/a\u003e. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1194\"\u003e#1194\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1194\"\u003earrow-py/arrow#1194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved Greek locale translations (seconds, days, \u0026quot;ago\u0026quot;, and month typo). [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1184\"\u003e#1184\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1184\"\u003earrow-py/arrow#1184\u003c/a\u003e), [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1186\"\u003e#1186\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1186\"\u003earrow-py/arrow#1186\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAddressed \u003ccode\u003edatetime.utcnow\u003c/code\u003e deprecation warning. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1182\"\u003e#1182\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1182\"\u003earrow-py/arrow#1182\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eINTERNAL\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded codecov test results. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1223\"\u003e#1223\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1223\"\u003earrow-py/arrow#1223\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdated CI dependencies (actions/setup-python, actions/checkout, codecov/codecov-action, actions/cache).\u003c/li\u003e\n\u003cli\u003eAdded docstrings to parser.py. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1010\"\u003e#1010\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1010\"\u003earrow-py/arrow#1010\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdated Python versions support and bumped CI dependencies. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1177\"\u003e#1177\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1177\"\u003earrow-py/arrow#1177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded dependabot for GitHub actions. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1193\"\u003e#1193\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1193\"\u003earrow-py/arrow#1193\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMoved dateutil types to test requirements. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1183\"\u003e#1183\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1183\"\u003earrow-py/arrow#1183\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded documentation link for \u003ccode\u003earrow.format\u003c/code\u003e. [PR \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1180\"\u003e#1180\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/arrow-py/arrow/pull/1180\"\u003earrow-py/arrow#1180\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/arrow-py/arrow/blob/master/CHANGELOG.rst\"\u003earrow's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.0 (2025-10-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[ADDED] Added \u003ccode\u003eweek_start\u003c/code\u003e parameter to \u003ccode\u003efloor()\u003c/code\u003e and \u003ccode\u003eceil()\u003c/code\u003e methods. \u003ccode\u003ePR [#1222](https://github.com/arrow-py/arrow/issues/1222) \u0026lt;https://github.com/arrow-py/arrow/pull/1222\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e[ADDED] Added \u003ccode\u003eFORMAT_RFC3339_STRICT\u003c/code\u003e with a T separator. \u003ccode\u003ePR [#1201](https://github.com/arrow-py/arrow/issues/1201) \u0026lt;https://github.com/arrow-py/arrow/pull/1201\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e[ADDED] Added Macedonian in Latin locale support. \u003ccode\u003ePR [#1200](https://github.com/arrow-py/arrow/issues/1200) \u0026lt;https://github.com/arrow-py/arrow/pull/1200\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e[ADDED] Added Persian/Farsi locale support. \u003ccode\u003ePR [#1190](https://github.com/arrow-py/arrow/issues/1190) \u0026lt;https://github.com/arrow-py/arrow/pull/1190\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e[ADDED] Added week and weeks to Thai locale timeframes. \u003ccode\u003ePR [#1218](https://github.com/arrow-py/arrow/issues/1218) \u0026lt;https://github.com/arrow-py/arrow/pull/1218\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e[ADDED] Added weeks to Catalan locale. \u003ccode\u003ePR [#1189](https://github.com/arrow-py/arrow/issues/1189) \u0026lt;https://github.com/arrow-py/arrow/pull/1189\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e[ADDED] Added Persian names of months, month-abbreviations and day-abbreviations in Gregorian calendar. \u003ccode\u003ePR [#1172](https://github.com/arrow-py/arrow/issues/1172) \u0026lt;https://github.com/arrow-py/arrow/pull/1172\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e[CHANGED] Migrated Arrow to use ZoneInfo for timezones instead of pytz. \u003ccode\u003ePR [#1217](https://github.com/arrow-py/arrow/issues/1217) \u0026lt;https://github.com/arrow-py/arrow/pull/1217\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e[FIXED] Fixed humanize month limits. \u003ccode\u003ePR [#1224](https://github.com/arrow-py/arrow/issues/1224) \u0026lt;https://github.com/arrow-py/arrow/pull/1224\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e[FIXED] Fixed type hint of \u003ccode\u003eArrow.__getattr__\u003c/code\u003e. \u003ccode\u003ePR [#1171](https://github.com/arrow-py/arrow/issues/1171) \u0026lt;https://github.com/arrow-py/arrow/pull/1171\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e[FIXED] Fixed spelling and removed poorly used expressions in Korean locale. \u003ccode\u003ePR [#1181](https://github.com/arrow-py/arrow/issues/1181) \u0026lt;https://github.com/arrow-py/arrow/pull/1181\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e[FIXED] Updated \u003ccode\u003eshift()\u003c/code\u003e method for issue \u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1145\"\u003e#1145\u003c/a\u003e. \u003ccode\u003ePR [#1194](https://github.com/arrow-py/arrow/issues/1194) \u0026lt;https://github.com/arrow-py/arrow/pull/1194\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e[FIXED] Improved Greek locale translations (seconds, days, \u0026quot;ago\u0026quot;, and month typo). \u003ccode\u003ePR [#1184](https://github.com/arrow-py/arrow/issues/1184) \u0026lt;https://github.com/arrow-py/arrow/pull/1184\u0026gt;\u003c/code\u003e\u003cem\u003e, \u003ccode\u003ePR [#1186](https://github.com/arrow-py/arrow/issues/1186) \u0026lt;https://github.com/arrow-py/arrow/pull/1186\u0026gt;\u003c/code\u003e\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e[FIXED] Addressed \u003ccode\u003edatetime.utcnow\u003c/code\u003e deprecation warning. \u003ccode\u003ePR [#1182](https://github.com/arrow-py/arrow/issues/1182) \u0026lt;https://github.com/arrow-py/arrow/pull/1182\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e[INTERNAL] Added codecov test results. \u003ccode\u003ePR [#1223](https://github.com/arrow-py/arrow/issues/1223) \u0026lt;https://github.com/arrow-py/arrow/pull/1223\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e[INTERNAL] Updated CI dependencies (actions/setup-python, actions/checkout, codecov/codecov-action, actions/cache).\u003c/li\u003e\n\u003cli\u003e[INTERNAL] Added docstrings to parser.py. \u003ccode\u003ePR [#1010](https://github.com/arrow-py/arrow/issues/1010) \u0026lt;https://github.com/arrow-py/arrow/pull/1010\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e[INTERNAL] Updated Python versions support and bumped CI dependencies. \u003ccode\u003ePR [#1177](https://github.com/arrow-py/arrow/issues/1177) \u0026lt;https://github.com/arrow-py/arrow/pull/1177\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e[INTERNAL] Added dependabot for GitHub actions. \u003ccode\u003ePR [#1193](https://github.com/arrow-py/arrow/issues/1193) \u0026lt;https://github.com/arrow-py/arrow/pull/1193\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e[INTERNAL] Moved dateutil types to test requirements. \u003ccode\u003ePR [#1183](https://github.com/arrow-py/arrow/issues/1183) \u0026lt;https://github.com/arrow-py/arrow/pull/1183\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003e[INTERNAL] Added documentation link for \u003ccode\u003earrow.format\u003c/code\u003e. \u003ccode\u003ePR [#1180](https://github.com/arrow-py/arrow/issues/1180) \u0026lt;https://github.com/arrow-py/arrow/pull/1180\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-py/arrow/commit/2c1f5185ad66bf3b1cf8c0812f4b4fe65ac46656\"\u003e\u003ccode\u003e2c1f518\u003c/code\u003e\u003c/a\u003e Bump release CI flow to use Python 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-py/arrow/commit/2483bfea4ec8a4da609036aba3ce1b32cb571875\"\u003e\u003ccode\u003e2483bfe\u003c/code\u003e\u003c/a\u003e Bump changelog date\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-py/arrow/commit/c61de9299733da6d4a7e8badabae43684a3f9da2\"\u003e\u003ccode\u003ec61de92\u003c/code\u003e\u003c/a\u003e Bump version and add changelog (\u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1228\"\u003e#1228\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-py/arrow/commit/c3bb589536b283e3e3886d1d6bc01a6374c8e656\"\u003e\u003ccode\u003ec3bb589\u003c/code\u003e\u003c/a\u003e Update pypy CI version and update pre-commit dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-py/arrow/commit/85cd905332d108303da1cbd0f2336fcae058147f\"\u003e\u003ccode\u003e85cd905\u003c/code\u003e\u003c/a\u003e Run tests on next Python release (\u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1227\"\u003e#1227\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-py/arrow/commit/4c8c44aefc0e5504b9c3cbf0d6adbb0ec4aa4571\"\u003e\u003ccode\u003e4c8c44a\u003c/code\u003e\u003c/a\u003e Add week_start parameter to floor() and ceil() (\u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1222\"\u003e#1222\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-py/arrow/commit/7ccbe66122ca53d90acf9c69c37aa95c81a1fe89\"\u003e\u003ccode\u003e7ccbe66\u003c/code\u003e\u003c/a\u003e add codecov test results (\u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1223\"\u003e#1223\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-py/arrow/commit/05cd9b47d0db1c22b44cb739832f1b9701855313\"\u003e\u003ccode\u003e05cd9b4\u003c/code\u003e\u003c/a\u003e fix humanize month limits (\u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1224\"\u003e#1224\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-py/arrow/commit/ea756ea779468b0c6a9f45439dc05cfd5e71ee1e\"\u003e\u003ccode\u003eea756ea\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6 (\u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1220\"\u003e#1220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-py/arrow/commit/86f7520f15b2dd46f9c49f71ce5c15bbc537ed67\"\u003e\u003ccode\u003e86f7520\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/arrow-py/arrow/issues/1219\"\u003e#1219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/arrow-py/arrow/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 `bleach` from 6.2.0 to 6.3.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mozilla/bleach/blob/main/CHANGES\"\u003ebleach's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 6.3.0 (October 27th, 2025)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBackwards incompatible changes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9. (\u003ca href=\"https://redirect.github.com/mozilla/bleach/issues/756\"\u003e#756\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eNone\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14. (\u003ca href=\"https://redirect.github.com/mozilla/bleach/issues/758\"\u003e#758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix wbr handling. (\u003ca href=\"https://redirect.github.com/mozilla/bleach/issues/488\"\u003e#488\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/mozilla/bleach/commit/5546d5dbce60d08ccb99d981778d74044d646d4e\"\u003e\u003ccode\u003e5546d5d\u003c/code\u003e\u003c/a\u003e chore: prep for 6.3.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/88df3ff23fb2a43e174b3fdfe9191ef516de868a\"\u003e\u003ccode\u003e88df3ff\u003c/code\u003e\u003c/a\u003e chore: fix readthedocs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/d8b2fb45b2606515c58787c223d6605c6c70868f\"\u003e\u003ccode\u003ed8b2fb4\u003c/code\u003e\u003c/a\u003e fix: fix wbr handling (\u003ca href=\"https://redirect.github.com/mozilla/bleach/issues/488\"\u003e#488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/55e48cedb20bda23940ab34753a1fb378d5d30b9\"\u003e\u003ccode\u003e55e48ce\u003c/code\u003e\u003c/a\u003e chore: add support for Python 3.14 (\u003ca href=\"https://redirect.github.com/mozilla/bleach/issues/758\"\u003e#758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/a4d6cddac6e338c3d6f84c755a5fcb32e9e18fba\"\u003e\u003ccode\u003ea4d6cdd\u003c/code\u003e\u003c/a\u003e chore: drop support for Python 3.9 (\u003ca href=\"https://redirect.github.com/mozilla/bleach/issues/756\"\u003e#756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/172d92faef543a83c6760c63c32749586cdd564b\"\u003e\u003ccode\u003e172d92f\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5.6.0 to 6.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/df88612f2e9daf8f4ee23cf0e29b712d9d9147b6\"\u003e\u003ccode\u003edf88612\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.2 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/cbcf6b18d19aeb7777699f9385013d0a04052b68\"\u003e\u003ccode\u003ecbcf6b1\u003c/code\u003e\u003c/a\u003e Bump actions/cache from 4.2.3 to 4.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/d9aa7ef592d57dda56e26ba31d06e1b279c58eca\"\u003e\u003ccode\u003ed9aa7ef\u003c/code\u003e\u003c/a\u003e Switch from dependabot reviewers to CODEOWNERS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/06f0f76cc68112bda3fa101d1730d5ba914d54a1\"\u003e\u003ccode\u003e06f0f76\u003c/code\u003e\u003c/a\u003e Update setuptools, wheel, and twine for devs\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mozilla/bleach/compare/v6.2.0...v6.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `charset-normalizer` from 3.4.3 to 3.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jawah/charset_normalizer/releases\"\u003echarset-normalizer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.4.4\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.3...3.4.4\"\u003e3.4.4\u003c/a\u003e (2025-10-13)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBound \u003ccode\u003esetuptools\u003c/code\u003e to a specific constraint \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;=81\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound of mypyc for the optional pre-built extension to v1.18.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esetuptools-scm\u003c/code\u003e as a build dependency.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnforced hashes in \u003ccode\u003edev-requirements.txt\u003c/code\u003e and created \u003ccode\u003eci-requirements.txt\u003c/code\u003e for security purposes.\u003c/li\u003e\n\u003cli\u003eAdditional pre-built wheels for riscv64, s390x, and armv7l architectures.\u003c/li\u003e\n\u003cli\u003eRestore \u003ccode\u003emultiple.intoto.jsonl\u003c/code\u003e in GitHub releases in addition to individual attestation file per wheel.\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/jawah/charset_normalizer/blob/master/CHANGELOG.md\"\u003echarset-normalizer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.2...3.4.4\"\u003e3.4.4\u003c/a\u003e (2025-10-13)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBound \u003ccode\u003esetuptools\u003c/code\u003e to a specific constraint \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;=81\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound of mypyc for the optional pre-built extension to v1.18.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esetuptools-scm\u003c/code\u003e as a build dependency.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnforced hashes in \u003ccode\u003edev-requirements.txt\u003c/code\u003e and created \u003ccode\u003eci-requirements.txt\u003c/code\u003e for security purposes.\u003c/li\u003e\n\u003cli\u003eAdditional pre-built wheels for riscv64, s390x, and armv7l architectures.\u003c/li\u003e\n\u003cli\u003eRestore \u003ccode\u003e multiple.intoto.jsonl\u003c/code\u003e in GitHub releases in addition to individual attestation file per wheel.\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/jawah/charset_normalizer/commit/b30ffdcc2f11043c0d34e60fe66d3815cd49b32b\"\u003e\u003ccode\u003eb30ffdc\u003c/code\u003e\u003c/a\u003e :wrench: fix checksum step in cd.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/d3fbfcfad7dfe3c640886f1a6a6351da527f6634\"\u003e\u003ccode\u003ed3fbfcf\u003c/code\u003e\u003c/a\u003e :wrench: fix cd.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/dafbb95f8c00d3cc8b99158caa63006ffab98749\"\u003e\u003ccode\u003edafbb95\u003c/code\u003e\u003c/a\u003e Release 3.4.4 (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/658\"\u003e#658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/1f18ffaa69d2c84fea7abedb8840197ba9c14562\"\u003e\u003ccode\u003e1f18ffa\u003c/code\u003e\u003c/a\u003e :arrow_up: raise mypy upper bound to 1.18.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/ef4ac69ad203891f24e26b2422ab3a08053044fa\"\u003e\u003ccode\u003eef4ac69\u003c/code\u003e\u003c/a\u003e Merge branch 'release-3.4.4' of github.com:jawah/charset_normalizer into rele...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/4b35dda053db5e2e60a247e80a116e4ef04f439b\"\u003e\u003ccode\u003e4b35dda\u003c/code\u003e\u003c/a\u003e :pencil: write changelog for 3.4.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/0ec6452f1a34cbc77a55b237c4118807b44c2a33\"\u003e\u003ccode\u003e0ec6452\u003c/code\u003e\u003c/a\u003e :wrench: update cd.yml workflow (add riscv64, s390x and armv7l)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/f341edec8a828dda394abfa011b1ded8b4b102e2\"\u003e\u003ccode\u003ef341ede\u003c/code\u003e\u003c/a\u003e :arrow_up: upgrade dependencies (dev, ci)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/a308841e660a4d61ea6c448e7b8bf97415ecdc4a\"\u003e\u003ccode\u003ea308841\u003c/code\u003e\u003c/a\u003e :pencil: write changelog for 3.4.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/9c906da611d5ca5ef076d6bf7f60e629f661d0b0\"\u003e\u003ccode\u003e9c906da\u003c/code\u003e\u003c/a\u003e :wrench: update cd.yml workflow (add riscv64, s390x and armv7l)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jawah/charset_normalizer/compare/3.4.3...3.4.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.19.1 to 3.20.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.20.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd tox.toml to sdist by \u003ca href=\"https://github.com/mtelka\"\u003e\u003ccode\u003e@​mtelka\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/436\"\u003etox-dev/filelock#436\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate docs with example by \u003ca href=\"https://github.com/znichollscr\"\u003e\u003ccode\u003e@​znichollscr\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/438\"\u003etox-dev/filelock#438\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd 3.14 support and drop 3.9 by \u003ca 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/448\"\u003etox-dev/filelock#448\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/mtelka\"\u003e\u003ccode\u003e@​mtelka\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/436\"\u003etox-dev/filelock#436\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/znichollscr\"\u003e\u003ccode\u003e@​znichollscr\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/438\"\u003etox-dev/filelock#438\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.19.1...3.20.0\"\u003ehttps://github.com/tox-dev/filelock/compare/3.19.1...3.20.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/f7c3f8ea7defc21b3f0d736bb36711769cce840e\"\u003e\u003ccode\u003ef7c3f8e\u003c/code\u003e\u003c/a\u003e Add 3.14 support and drop 3.9 (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/448\"\u003e#448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/a95eec6245de176cf5aaaa95c187ce688d697277\"\u003e\u003ccode\u003ea95eec6\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/446\"\u003e#446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/f3e532fd35dbe480b25362a0e8b8e0aa41040c3f\"\u003e\u003ccode\u003ef3e532f\u003c/code\u003e\u003c/a\u003e Bump astral-sh/setup-uv from 6 to 7 (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/447\"\u003e#447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/1eff49a2aeb69f905a1ab9dc442fab5d7c601a3c\"\u003e\u003ccode\u003e1eff49a\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/445\"\u003e#445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/3c9448adeaebc0157cf5745dc5c40167678cf171\"\u003e\u003ccode\u003e3c9448a\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/444\"\u003e#444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/09f59904c1cadafaaa5b09b0d7ee8aa3b85c64f5\"\u003e\u003ccode\u003e09f5990\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/443\"\u003e#443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/5011a34d2881199529c6f25bd38b26314340bbde\"\u003e\u003ccode\u003e5011a34\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/442\"\u003e#442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/32372aa24897128b7c891d1c6b783ad368c7f114\"\u003e\u003ccode\u003e32372aa\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish in /.github/workflows (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/441\"\u003e#441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/1af28f256cb6093e354aced4b4de15a483ddb827\"\u003e\u003ccode\u003e1af28f2\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/439\"\u003e#439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/66bcdb30cba57b8ee3dfb20b63aada74969afd81\"\u003e\u003ccode\u003e66bcdb3\u003c/code\u003e\u003c/a\u003e Update docs with example (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/438\"\u003e#438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/py-filelock/compare/3.19.1...3.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `idna` from 3.10 to 3.11\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/kjd/idna/blob/master/HISTORY.rst\"\u003eidna's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e3.11 (2025-10-12)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to Unicode 16.0.0, including significant changes to UTS46\nprocessing. As a result of Unicode ending support for it, transitional\nprocessing no longer has an effect and returns the same result.\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.14, lowest supported version is Python 3.8.\u003c/li\u003e\n\u003cli\u003eVarious updates to packaging, including PEP 740 support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/ad949ee3052c2265c66e3df2dd8871a5832ba327\"\u003e\u003ccode\u003ead949ee\u003c/code\u003e\u003c/a\u003e Release v3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/cae4ba779e0a543823894bd4136651c187944da8\"\u003e\u003ccode\u003ecae4ba7\u003c/code\u003e\u003c/a\u003e Second release candidate for 3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/8adb305165c77c4a45d1568a70ead75d2197692c\"\u003e\u003ccode\u003e8adb305\u003c/code\u003e\u003c/a\u003e Add space in RST link\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/74cb2b652bb06133b0c4ab52cc98221be63162cf\"\u003e\u003ccode\u003e74cb2b6\u003c/code\u003e\u003c/a\u003e Release candidate for 3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/05dab09fdde5bbf7d52f757c4dc62e0ba934cca8\"\u003e\u003ccode\u003e05dab09\u003c/code\u003e\u003c/a\u003e Format idna-data with ruff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/90eac78b737d26613776b490432fc6d926b15c55\"\u003e\u003ccode\u003e90eac78\u003c/code\u003e\u003c/a\u003e Apply ruff formatting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/a31ce7ecc0b767e40abb5ce28744ac567b73f366\"\u003e\u003ccode\u003ea31ce7e\u003c/code\u003e\u003c/a\u003e Remove errant test vectors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/81f03334211c78c1832991ce70ebafb3cbfbb79c\"\u003e\u003ccode\u003e81f0333\u003c/code\u003e\u003c/a\u003e Omit vectors known to be broken in test suite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/a0f32578c0cac28c7ffbb4c860c92eb2b9b579bd\"\u003e\u003ccode\u003ea0f3257\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into unicode-16-uts46-changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kjd/idna/commit/38d98860e6a1ab92fd35ab09ea4739feabf339a3\"\u003e\u003ccode\u003e38d9886\u003c/code\u003e\u003c/a\u003e Remove extra UTS46 test vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/kjd/idna/compare/v3.10...v3.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `iniconfig` from 2.1.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/iniconfig/releases\"\u003einiconfig's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd IniConfig.parse() with inline comment stripping and Unicode whitespace handling by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/pull/70\"\u003epytest-dev/iniconfig#70\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pytest-dev/iniconfig/compare/v2.2.0...v2.3.0\"\u003ehttps://github.com/pytest-dev/iniconfig/compare/v2.2.0...v2.3.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 2.2.0\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/iniconfig/blob/main/CHANGELOG\"\u003einiconfig's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.3.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eadd IniConfig.parse() classmethod with strip_inline_comments parameter (fixes \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/55\"\u003e#55\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eby default (strip_inline_comments=True), inline comments are properly stripped from values\u003c/li\u003e\n\u003cli\u003eset strip_inline_comments=False to preserve old behavior if needed\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eIniConfig() constructor maintains backward compatibility (does not strip inline comments)\u003c/li\u003e\n\u003cli\u003eusers should migrate to IniConfig.parse() for correct comment handling\u003c/li\u003e\n\u003cli\u003eadd strip_section_whitespace parameter to IniConfig.parse() (regarding \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/4\"\u003e#4\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eopt-in parameter to strip Unicode whitespace from section names\u003c/li\u003e\n\u003cli\u003ewhen True, strips Unicode whitespace (U+00A0, U+2000, U+3000, etc.) from section names\u003c/li\u003e\n\u003cli\u003ewhen False (default), preserves existing behavior for backward compatibility\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eclarify Unicode whitespace handling (regarding \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/4\"\u003e#4\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003esince iniconfig 2.0.0 (Python 3 only), all strings are Unicode by default\u003c/li\u003e\n\u003cli\u003ePython 3's str.strip() has handled Unicode whitespace since Python 3.0 (2008)\u003c/li\u003e\n\u003cli\u003einiconfig automatically benefits from this in all supported versions (Python \u0026gt;= 3.10)\u003c/li\u003e\n\u003cli\u003ekey names and values have Unicode whitespace properly stripped using Python's built-in methods\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.2.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003edrop Python 3.8 and 3.9 support (now requires Python \u0026gt;= 3.10)\u003c/li\u003e\n\u003cli\u003eadd Python 3.14 classifier\u003c/li\u003e\n\u003cli\u003emigrate from hatchling to setuptools 77 with setuptools_scm\u003c/li\u003e\n\u003cli\u003eadopt PEP 639 license specifiers and PEP 740 build attestations\u003c/li\u003e\n\u003cli\u003emigrate from black + pyupgrade to ruff\u003c/li\u003e\n\u003cli\u003emigrate CI to uv and unified test workflow\u003c/li\u003e\n\u003cli\u003eautomate GitHub releases and PyPI publishing via Trusted Publishing\u003c/li\u003e\n\u003cli\u003einclude tests in sdist\u003c/li\u003e\n\u003cli\u003emodernize code for Python 3.10+ (remove \u003cstrong\u003efuture\u003c/strong\u003e annotations, TYPE_CHECKING guards)\u003c/li\u003e\n\u003cli\u003erename _ParsedLine to ParsedLine\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/7faed13ae50bad7c5da3f5782f254a8a7736bb84\"\u003e\u003ccode\u003e7faed13\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/70\"\u003e#70\u003c/a\u003e from RonnyPfannschmidt/comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/58c08691bbb86aee8efbf73e37293dd6d65b68b4\"\u003e\u003ccode\u003e58c0869\u003c/code\u003e\u003c/a\u003e Refactor: Simplify IniConfig constructor and parse() method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/6d0af4529e4375e49dc871aa3d5ce17fe1791afe\"\u003e\u003ccode\u003e6d0af45\u003c/code\u003e\u003c/a\u003e Add strip_section_whitespace parameter to address issue \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/4\"\u003e#4\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/e2d89f5283cbeb4b4ca55fe88b1c353c343b4972\"\u003e\u003ccode\u003ee2d89f5\u003c/code\u003e\u003c/a\u003e Add IniConfig.parse() classmethod to fix inline comment handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/57b7ed9c7a5950f9c57b2cfbe641ff4cc04baf1c\"\u003e\u003ccode\u003e57b7ed9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/66\"\u003e#66\u003c/a\u003e from killiandesse/pep639\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/27ac49f56794db397ecb017414663a81e701dfdc\"\u003e\u003ccode\u003e27ac49f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/69\"\u003e#69\u003c/a\u003e from RonnyPfannschmidt/limit-attestation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/3402322097aa7b6eba9a68c96faddc780e04b085\"\u003e\u003ccode\u003e3402322\u003c/code\u003e\u003c/a\u003e Disable build attestations for PRs from forks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/27e6a7b4a7b24f7f8a5e5492b071ab16eff36f95\"\u003e\u003ccode\u003e27e6a7b\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into pep639\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/65228817674f099d48cab0f0974000ea0e3031c1\"\u003e\u003ccode\u003e6522881\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/iniconfig/issues/68\"\u003e#68\u003c/a\u003e from pytest-dev/fix-build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/iniconfig/commit/8b2bccb3b6be37c9bf70a4fbe0cda4c92c70355f\"\u003e\u003ccode\u003e8b2bccb\u003c/code\u003e\u003c/a\u003e Update CHANGELOG and automate releases\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/iniconfig/compare/v2.1.0...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ipykernel` from 6.30.1 to 7.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ipython/ipykernel/releases\"\u003eipykernel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.1.0\u003c/h2\u003e\n\u003ch2\u003e7.1.0\u003c/h2\u003e\n\u003cp\u003eIPykernel 7.1.0 fixes an issue where display outputs such as Matplotlib plots were not included when using \u003ccode\u003e%notebook\u003c/code\u003e magic to save sessions as \u003ccode\u003e.ipynb\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1435\"\u003e#1435\u003c/a\u003e). This is enabled using the traitlet \u003ccode\u003eZMQDisplayPublisher.store_display_history\u003c/code\u003e which defaults to the previous behaviour of False. This is a minor release rather than a patch release due to the addition of the new traitlet.\u003c/p\u003e\n\u003cp\u003eOutput from threads is restored to the pre-6.29 behavior by default (route to latest cell, unless \u003ccode\u003eget_ipython().set_parent()\u003c/code\u003e is called explicitly from the thread. If it is called, output from that thread will continue to be routed to the same cell). This behavior is now opt-in, instead of unconditional (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1451\"\u003e#1451\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003eThis release also fixes bugs that were introduced into the 7.x branch relating to Matplotlib plots in separate windows not being displayed correctly (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1458\"\u003e#1458\u003c/a\u003e), kernels launched in new threads failing asserts (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1455\"\u003e#1455\u003c/a\u003e), and \u003ccode\u003eContextVar\u003c/code\u003es persisting between cells (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1462\"\u003e#1462\u003c/a\u003e). There is also a fix for keyboard interrupts on Windows (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1434\"\u003e#1434\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/ipython/ipykernel/compare/v7.0.1...6f61a6835c217e42c406ee01b359e2fa235baf43\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStore display outputs in history for \u003ccode\u003e%notebook\u003c/code\u003e magic \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1435\"\u003e#1435\u003c/a\u003e (\u003ca href=\"https://github.com/Darshan808\"\u003e\u003ccode\u003e@​Darshan808\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix ContextVar persistence across cells \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1462\"\u003e#1462\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix matplotlib eventloops \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1458\"\u003e#1458\u003c/a\u003e (\u003ca href=\"https://github.com/ianthomas23\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefer to kernel launching thread instead of assuming the main thread \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1455\"\u003e#1455\u003c/a\u003e (\u003ca href=\"https://github.com/dfalbel\"\u003e\u003ccode\u003e@​dfalbel\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix routing of background thread output when no parent is set explicitly \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1451\"\u003e#1451\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix KeyboardInterrupt on Windows by manually resetting interrupt event \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1434\"\u003e#1434\u003c/a\u003e (\u003ca href=\"https://github.com/ptosco\"\u003e\u003ccode\u003e@​ptosco\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate pre-commit and related \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1465\"\u003e#1465\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest that matplotlib event loop integration is responsive \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1463\"\u003e#1463\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate tests for 3.14 \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1453\"\u003e#1453\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/ipython/ipykernel/graphs/contributors?from=2025-10-14\u0026amp;to=2025-10-27\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3ACarreau+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3ADarshan808+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​Darshan808\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Adfalbel+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​dfalbel\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aianthomas23+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Akrassowski+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Alumberbot-app+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​lumberbot-app\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aminrk+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aptosco+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​ptosco\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev7.0.1\u003c/h2\u003e\n\u003ch2\u003e7.0.1\u003c/h2\u003e\n\u003cp\u003eIPykernel 7.0.1 is a bug fix release to support CPython 3.14.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/ipython/ipykernel/compare/v7.0.0...6d9a14a21a8e328e384ebac48e4ccbaad85b1d45\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid overriding Thread._context in Python 3.14 \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1447\"\u003e#1447\u003c/a\u003e (\u003ca href=\"https://github.com/ianthomas23\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ipython/ipykernel/blob/main/CHANGELOG.md\"\u003eipykernel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.1.0\u003c/h2\u003e\n\u003cp\u003eIPykernel 7.1.0 fixes an issue where display outputs such as Matplotlib plots were not included when using \u003ccode\u003e%notebook\u003c/code\u003e magic to save sessions as \u003ccode\u003e.ipynb\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1435\"\u003e#1435\u003c/a\u003e). This is enabled using the traitlet \u003ccode\u003eZMQDisplayPublisher.store_display_history\u003c/code\u003e which defaults to the previous behaviour of False. This is a minor release rather than a patch release due to the addition of the new traitlet.\u003c/p\u003e\n\u003cp\u003eOutput from threads is restored to the pre-6.29 behavior by default (route to latest cell, unless \u003ccode\u003eget_ipython().set_parent()\u003c/code\u003e is called explicitly from the thread. If it is called, output from that thread will continue to be routed to the same cell). This behavior is now opt-in, instead of unconditional (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1451\"\u003e#1451\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003eThis release also fixes bugs that were introduced into the 7.x branch relating to Matplotlib plots in separate windows not being displayed correctly (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1458\"\u003e#1458\u003c/a\u003e), kernels launched in new threads failing asserts (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1455\"\u003e#1455\u003c/a\u003e), and \u003ccode\u003eContextVar\u003c/code\u003es persisting between cells (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1462\"\u003e#1462\u003c/a\u003e). There is also a fix for keyboard interrupts on Windows (\u003ca href=\"https://redirect.github.com/ipython/ipykernel/issues/1434\"\u003e#1434\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/ipython/ipykernel/compare/v7.0.1...6f61a6835c217e42c406ee01b359e2fa235baf43\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStore display outputs in history for \u003ccode\u003e%notebook\u003c/code\u003e magic \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1435\"\u003e#1435\u003c/a\u003e (\u003ca href=\"https://github.com/Darshan808\"\u003e\u003ccode\u003e@​Darshan808\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix ContextVar persistence across cells \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1462\"\u003e#1462\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix matplotlib eventloops \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1458\"\u003e#1458\u003c/a\u003e (\u003ca href=\"https://github.com/ianthomas23\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefer to kernel launching thread instead of assuming the main thread \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1455\"\u003e#1455\u003c/a\u003e (\u003ca href=\"https://github.com/dfalbel\"\u003e\u003ccode\u003e@​dfalbel\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix routing of background thread output when no parent is set explicitly \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1451\"\u003e#1451\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix KeyboardInterrupt on Windows by manually resetting interrupt event \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1434\"\u003e#1434\u003c/a\u003e (\u003ca href=\"https://github.com/ptosco\"\u003e\u003ccode\u003e@​ptosco\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate pre-commit and related \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1465\"\u003e#1465\u003c/a\u003e (\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest that matplotlib event loop integration is responsive \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1463\"\u003e#1463\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate tests for 3.14 \u003ca href=\"https://redirect.github.com/ipython/ipykernel/pull/1453\"\u003e#1453\u003c/a\u003e (\u003ca href=\"https://github.com/minrk\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/ipython/ipykernel/graphs/contributors?from=2025-10-14\u0026amp;to=2025-10-27\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3ACarreau+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3ADarshan808+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​Darshan808\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Adfalbel+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​dfalbel\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aianthomas23+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Akrassowski+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Alumberbot-app+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​lumberbot-app\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aminrk+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​minrk\u003c/code\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aptosco+updated%3A2025-10-14..2025-10-27\u0026amp;type=Issues\"\u003e\u003ccode\u003e@​ptosco\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e7.0.1\u003c/h2\u003e\n\u003cp\u003eIPykernel 7.0.1 is a bug fix release to support CPython 3.14.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/ipython/ipykernel/comp...\n\n_Description has been truncated_","html_url":"https://github.com/statisticsnorway/ssb-pre-system/pull/107","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/statisticsnorway%2Fssb-pre-system/issues/107","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/107/packages"}},{"old_version":"2.8.4","new_version":"2.14.1","update_type":"minor","path":"/examples/langchain-python-rag-privategpt","pr_created_at":"2025-10-28T21:24:16.000Z","version_change":"2.8.4 → 2.14.1","issue":{"uuid":"3563420268","node_id":"PR_kwDOLyt3p86wPYGU","number":26,"state":"open","title":"build(deps): bump numexpr from 2.8.4 to 2.14.1 in /examples/langchain-python-rag-privategpt","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-10-28T21:24:16.000Z","updated_at":"2025-10-28T21:24:53.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"numexpr","old_version":"2.8.4","new_version":"2.14.1","repository_url":"https://github.com/pydata/numexpr"}],"path":"/examples/langchain-python-rag-privategpt","ecosystem":"pip"},"body":"Bumps [numexpr](https://github.com/pydata/numexpr) from 2.8.4 to 2.14.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst\"\u003enumexpr's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges from 2.14.1 to 2.14.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eUnder development.\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.14.0 to 2.14.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRolled back static typing support to ensure compatibiity with NumPy 1.26.\u003c/li\u003e\n\u003cli\u003eAdded CI tests for NumPy 1.26\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.13.1 to 2.14.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNumerical stability for overflow has been improved for \u003ccode\u003etan\u003c/code\u003e / \u003ccode\u003etanh\u003c/code\u003e\nto handle possible overflows for complex numbers.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eStatic typing support has been added, making NumExpr compatible with\nstatic type checkers like \u003ccode\u003emypy\u003c/code\u003e and \u003ccode\u003epyright\u003c/code\u003e.\nThanks to Joren Hammudoglu (\u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e) for the work.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.13.0 to 2.13.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePatch to maximum/minimum functions in order to match NumPy NaN handling\u003c/li\u003e\n\u003cli\u003ePatch to convert '+'-\u0026gt;'|' and '*'-\u0026gt;'\u0026amp;' for booleans\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.12.1 to 2.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNew functionality has been added:\u003c/li\u003e\n\u003cli\u003eBitwise operators (and, or, not, xor): \u003ccode\u003e\u0026amp;, |, ~, ^\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNew binary arithmetic operator for floor division: \u003ccode\u003e//\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNew functions: \u003ccode\u003esignbit\u003c/code\u003e, \u003ccode\u003ehypot\u003c/code\u003e, \u003ccode\u003ecopysign\u003c/code\u003e, \u003ccode\u003enextafter\u003c/code\u003e, \u003ccode\u003emaximum\u003c/code\u003e, \u003ccode\u003eminimum\u003c/code\u003e, \u003ccode\u003elog2\u003c/code\u003e, \u003ccode\u003etrunc\u003c/code\u003e, \u003ccode\u003eround\u003c/code\u003e and \u003ccode\u003esign\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAlso enables integer outputs for integer inputs for \u003ccode\u003eabs\u003c/code\u003e, \u003ccode\u003ecopy\u003c/code\u003e, \u003ccode\u003eones_like\u003c/code\u003e, \u003ccode\u003esign\u003c/code\u003e and \u003ccode\u003eround\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to Luke Shaw for the contributions.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNew wheels for Python 3.14 and 3.14t are provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.12.0 to 2.12.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded complex counterparts for isnan/isfinite/isinf functions.\nThanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated documentation for the new functions and instructions\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/pydata/numexpr/commit/048a5c42b09e4c5a4ccb5097162ff7c571973fde\"\u003e\u003ccode\u003e048a5c4\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/d9cf0f0785f9c8de8d790800ceebff89eced8354\"\u003e\u003ccode\u003ed9cf0f0\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/1fcb012d96c7db2f0f21c8f82ef9d7a30e19b4da\"\u003e\u003ccode\u003e1fcb012\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/542\"\u003e#542\u003c/a\u003e from pydata/test-numpy-1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/898b4d9dbfdb654391999c65744f678f5bd05508\"\u003e\u003ccode\u003e898b4d9\u003c/code\u003e\u003c/a\u003e Update tests to pass for numpy 1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/7cadd0f93b4bcd10bd585bae3bcfc5f9f8c42306\"\u003e\u003ccode\u003e7cadd0f\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/534\"\u003e#534\u003c/a\u003e from jorenham/static-typing\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/eb2f9997035c3865cc3e1ec8ed715f9f9dfe3b30\"\u003e\u003ccode\u003eeb2f999\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/534\"\u003e#534\u003c/a\u003e from jorenham/static-typing\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/e27646b74237f97acae8c43b189079aa7baf5c34\"\u003e\u003ccode\u003ee27646b\u003c/code\u003e\u003c/a\u003e Force local build and test with numpy 1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/acd7eb0da381227ef5903fcee0c4163e0b18ffbb\"\u003e\u003ccode\u003eacd7eb0\u003c/code\u003e\u003c/a\u003e Force tests  with numpy 1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/0e827b18865907dc8cce79f3aa31901392570187\"\u003e\u003ccode\u003e0e827b1\u003c/code\u003e\u003c/a\u003e Force tests  with numpy 1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/ed435570d3269402d326f40ce26c7df35265572a\"\u003e\u003ccode\u003eed43557\u003c/code\u003e\u003c/a\u003e Force local build with numpy 1.26\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydata/numexpr/compare/v2.8.4...v2.14.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=numexpr\u0026package-manager=pip\u0026previous-version=2.8.4\u0026new-version=2.14.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)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/khulnasoft/ollama/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/khulnasoft/ollama/pull/26","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/khulnasoft%2Follama/issues/26","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/26/packages"}},{"old_version":"2.12.1","new_version":"2.14.1","update_type":"minor","path":null,"pr_created_at":"2025-10-20T03:51:14.000Z","version_change":"2.12.1 → 2.14.1","issue":{"uuid":"3530939046","node_id":"PR_kwDOP1mTrM6ujXW6","number":36,"state":"open","title":"chore(deps): bump numexpr from 2.12.1 to 2.14.1","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-10-20T03:51:14.000Z","updated_at":"2025-10-20T04:10:57.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"numexpr","old_version":"2.12.1","new_version":"2.14.1","repository_url":"https://github.com/pydata/numexpr"}],"path":null,"ecosystem":"pip"},"body":"Bumps [numexpr](https://github.com/pydata/numexpr) from 2.12.1 to 2.14.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst\"\u003enumexpr's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges from 2.14.1 to 2.14.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eUnder development.\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.14.0 to 2.14.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRolled back static typing support to ensure compatibiity with NumPy 1.26.\u003c/li\u003e\n\u003cli\u003eAdded CI tests for NumPy 1.26\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.13.1 to 2.14.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNumerical stability for overflow has been improved for \u003ccode\u003etan\u003c/code\u003e / \u003ccode\u003etanh\u003c/code\u003e\nto handle possible overflows for complex numbers.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eStatic typing support has been added, making NumExpr compatible with\nstatic type checkers like \u003ccode\u003emypy\u003c/code\u003e and \u003ccode\u003epyright\u003c/code\u003e.\nThanks to Joren Hammudoglu (\u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e) for the work.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.13.0 to 2.13.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePatch to maximum/minimum functions in order to match NumPy NaN handling\u003c/li\u003e\n\u003cli\u003ePatch to convert '+'-\u0026gt;'|' and '*'-\u0026gt;'\u0026amp;' for booleans\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/pydata/numexpr/commit/048a5c42b09e4c5a4ccb5097162ff7c571973fde\"\u003e\u003ccode\u003e048a5c4\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/d9cf0f0785f9c8de8d790800ceebff89eced8354\"\u003e\u003ccode\u003ed9cf0f0\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/1fcb012d96c7db2f0f21c8f82ef9d7a30e19b4da\"\u003e\u003ccode\u003e1fcb012\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/542\"\u003e#542\u003c/a\u003e from pydata/test-numpy-1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/898b4d9dbfdb654391999c65744f678f5bd05508\"\u003e\u003ccode\u003e898b4d9\u003c/code\u003e\u003c/a\u003e Update tests to pass for numpy 1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/7cadd0f93b4bcd10bd585bae3bcfc5f9f8c42306\"\u003e\u003ccode\u003e7cadd0f\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/534\"\u003e#534\u003c/a\u003e from jorenham/static-typing\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/eb2f9997035c3865cc3e1ec8ed715f9f9dfe3b30\"\u003e\u003ccode\u003eeb2f999\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/534\"\u003e#534\u003c/a\u003e from jorenham/static-typing\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/e27646b74237f97acae8c43b189079aa7baf5c34\"\u003e\u003ccode\u003ee27646b\u003c/code\u003e\u003c/a\u003e Force local build and test with numpy 1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/acd7eb0da381227ef5903fcee0c4163e0b18ffbb\"\u003e\u003ccode\u003eacd7eb0\u003c/code\u003e\u003c/a\u003e Force tests  with numpy 1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/0e827b18865907dc8cce79f3aa31901392570187\"\u003e\u003ccode\u003e0e827b1\u003c/code\u003e\u003c/a\u003e Force tests  with numpy 1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/ed435570d3269402d326f40ce26c7df35265572a\"\u003e\u003ccode\u003eed43557\u003c/code\u003e\u003c/a\u003e Force local build with numpy 1.26\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydata/numexpr/compare/v2.12.1...v2.14.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=numexpr\u0026package-manager=pip\u0026previous-version=2.12.1\u0026new-version=2.14.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/kmoore241/freqtrade/pull/36","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kmoore241%2Ffreqtrade/issues/36","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/36/packages"}},{"old_version":"2.13.1","new_version":"2.14.1","update_type":"minor","path":null,"pr_created_at":"2025-10-20T03:02:15.000Z","version_change":"2.13.1 → 2.14.1","issue":{"uuid":"3530857675","node_id":"PR_kwDOBXYo-M6ujGA3","number":12404,"state":"open","title":"chore(deps): bump numexpr from 2.13.1 to 2.14.1","user":"dependabot[bot]","labels":["Dependencies","Python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-10-20T03:02:15.000Z","updated_at":"2025-10-20T03:41:45.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"numexpr","old_version":"2.13.1","new_version":"2.14.1","repository_url":"https://github.com/pydata/numexpr"}],"path":null,"ecosystem":"pip"},"body":"Bumps [numexpr](https://github.com/pydata/numexpr) from 2.13.1 to 2.14.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst\"\u003enumexpr's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges from 2.14.1 to 2.14.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eUnder development.\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.14.0 to 2.14.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRolled back static typing support to ensure compatibiity with NumPy 1.26.\u003c/li\u003e\n\u003cli\u003eAdded CI tests for NumPy 1.26\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/pydata/numexpr/commit/048a5c42b09e4c5a4ccb5097162ff7c571973fde\"\u003e\u003ccode\u003e048a5c4\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/d9cf0f0785f9c8de8d790800ceebff89eced8354\"\u003e\u003ccode\u003ed9cf0f0\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/1fcb012d96c7db2f0f21c8f82ef9d7a30e19b4da\"\u003e\u003ccode\u003e1fcb012\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/542\"\u003e#542\u003c/a\u003e from pydata/test-numpy-1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/898b4d9dbfdb654391999c65744f678f5bd05508\"\u003e\u003ccode\u003e898b4d9\u003c/code\u003e\u003c/a\u003e Update tests to pass for numpy 1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/7cadd0f93b4bcd10bd585bae3bcfc5f9f8c42306\"\u003e\u003ccode\u003e7cadd0f\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/534\"\u003e#534\u003c/a\u003e from jorenham/static-typing\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/eb2f9997035c3865cc3e1ec8ed715f9f9dfe3b30\"\u003e\u003ccode\u003eeb2f999\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/534\"\u003e#534\u003c/a\u003e from jorenham/static-typing\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/e27646b74237f97acae8c43b189079aa7baf5c34\"\u003e\u003ccode\u003ee27646b\u003c/code\u003e\u003c/a\u003e Force local build and test with numpy 1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/acd7eb0da381227ef5903fcee0c4163e0b18ffbb\"\u003e\u003ccode\u003eacd7eb0\u003c/code\u003e\u003c/a\u003e Force tests  with numpy 1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/0e827b18865907dc8cce79f3aa31901392570187\"\u003e\u003ccode\u003e0e827b1\u003c/code\u003e\u003c/a\u003e Force tests  with numpy 1.26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/ed435570d3269402d326f40ce26c7df35265572a\"\u003e\u003ccode\u003eed43557\u003c/code\u003e\u003c/a\u003e Force local build with numpy 1.26\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydata/numexpr/compare/v2.13.1...v2.14.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=numexpr\u0026package-manager=pip\u0026previous-version=2.13.1\u0026new-version=2.14.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/freqtrade/freqtrade/pull/12404","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/freqtrade%2Ffreqtrade/issues/12404","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/12404/packages"}},{"old_version":"\u003c2.13.1,\u003e=2.8","new_version":"\u003e=2.8,\u003c2.13.2","update_type":"patch","path":null,"pr_created_at":"2025-10-06T19:34:44.000Z","version_change":"\u003c2.13.1,\u003e=2.8 → \u003e=2.8,\u003c2.13.2","issue":{"uuid":"2891593357","node_id":"PR_kwDOPWsqdM6sWjaN","number":19,"state":"open","title":"Update numexpr requirement from \u003c2.13.1,\u003e=2.8 to \u003e=2.8,\u003c2.13.2","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-10-06T19:34:44.000Z","updated_at":"2025-10-06T19:34:45.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"numexpr","old_version":"\u003c2.13.1,\u003e=2.8","new_version":"\u003e=2.8,\u003c2.13.2","repository_url":"https://github.com/pydata/numexpr"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [numexpr](https://github.com/pydata/numexpr) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst\"\u003enumexpr's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges from 2.13.1 to 2.13.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eUnder development.\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eStatic typing support has been added, making NumExpr compatible with\nstatic type checkers like \u003ccode\u003emypy\u003c/code\u003e and \u003ccode\u003epyright\u003c/code\u003e.\nThanks to Joren Hammudoglu (\u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e) for the work.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.13.0 to 2.13.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePatch to maximum/minimum functions in order to match NumPy NaN handling\u003c/li\u003e\n\u003cli\u003ePatch to convert '+'-\u0026gt;'|' and '*'-\u0026gt;'\u0026amp;' for booleans\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.12.1 to 2.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNew functionality has been added:\u003c/li\u003e\n\u003cli\u003eBitwise operators (and, or, not, xor): \u003ccode\u003e\u0026amp;, |, ~, ^\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNew binary arithmetic operator for floor division: \u003ccode\u003e//\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNew functions: \u003ccode\u003esignbit\u003c/code\u003e, \u003ccode\u003ehypot\u003c/code\u003e, \u003ccode\u003ecopysign\u003c/code\u003e, \u003ccode\u003enextafter\u003c/code\u003e, \u003ccode\u003emaximum\u003c/code\u003e, \u003ccode\u003eminimum\u003c/code\u003e, \u003ccode\u003elog2\u003c/code\u003e, \u003ccode\u003etrunc\u003c/code\u003e, \u003ccode\u003eround\u003c/code\u003e and \u003ccode\u003esign\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAlso enables integer outputs for integer inputs for \u003ccode\u003eabs\u003c/code\u003e, \u003ccode\u003ecopy\u003c/code\u003e, \u003ccode\u003eones_like\u003c/code\u003e, \u003ccode\u003esign\u003c/code\u003e and \u003ccode\u003eround\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to Luke Shaw for the contributions.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNew wheels for Python 3.14 and 3.14t are provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.12.0 to 2.12.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded complex counterparts for isnan/isfinite/isinf functions.\nThanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated documentation for the new functions and instructions\nfor adding new functions to the virtual machine.  Thanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed MKL support; it was broken in 2.12.0.  Thanks to\nChristoph Gohlke for reporting the issue.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.11.0 to 2.12.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded isnan/isfinite/isinf functions.  Thanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew instructions for adding new functions to the virtual machine.\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/pydata/numexpr/commit/64eb4e1ec1a2591621ac353d251ed7946b6bc188\"\u003e\u003ccode\u003e64eb4e1\u003c/code\u003e\u003c/a\u003e Correct version number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/93b9fee8862d31db94cc38202b8926c18e2f232c\"\u003e\u003ccode\u003e93b9fee\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/aefd3e62f3a7e18362c83c6e22baf416e2c7d668\"\u003e\u003ccode\u003eaefd3e6\u003c/code\u003e\u003c/a\u003e Announcing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/9b071c2de24657b9bdcca91f4f04fe47dce36449\"\u003e\u003ccode\u003e9b071c2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/536\"\u003e#536\u003c/a\u003e from pydata/fix_funcbugs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/780908af3daf970391715bced9621f06157307cc\"\u003e\u003ccode\u003e780908a\u003c/code\u003e\u003c/a\u003e Make test stricter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f1487d4dc52f141e21eeeaff6fbbdc06755b65da\"\u003e\u003ccode\u003ef1487d4\u003c/code\u003e\u003c/a\u003e Fix boolean add/mult\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f114e9f49f759d543d80950f39ff01cff00ddd32\"\u003e\u003ccode\u003ef114e9f\u003c/code\u003e\u003c/a\u003e Add nan handling to maximum/minimum\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f360f1240f460334c380bd1b81d38c5e38deefae\"\u003e\u003ccode\u003ef360f12\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES to reflect changes in functionality\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/6892ed6e87041eec9b8946370fd23a5a96fa8777\"\u003e\u003ccode\u003e6892ed6\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES for version 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/06c00df6d1adc289029905fb26f1009a0e179088\"\u003e\u003ccode\u003e06c00df\u003c/code\u003e\u003c/a\u003e Revise RELEASE_NOTES.rst for new features\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydata/numexpr/compare/v2.8.0...v2.13.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 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/colectric-dev/dispatch/pull/19","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/colectric-dev%2Fdispatch/issues/19","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/19/packages"}},{"old_version":"!=2.8.6,\u003c=2.10.2","new_version":"!=2.8.6,\u003c=2.13.1","update_type":null,"path":"/.github/dependabot","pr_created_at":"2025-10-06T13:26:53.000Z","version_change":"!=2.8.6,\u003c=2.10.2 → !=2.8.6,\u003c=2.13.1","issue":{"uuid":"2890248319","node_id":"PR_kwDODTbl_s6sRbB_","number":363,"state":"open","title":"Update numexpr requirement from !=2.8.6,\u003c=2.10.2 to !=2.8.6,\u003c=2.13.1 in /.github/dependabot","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-10-06T13:26:53.000Z","updated_at":"2025-10-06T13:26:54.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"numexpr","old_version":"!=2.8.6,\u003c=2.10.2","new_version":"!=2.8.6,\u003c=2.13.1","repository_url":"https://github.com/pydata/numexpr"}],"path":"/.github/dependabot","ecosystem":"pip"},"body":"Updates the requirements on [numexpr](https://github.com/pydata/numexpr) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst\"\u003enumexpr's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges from 2.13.1 to 2.13.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eUnder development.\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eStatic typing support has been added, making NumExpr compatible with\nstatic type checkers like \u003ccode\u003emypy\u003c/code\u003e and \u003ccode\u003epyright\u003c/code\u003e.\nThanks to Joren Hammudoglu (\u003ca href=\"https://github.com/jorenham\"\u003e\u003ccode\u003e@​jorenham\u003c/code\u003e\u003c/a\u003e) for the work.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.13.0 to 2.13.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePatch to maximum/minimum functions in order to match NumPy NaN handling\u003c/li\u003e\n\u003cli\u003ePatch to convert '+'-\u0026gt;'|' and '*'-\u0026gt;'\u0026amp;' for booleans\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.12.1 to 2.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNew functionality has been added:\u003c/li\u003e\n\u003cli\u003eBitwise operators (and, or, not, xor): \u003ccode\u003e\u0026amp;, |, ~, ^\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNew binary arithmetic operator for floor division: \u003ccode\u003e//\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNew functions: \u003ccode\u003esignbit\u003c/code\u003e, \u003ccode\u003ehypot\u003c/code\u003e, \u003ccode\u003ecopysign\u003c/code\u003e, \u003ccode\u003enextafter\u003c/code\u003e, \u003ccode\u003emaximum\u003c/code\u003e, \u003ccode\u003eminimum\u003c/code\u003e, \u003ccode\u003elog2\u003c/code\u003e, \u003ccode\u003etrunc\u003c/code\u003e, \u003ccode\u003eround\u003c/code\u003e and \u003ccode\u003esign\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAlso enables integer outputs for integer inputs for \u003ccode\u003eabs\u003c/code\u003e, \u003ccode\u003ecopy\u003c/code\u003e, \u003ccode\u003eones_like\u003c/code\u003e, \u003ccode\u003esign\u003c/code\u003e and \u003ccode\u003eround\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to Luke Shaw for the contributions.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNew wheels for Python 3.14 and 3.14t are provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.12.0 to 2.12.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded complex counterparts for isnan/isfinite/isinf functions.\nThanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated documentation for the new functions and instructions\nfor adding new functions to the virtual machine.  Thanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed MKL support; it was broken in 2.12.0.  Thanks to\nChristoph Gohlke for reporting the issue.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.11.0 to 2.12.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded isnan/isfinite/isinf functions.  Thanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew instructions for adding new functions to the virtual machine.\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/pydata/numexpr/commit/64eb4e1ec1a2591621ac353d251ed7946b6bc188\"\u003e\u003ccode\u003e64eb4e1\u003c/code\u003e\u003c/a\u003e Correct version number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/93b9fee8862d31db94cc38202b8926c18e2f232c\"\u003e\u003ccode\u003e93b9fee\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/aefd3e62f3a7e18362c83c6e22baf416e2c7d668\"\u003e\u003ccode\u003eaefd3e6\u003c/code\u003e\u003c/a\u003e Announcing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/9b071c2de24657b9bdcca91f4f04fe47dce36449\"\u003e\u003ccode\u003e9b071c2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/536\"\u003e#536\u003c/a\u003e from pydata/fix_funcbugs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/780908af3daf970391715bced9621f06157307cc\"\u003e\u003ccode\u003e780908a\u003c/code\u003e\u003c/a\u003e Make test stricter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f1487d4dc52f141e21eeeaff6fbbdc06755b65da\"\u003e\u003ccode\u003ef1487d4\u003c/code\u003e\u003c/a\u003e Fix boolean add/mult\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f114e9f49f759d543d80950f39ff01cff00ddd32\"\u003e\u003ccode\u003ef114e9f\u003c/code\u003e\u003c/a\u003e Add nan handling to maximum/minimum\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f360f1240f460334c380bd1b81d38c5e38deefae\"\u003e\u003ccode\u003ef360f12\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES to reflect changes in functionality\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/6892ed6e87041eec9b8946370fd23a5a96fa8777\"\u003e\u003ccode\u003e6892ed6\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES for version 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/06c00df6d1adc289029905fb26f1009a0e179088\"\u003e\u003ccode\u003e06c00df\u003c/code\u003e\u003c/a\u003e Revise RELEASE_NOTES.rst for new features\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydata/numexpr/compare/1.3...v2.13.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 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/European-XFEL/EXtra-geom/pull/363","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/European-XFEL%2FEXtra-geom/issues/363","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/363/packages"}},{"old_version":"\u003c2.13.1,\u003e=2.8","new_version":"\u003e=2.8,\u003c2.13.2","update_type":"patch","path":null,"pr_created_at":"2025-10-06T05:09:36.000Z","version_change":"\u003c2.13.1,\u003e=2.8 → \u003e=2.8,\u003c2.13.2","issue":{"uuid":"2888831333","node_id":"PR_kwDOH2YLAs6sMBFl","number":504,"state":"closed","title":"Update numexpr requirement from \u003c2.13.1,\u003e=2.8 to \u003e=2.8,\u003c2.13.2","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-10-06T05:16:35.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-06T05:09:36.000Z","updated_at":"2025-10-06T05:16:35.000Z","time_to_close":419,"merged_at":"2025-10-06T05:16:35.000Z","merged_by":"rmi-auto-merge-helper[bot]","closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"numexpr","old_version":"\u003c2.13.1,\u003e=2.8","new_version":"\u003e=2.8,\u003c2.13.2","repository_url":"https://github.com/pydata/numexpr"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [numexpr](https://github.com/pydata/numexpr) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst\"\u003enumexpr's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges from 2.13.1 to 2.13.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eUnder development.\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.13.0 to 2.13.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePatch to maximum/minimum functions in order to match NumPy NaN handling\u003c/li\u003e\n\u003cli\u003ePatch to convert '+'-\u0026gt;'|' and '*'-\u0026gt;'\u0026amp;' for booleans\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.12.1 to 2.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNew functionality has been added:\u003c/li\u003e\n\u003cli\u003eBitwise operators (and, or, not, xor): \u003ccode\u003e\u0026amp;, |, ~, ^\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNew binary arithmetic operator for floor division: \u003ccode\u003e//\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNew functions: \u003ccode\u003esignbit\u003c/code\u003e, \u003ccode\u003ehypot\u003c/code\u003e, \u003ccode\u003ecopysign\u003c/code\u003e, \u003ccode\u003enextafter\u003c/code\u003e, \u003ccode\u003emaximum\u003c/code\u003e, \u003ccode\u003eminimum\u003c/code\u003e, \u003ccode\u003elog2\u003c/code\u003e, \u003ccode\u003etrunc\u003c/code\u003e, \u003ccode\u003eround\u003c/code\u003e and \u003ccode\u003esign\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAlso enables integer outputs for integer inputs for \u003ccode\u003eabs\u003c/code\u003e, \u003ccode\u003ecopy\u003c/code\u003e, \u003ccode\u003eones_like\u003c/code\u003e, \u003ccode\u003esign\u003c/code\u003e and \u003ccode\u003eround\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to Luke Shaw for the contributions.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNew wheels for Python 3.14 and 3.14t are provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.12.0 to 2.12.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded complex counterparts for isnan/isfinite/isinf functions.\nThanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated documentation for the new functions and instructions\nfor adding new functions to the virtual machine.  Thanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed MKL support; it was broken in 2.12.0.  Thanks to\nChristoph Gohlke for reporting the issue.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.11.0 to 2.12.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded isnan/isfinite/isinf functions.  Thanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew instructions for adding new functions to the virtual machine.\nThey are available at ADDFUNCS.rst.  Thanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWe are distributing binary wheels for Python 3.14 and 3.14t now.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWe are distributing musllinux wheels too!  Thanks to Clément Robert.\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/pydata/numexpr/commit/64eb4e1ec1a2591621ac353d251ed7946b6bc188\"\u003e\u003ccode\u003e64eb4e1\u003c/code\u003e\u003c/a\u003e Correct version number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/93b9fee8862d31db94cc38202b8926c18e2f232c\"\u003e\u003ccode\u003e93b9fee\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/aefd3e62f3a7e18362c83c6e22baf416e2c7d668\"\u003e\u003ccode\u003eaefd3e6\u003c/code\u003e\u003c/a\u003e Announcing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/9b071c2de24657b9bdcca91f4f04fe47dce36449\"\u003e\u003ccode\u003e9b071c2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/536\"\u003e#536\u003c/a\u003e from pydata/fix_funcbugs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/780908af3daf970391715bced9621f06157307cc\"\u003e\u003ccode\u003e780908a\u003c/code\u003e\u003c/a\u003e Make test stricter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f1487d4dc52f141e21eeeaff6fbbdc06755b65da\"\u003e\u003ccode\u003ef1487d4\u003c/code\u003e\u003c/a\u003e Fix boolean add/mult\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f114e9f49f759d543d80950f39ff01cff00ddd32\"\u003e\u003ccode\u003ef114e9f\u003c/code\u003e\u003c/a\u003e Add nan handling to maximum/minimum\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f360f1240f460334c380bd1b81d38c5e38deefae\"\u003e\u003ccode\u003ef360f12\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES to reflect changes in functionality\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/6892ed6e87041eec9b8946370fd23a5a96fa8777\"\u003e\u003ccode\u003e6892ed6\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES for version 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/06c00df6d1adc289029905fb26f1009a0e179088\"\u003e\u003ccode\u003e06c00df\u003c/code\u003e\u003c/a\u003e Revise RELEASE_NOTES.rst for new features\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydata/numexpr/compare/v2.8.0...v2.13.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 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/RMI/dispatch/pull/504","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/RMI%2Fdispatch/issues/504","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/504/packages"}},{"old_version":"2.12.1","new_version":"2.13.1","update_type":"minor","path":null,"pr_created_at":"2025-10-06T03:45:01.000Z","version_change":"2.12.1 → 2.13.1","issue":{"uuid":"2888726281","node_id":"PR_kwDOP1mTrM6sLncJ","number":16,"state":"open","title":"chore(deps): bump numexpr from 2.12.1 to 2.13.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-10-06T03:45:01.000Z","updated_at":"2025-10-06T03:45:02.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"numexpr","old_version":"2.12.1","new_version":"2.13.1","repository_url":"https://github.com/pydata/numexpr"}],"path":null,"ecosystem":"pip"},"body":"Bumps [numexpr](https://github.com/pydata/numexpr) from 2.12.1 to 2.13.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst\"\u003enumexpr's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges from 2.13.1 to 2.13.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eUnder development.\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.13.0 to 2.13.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePatch to maximum/minimum functions in order to match NumPy NaN handling\u003c/li\u003e\n\u003cli\u003ePatch to convert '+'-\u0026gt;'|' and '*'-\u0026gt;'\u0026amp;' for booleans\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/pydata/numexpr/commit/64eb4e1ec1a2591621ac353d251ed7946b6bc188\"\u003e\u003ccode\u003e64eb4e1\u003c/code\u003e\u003c/a\u003e Correct version number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/93b9fee8862d31db94cc38202b8926c18e2f232c\"\u003e\u003ccode\u003e93b9fee\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/aefd3e62f3a7e18362c83c6e22baf416e2c7d668\"\u003e\u003ccode\u003eaefd3e6\u003c/code\u003e\u003c/a\u003e Announcing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/9b071c2de24657b9bdcca91f4f04fe47dce36449\"\u003e\u003ccode\u003e9b071c2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/536\"\u003e#536\u003c/a\u003e from pydata/fix_funcbugs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/780908af3daf970391715bced9621f06157307cc\"\u003e\u003ccode\u003e780908a\u003c/code\u003e\u003c/a\u003e Make test stricter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f1487d4dc52f141e21eeeaff6fbbdc06755b65da\"\u003e\u003ccode\u003ef1487d4\u003c/code\u003e\u003c/a\u003e Fix boolean add/mult\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f114e9f49f759d543d80950f39ff01cff00ddd32\"\u003e\u003ccode\u003ef114e9f\u003c/code\u003e\u003c/a\u003e Add nan handling to maximum/minimum\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f360f1240f460334c380bd1b81d38c5e38deefae\"\u003e\u003ccode\u003ef360f12\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES to reflect changes in functionality\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/6892ed6e87041eec9b8946370fd23a5a96fa8777\"\u003e\u003ccode\u003e6892ed6\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES for version 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/06c00df6d1adc289029905fb26f1009a0e179088\"\u003e\u003ccode\u003e06c00df\u003c/code\u003e\u003c/a\u003e Revise RELEASE_NOTES.rst for new features\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydata/numexpr/compare/v2.12.1...v2.13.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=numexpr\u0026package-manager=pip\u0026previous-version=2.12.1\u0026new-version=2.13.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/kmoore241/freqtrade/pull/16","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kmoore241%2Ffreqtrade/issues/16","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/16/packages"}},{"old_version":"2.11.0","new_version":"2.13.1","update_type":"minor","path":null,"pr_created_at":"2025-10-06T03:38:52.000Z","version_change":"2.11.0 → 2.13.1","issue":{"uuid":"3485571932","node_id":"PR_kwDOPuZoZ86sLlhP","number":30,"state":"closed","title":"chore(deps): bump numexpr from 2.11.0 to 2.13.1","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-10-20T03:47:45.000Z","author_association":null,"state_reason":null,"created_at":"2025-10-06T03:38:52.000Z","updated_at":"2025-10-20T03:47:46.000Z","time_to_close":1210133,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"numexpr","old_version":"2.11.0","new_version":"2.13.1","repository_url":"https://github.com/pydata/numexpr"}],"path":null,"ecosystem":"pip"},"body":"Bumps [numexpr](https://github.com/pydata/numexpr) from 2.11.0 to 2.13.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst\"\u003enumexpr's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges from 2.13.1 to 2.13.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eUnder development.\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.13.0 to 2.13.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePatch to maximum/minimum functions in order to match NumPy NaN handling\u003c/li\u003e\n\u003cli\u003ePatch to convert '+'-\u0026gt;'|' and '*'-\u0026gt;'\u0026amp;' for booleans\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.12.1 to 2.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNew functionality has been added:\u003c/li\u003e\n\u003cli\u003eBitwise operators (and, or, not, xor): \u003ccode\u003e\u0026amp;, |, ~, ^\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNew binary arithmetic operator for floor division: \u003ccode\u003e//\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNew functions: \u003ccode\u003esignbit\u003c/code\u003e, \u003ccode\u003ehypot\u003c/code\u003e, \u003ccode\u003ecopysign\u003c/code\u003e, \u003ccode\u003enextafter\u003c/code\u003e, \u003ccode\u003emaximum\u003c/code\u003e, \u003ccode\u003eminimum\u003c/code\u003e, \u003ccode\u003elog2\u003c/code\u003e, \u003ccode\u003etrunc\u003c/code\u003e, \u003ccode\u003eround\u003c/code\u003e and \u003ccode\u003esign\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAlso enables integer outputs for integer inputs for \u003ccode\u003eabs\u003c/code\u003e, \u003ccode\u003ecopy\u003c/code\u003e, \u003ccode\u003eones_like\u003c/code\u003e, \u003ccode\u003esign\u003c/code\u003e and \u003ccode\u003eround\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to Luke Shaw for the contributions.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNew wheels for Python 3.14 and 3.14t are provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.12.0 to 2.12.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded complex counterparts for isnan/isfinite/isinf functions.\nThanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated documentation for the new functions and instructions\nfor adding new functions to the virtual machine.  Thanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed MKL support; it was broken in 2.12.0.  Thanks to\nChristoph Gohlke for reporting the issue.\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/pydata/numexpr/commit/64eb4e1ec1a2591621ac353d251ed7946b6bc188\"\u003e\u003ccode\u003e64eb4e1\u003c/code\u003e\u003c/a\u003e Correct version number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/93b9fee8862d31db94cc38202b8926c18e2f232c\"\u003e\u003ccode\u003e93b9fee\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/aefd3e62f3a7e18362c83c6e22baf416e2c7d668\"\u003e\u003ccode\u003eaefd3e6\u003c/code\u003e\u003c/a\u003e Announcing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/9b071c2de24657b9bdcca91f4f04fe47dce36449\"\u003e\u003ccode\u003e9b071c2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/536\"\u003e#536\u003c/a\u003e from pydata/fix_funcbugs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/780908af3daf970391715bced9621f06157307cc\"\u003e\u003ccode\u003e780908a\u003c/code\u003e\u003c/a\u003e Make test stricter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f1487d4dc52f141e21eeeaff6fbbdc06755b65da\"\u003e\u003ccode\u003ef1487d4\u003c/code\u003e\u003c/a\u003e Fix boolean add/mult\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f114e9f49f759d543d80950f39ff01cff00ddd32\"\u003e\u003ccode\u003ef114e9f\u003c/code\u003e\u003c/a\u003e Add nan handling to maximum/minimum\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f360f1240f460334c380bd1b81d38c5e38deefae\"\u003e\u003ccode\u003ef360f12\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES to reflect changes in functionality\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/6892ed6e87041eec9b8946370fd23a5a96fa8777\"\u003e\u003ccode\u003e6892ed6\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES for version 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/06c00df6d1adc289029905fb26f1009a0e179088\"\u003e\u003ccode\u003e06c00df\u003c/code\u003e\u003c/a\u003e Revise RELEASE_NOTES.rst for new features\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydata/numexpr/compare/v2.11.0...v2.13.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=numexpr\u0026package-manager=pip\u0026previous-version=2.11.0\u0026new-version=2.13.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/chiendudev/xlinev2/pull/30","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/chiendudev%2Fxlinev2/issues/30","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/30/packages"}},{"old_version":"2.10.2","new_version":"2.13.1","update_type":"minor","path":null,"pr_created_at":"2025-10-06T03:35:26.000Z","version_change":"2.10.2 → 2.13.1","issue":{"uuid":"2888714251","node_id":"PR_kwDOOw0Wwc6sLkgL","number":111,"state":"open","title":"chore(deps): bump numexpr from 2.10.2 to 2.13.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-10-06T03:35:26.000Z","updated_at":"2025-10-06T03:35:26.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"numexpr","old_version":"2.10.2","new_version":"2.13.1","repository_url":"https://github.com/pydata/numexpr"}],"path":null,"ecosystem":"pip"},"body":"Bumps [numexpr](https://github.com/pydata/numexpr) from 2.10.2 to 2.13.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst\"\u003enumexpr's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges from 2.13.1 to 2.13.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eUnder development.\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.13.0 to 2.13.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePatch to maximum/minimum functions in order to match NumPy NaN handling\u003c/li\u003e\n\u003cli\u003ePatch to convert '+'-\u0026gt;'|' and '*'-\u0026gt;'\u0026amp;' for booleans\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.12.1 to 2.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNew functionality has been added:\u003c/li\u003e\n\u003cli\u003eBitwise operators (and, or, not, xor): \u003ccode\u003e\u0026amp;, |, ~, ^\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNew binary arithmetic operator for floor division: \u003ccode\u003e//\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNew functions: \u003ccode\u003esignbit\u003c/code\u003e, \u003ccode\u003ehypot\u003c/code\u003e, \u003ccode\u003ecopysign\u003c/code\u003e, \u003ccode\u003enextafter\u003c/code\u003e, \u003ccode\u003emaximum\u003c/code\u003e, \u003ccode\u003eminimum\u003c/code\u003e, \u003ccode\u003elog2\u003c/code\u003e, \u003ccode\u003etrunc\u003c/code\u003e, \u003ccode\u003eround\u003c/code\u003e and \u003ccode\u003esign\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAlso enables integer outputs for integer inputs for \u003ccode\u003eabs\u003c/code\u003e, \u003ccode\u003ecopy\u003c/code\u003e, \u003ccode\u003eones_like\u003c/code\u003e, \u003ccode\u003esign\u003c/code\u003e and \u003ccode\u003eround\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to Luke Shaw for the contributions.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNew wheels for Python 3.14 and 3.14t are provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.12.0 to 2.12.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded complex counterparts for isnan/isfinite/isinf functions.\nThanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated documentation for the new functions and instructions\nfor adding new functions to the virtual machine.  Thanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed MKL support; it was broken in 2.12.0.  Thanks to\nChristoph Gohlke for reporting the issue.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.11.0 to 2.12.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded isnan/isfinite/isinf functions.  Thanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew instructions for adding new functions to the virtual machine.\nThey are available at ADDFUNCS.rst.  Thanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWe are distributing binary wheels for Python 3.14 and 3.14t now.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWe are distributing musllinux wheels too!  Thanks to Clément Robert.\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/pydata/numexpr/commit/64eb4e1ec1a2591621ac353d251ed7946b6bc188\"\u003e\u003ccode\u003e64eb4e1\u003c/code\u003e\u003c/a\u003e Correct version number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/93b9fee8862d31db94cc38202b8926c18e2f232c\"\u003e\u003ccode\u003e93b9fee\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/aefd3e62f3a7e18362c83c6e22baf416e2c7d668\"\u003e\u003ccode\u003eaefd3e6\u003c/code\u003e\u003c/a\u003e Announcing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/9b071c2de24657b9bdcca91f4f04fe47dce36449\"\u003e\u003ccode\u003e9b071c2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/536\"\u003e#536\u003c/a\u003e from pydata/fix_funcbugs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/780908af3daf970391715bced9621f06157307cc\"\u003e\u003ccode\u003e780908a\u003c/code\u003e\u003c/a\u003e Make test stricter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f1487d4dc52f141e21eeeaff6fbbdc06755b65da\"\u003e\u003ccode\u003ef1487d4\u003c/code\u003e\u003c/a\u003e Fix boolean add/mult\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f114e9f49f759d543d80950f39ff01cff00ddd32\"\u003e\u003ccode\u003ef114e9f\u003c/code\u003e\u003c/a\u003e Add nan handling to maximum/minimum\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f360f1240f460334c380bd1b81d38c5e38deefae\"\u003e\u003ccode\u003ef360f12\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES to reflect changes in functionality\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/6892ed6e87041eec9b8946370fd23a5a96fa8777\"\u003e\u003ccode\u003e6892ed6\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES for version 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/06c00df6d1adc289029905fb26f1009a0e179088\"\u003e\u003ccode\u003e06c00df\u003c/code\u003e\u003c/a\u003e Revise RELEASE_NOTES.rst for new features\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydata/numexpr/compare/v2.10.2...v2.13.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=numexpr\u0026package-manager=pip\u0026previous-version=2.10.2\u0026new-version=2.13.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/mooncitydev/https-github.com-freqtrade-freqtrade/pull/111","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mooncitydev%2Fhttps-github.com-freqtrade-freqtrade/issues/111","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/111/packages"}},{"old_version":"2.13.0","new_version":"2.13.1","update_type":"patch","path":null,"pr_created_at":"2025-10-06T03:02:08.000Z","version_change":"2.13.0 → 2.13.1","issue":{"uuid":"3485521563","node_id":"PR_kwDOBXYo-M6sLa5M","number":12335,"state":"open","title":"chore(deps): bump numexpr from 2.13.0 to 2.13.1","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-10-06T03:02:08.000Z","updated_at":"2025-10-06T03:52:57.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"numexpr","old_version":"2.13.0","new_version":"2.13.1","repository_url":"https://github.com/pydata/numexpr"}],"path":null,"ecosystem":"pip"},"body":"Bumps [numexpr](https://github.com/pydata/numexpr) from 2.13.0 to 2.13.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst\"\u003enumexpr's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges from 2.13.1 to 2.13.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eUnder development.\u003c/strong\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/pydata/numexpr/commit/64eb4e1ec1a2591621ac353d251ed7946b6bc188\"\u003e\u003ccode\u003e64eb4e1\u003c/code\u003e\u003c/a\u003e Correct version number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/93b9fee8862d31db94cc38202b8926c18e2f232c\"\u003e\u003ccode\u003e93b9fee\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/aefd3e62f3a7e18362c83c6e22baf416e2c7d668\"\u003e\u003ccode\u003eaefd3e6\u003c/code\u003e\u003c/a\u003e Announcing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/9b071c2de24657b9bdcca91f4f04fe47dce36449\"\u003e\u003ccode\u003e9b071c2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/536\"\u003e#536\u003c/a\u003e from pydata/fix_funcbugs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/780908af3daf970391715bced9621f06157307cc\"\u003e\u003ccode\u003e780908a\u003c/code\u003e\u003c/a\u003e Make test stricter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f1487d4dc52f141e21eeeaff6fbbdc06755b65da\"\u003e\u003ccode\u003ef1487d4\u003c/code\u003e\u003c/a\u003e Fix boolean add/mult\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f114e9f49f759d543d80950f39ff01cff00ddd32\"\u003e\u003ccode\u003ef114e9f\u003c/code\u003e\u003c/a\u003e Add nan handling to maximum/minimum\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f360f1240f460334c380bd1b81d38c5e38deefae\"\u003e\u003ccode\u003ef360f12\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES to reflect changes in functionality\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/6892ed6e87041eec9b8946370fd23a5a96fa8777\"\u003e\u003ccode\u003e6892ed6\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES for version 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/06c00df6d1adc289029905fb26f1009a0e179088\"\u003e\u003ccode\u003e06c00df\u003c/code\u003e\u003c/a\u003e Revise RELEASE_NOTES.rst for new features\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydata/numexpr/compare/v2.13.0...v2.13.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=numexpr\u0026package-manager=pip\u0026previous-version=2.13.0\u0026new-version=2.13.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/freqtrade/freqtrade/pull/12335","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/freqtrade%2Ffreqtrade/issues/12335","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/12335/packages"}},{"old_version":"2.12.1","new_version":"2.13.1","update_type":"minor","path":null,"pr_created_at":"2025-10-01T14:55:12.000Z","version_change":"2.12.1 → 2.13.1","issue":{"uuid":"2878607588","node_id":"PR_kwDOP6bKB86rlBDk","number":12,"state":"open","title":"chore(deps): bump numexpr from 2.12.1 to 2.13.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-10-01T14:55:12.000Z","updated_at":"2025-10-01T14:55:13.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"numexpr","old_version":"2.12.1","new_version":"2.13.1","repository_url":"https://github.com/pydata/numexpr"}],"path":null,"ecosystem":"pip"},"body":"Bumps [numexpr](https://github.com/pydata/numexpr) from 2.12.1 to 2.13.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst\"\u003enumexpr's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges from 2.13.1 to 2.13.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eUnder development.\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.13.0 to 2.13.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePatch to maximum/minimum functions in order to match NumPy NaN handling\u003c/li\u003e\n\u003cli\u003ePatch to convert '+'-\u0026gt;'|' and '*'-\u0026gt;'\u0026amp;' for booleans\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/pydata/numexpr/commit/64eb4e1ec1a2591621ac353d251ed7946b6bc188\"\u003e\u003ccode\u003e64eb4e1\u003c/code\u003e\u003c/a\u003e Correct version number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/93b9fee8862d31db94cc38202b8926c18e2f232c\"\u003e\u003ccode\u003e93b9fee\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/aefd3e62f3a7e18362c83c6e22baf416e2c7d668\"\u003e\u003ccode\u003eaefd3e6\u003c/code\u003e\u003c/a\u003e Announcing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/9b071c2de24657b9bdcca91f4f04fe47dce36449\"\u003e\u003ccode\u003e9b071c2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/536\"\u003e#536\u003c/a\u003e from pydata/fix_funcbugs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/780908af3daf970391715bced9621f06157307cc\"\u003e\u003ccode\u003e780908a\u003c/code\u003e\u003c/a\u003e Make test stricter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f1487d4dc52f141e21eeeaff6fbbdc06755b65da\"\u003e\u003ccode\u003ef1487d4\u003c/code\u003e\u003c/a\u003e Fix boolean add/mult\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f114e9f49f759d543d80950f39ff01cff00ddd32\"\u003e\u003ccode\u003ef114e9f\u003c/code\u003e\u003c/a\u003e Add nan handling to maximum/minimum\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f360f1240f460334c380bd1b81d38c5e38deefae\"\u003e\u003ccode\u003ef360f12\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES to reflect changes in functionality\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/6892ed6e87041eec9b8946370fd23a5a96fa8777\"\u003e\u003ccode\u003e6892ed6\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES for version 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/06c00df6d1adc289029905fb26f1009a0e179088\"\u003e\u003ccode\u003e06c00df\u003c/code\u003e\u003c/a\u003e Revise RELEASE_NOTES.rst for new features\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydata/numexpr/compare/v2.12.1...v2.13.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=numexpr\u0026package-manager=pip\u0026previous-version=2.12.1\u0026new-version=2.13.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/Martin-dq/Freqtrade-Martin/pull/12","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Martin-dq%2FFreqtrade-Martin/issues/12","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/12/packages"}},{"old_version":"2.10.2","new_version":"2.13.1","update_type":"minor","path":null,"pr_created_at":"2025-10-01T14:07:07.000Z","version_change":"2.10.2 → 2.13.1","issue":{"uuid":"2878404344","node_id":"PR_kwDOABwj4s6rkPb4","number":1258,"state":"open","title":"Bump the pip group with 5 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-10-01T14:07:07.000Z","updated_at":"2025-10-01T14:07:08.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"pip","update_count":5,"packages":[{"name":"numpy","old_version":"2.3.2","new_version":"2.3.3","repository_url":"https://github.com/numpy/numpy"},{"name":"numexpr","old_version":"2.10.2","new_version":"2.13.1","repository_url":"https://github.com/pydata/numexpr"},{"name":"blosc2","old_version":"3.6.1","new_version":"3.9.1","repository_url":"https://github.com/Blosc/python-blosc2"},{"name":"typing-extensions","old_version":"4.14.1","new_version":"4.15.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"ipython","old_version":"9.4.0","new_version":"9.6.0","repository_url":"https://github.com/ipython/ipython"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 5 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [numpy](https://github.com/numpy/numpy) | `2.3.2` | `2.3.3` |\n| [numexpr](https://github.com/pydata/numexpr) | `2.10.2` | `2.13.1` |\n| [blosc2](https://github.com/Blosc/python-blosc2) | `3.6.1` | `3.9.1` |\n| [typing-extensions](https://github.com/python/typing_extensions) | `4.14.1` | `4.15.0` |\n| [ipython](https://github.com/ipython/ipython) | `9.4.0` | `9.6.0` |\n\nUpdates `numpy` from 2.3.2 to 2.3.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.3.3 (Sep 9, 2025)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.3.3 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.3.3 release is a patch release split between a number of maintenance\nupdates and bug fixes. This release supports Python versions 3.11-3.14. Note\nthat the 3.14.0 final is currently expected in Oct, 2025. This release is based\non 3.14.0rc2.\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eA total of 13 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\u003eAleksandr A. Voyt +\u003c/li\u003e\n\u003cli\u003eBernard Roesler +\u003c/li\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eHunter Hogan +\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eMaanas Arora\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003eRaghuveer Devulapalli\u003c/li\u003e\n\u003cli\u003eSanjay Kumar Sakamuri Kamalakar +\u003c/li\u003e\n\u003cli\u003eTobias Markus +\u003c/li\u003e\n\u003cli\u003eWarren Weckesser\u003c/li\u003e\n\u003cli\u003eZebreus +\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 23 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/29440\"\u003e#29440\u003c/a\u003e: MAINT: Prepare 2.3.x for further development.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29446\"\u003e#29446\u003c/a\u003e: BUG: Fix test_configtool_pkgconfigdir to resolve PKG_CONFIG_DIR...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29447\"\u003e#29447\u003c/a\u003e: BLD: allow targeting webassembly without emscripten\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29460\"\u003e#29460\u003c/a\u003e: MAINT: Backport write_release.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29473\"\u003e#29473\u003c/a\u003e: MAINT: Bump pypa/cibuildwheel from 3.1.0 to 3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29500\"\u003e#29500\u003c/a\u003e: BUG: Always return a real dtype from linalg.cond (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/18304\"\u003egh-18304\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29333\"\u003e#29333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29501\"\u003e#29501\u003c/a\u003e: MAINT: Add .file entry to all .s SVML files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29556\"\u003e#29556\u003c/a\u003e: BUG: Casting from one timedelta64 to another didn't handle NAT.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29562\"\u003e#29562\u003c/a\u003e: BLD: update vendored Meson to 1.8.3 [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29563\"\u003e#29563\u003c/a\u003e: BUG: Fix metadata not roundtripping when pickling datetime (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29555\"\u003e#29555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29587\"\u003e#29587\u003c/a\u003e: TST: update link and version for Intel SDE download\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29593\"\u003e#29593\u003c/a\u003e: TYP: add \u003ccode\u003esorted\u003c/code\u003e kwarg to \u003ccode\u003eunique\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29672\"\u003e#29672\u003c/a\u003e: MAINT: Update pythoncapi-compat from main.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29673\"\u003e#29673\u003c/a\u003e: MAINT: Update cibuildwheel.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29674\"\u003e#29674\u003c/a\u003e: MAINT: Fix typo in wheels.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29683\"\u003e#29683\u003c/a\u003e: BUG, BLD: Correct regex for ppc64 VSX3/VSX4 feature detection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29684\"\u003e#29684\u003c/a\u003e: TYP: ndarray.fill() takes no keyword arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29685\"\u003e#29685\u003c/a\u003e: BUG: avoid thread-unsafe refcount check in temp elision\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29687\"\u003e#29687\u003c/a\u003e: CI: replace comment-hider action in mypy_primer workflow\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/f2a77a76e08719556527e0819182073fe9b5f1c3\"\u003e\u003ccode\u003ef2a77a7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29702\"\u003e#29702\u003c/a\u003e from charris/prepare-2.3.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/8641006104c02492ced251c707c88611621db9e8\"\u003e\u003ccode\u003e8641006\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.3.3 release [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f024265b1aec949ab7d59a9bb82614fae0701255\"\u003e\u003ccode\u003ef024265\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29701\"\u003e#29701\u003c/a\u003e from charris/backport-29697\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/84f2eedb58c4a7370e0d4865a2b11e0420cdf634\"\u003e\u003ccode\u003e84f2eed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29700\"\u003e#29700\u003c/a\u003e from charris/backport-29695\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7cacdbf8855fd6da6a7d116bebd896b393e4f441\"\u003e\u003ccode\u003e7cacdbf\u003c/code\u003e\u003c/a\u003e Update VXE and VXE2 detection regex patterns\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/028c46989fee6f8dfc1192d4f71c277deae0c4f9\"\u003e\u003ccode\u003e028c469\u003c/code\u003e\u003c/a\u003e TYP: appease ruff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/4b80666b63d7779e2509d0690f68a977528268a9\"\u003e\u003ccode\u003e4b80666\u003c/code\u003e\u003c/a\u003e TYP: fix \u003ccode\u003enp.bool\u003c/code\u003e method declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f2a6b75df162d9a0904b0dbc07b707020fe9d1d5\"\u003e\u003ccode\u003ef2a6b75\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29691\"\u003e#29691\u003c/a\u003e from charris/backport-29665\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/a707cbf5e36c9316099f6ae471718d98a18170f5\"\u003e\u003ccode\u003ea707cbf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29689\"\u003e#29689\u003c/a\u003e from charris/backport-29662\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/3d66056fa31a89fefb632229eb21f21d63cd8964\"\u003e\u003ccode\u003e3d66056\u003c/code\u003e\u003c/a\u003e BUG: use correct input dtype in flatiter assignment\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.3.2...v2.3.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numexpr` from 2.10.2 to 2.13.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst\"\u003enumexpr's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges from 2.13.1 to 2.13.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eUnder development.\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.13.0 to 2.13.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePatch to maximum/minimum functions in order to match NumPy NaN handling\u003c/li\u003e\n\u003cli\u003ePatch to convert '+'-\u0026gt;'|' and '*'-\u0026gt;'\u0026amp;' for booleans\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.12.1 to 2.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNew functionality has been added:\u003c/li\u003e\n\u003cli\u003eBitwise operators (and, or, not, xor): \u003ccode\u003e\u0026amp;, |, ~, ^\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNew binary arithmetic operator for floor division: \u003ccode\u003e//\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eNew functions: \u003ccode\u003esignbit\u003c/code\u003e, \u003ccode\u003ehypot\u003c/code\u003e, \u003ccode\u003ecopysign\u003c/code\u003e, \u003ccode\u003enextafter\u003c/code\u003e, \u003ccode\u003emaximum\u003c/code\u003e, \u003ccode\u003eminimum\u003c/code\u003e, \u003ccode\u003elog2\u003c/code\u003e, \u003ccode\u003etrunc\u003c/code\u003e, \u003ccode\u003eround\u003c/code\u003e and \u003ccode\u003esign\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAlso enables integer outputs for integer inputs for \u003ccode\u003eabs\u003c/code\u003e, \u003ccode\u003ecopy\u003c/code\u003e, \u003ccode\u003eones_like\u003c/code\u003e, \u003ccode\u003esign\u003c/code\u003e and \u003ccode\u003eround\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to Luke Shaw for the contributions.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNew wheels for Python 3.14 and 3.14t are provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.12.0 to 2.12.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded complex counterparts for isnan/isfinite/isinf functions.\nThanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated documentation for the new functions and instructions\nfor adding new functions to the virtual machine.  Thanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed MKL support; it was broken in 2.12.0.  Thanks to\nChristoph Gohlke for reporting the issue.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 2.11.0 to 2.12.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded isnan/isfinite/isinf functions.  Thanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew instructions for adding new functions to the virtual machine.\nThey are available at ADDFUNCS.rst.  Thanks to Luke Shaw.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWe are distributing binary wheels for Python 3.14 and 3.14t now.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWe are distributing musllinux wheels too!  Thanks to Clément Robert.\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/pydata/numexpr/commit/64eb4e1ec1a2591621ac353d251ed7946b6bc188\"\u003e\u003ccode\u003e64eb4e1\u003c/code\u003e\u003c/a\u003e Correct version number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/93b9fee8862d31db94cc38202b8926c18e2f232c\"\u003e\u003ccode\u003e93b9fee\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/aefd3e62f3a7e18362c83c6e22baf416e2c7d668\"\u003e\u003ccode\u003eaefd3e6\u003c/code\u003e\u003c/a\u003e Announcing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/9b071c2de24657b9bdcca91f4f04fe47dce36449\"\u003e\u003ccode\u003e9b071c2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/536\"\u003e#536\u003c/a\u003e from pydata/fix_funcbugs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/780908af3daf970391715bced9621f06157307cc\"\u003e\u003ccode\u003e780908a\u003c/code\u003e\u003c/a\u003e Make test stricter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f1487d4dc52f141e21eeeaff6fbbdc06755b65da\"\u003e\u003ccode\u003ef1487d4\u003c/code\u003e\u003c/a\u003e Fix boolean add/mult\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f114e9f49f759d543d80950f39ff01cff00ddd32\"\u003e\u003ccode\u003ef114e9f\u003c/code\u003e\u003c/a\u003e Add nan handling to maximum/minimum\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f360f1240f460334c380bd1b81d38c5e38deefae\"\u003e\u003ccode\u003ef360f12\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES to reflect changes in functionality\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/6892ed6e87041eec9b8946370fd23a5a96fa8777\"\u003e\u003ccode\u003e6892ed6\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES for version 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/06c00df6d1adc289029905fb26f1009a0e179088\"\u003e\u003ccode\u003e06c00df\u003c/code\u003e\u003c/a\u003e Revise RELEASE_NOTES.rst for new features\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydata/numexpr/compare/v2.10.2...v2.13.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `blosc2` from 3.6.1 to 3.9.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Blosc/python-blosc2/releases\"\u003eblosc2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eBlosc2 v3.9.1\u003c/h2\u003e\n\u003ch2\u003eChanges from 3.9.0 to 3.9.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBumped to numexpr 2.13.1 to incorporate new maximum/minimum NaN handling and +/* for booleans\nwhich matches NumPy behaviour.\u003c/li\u003e\n\u003cli\u003eRefactoring in order to ensure Blosc2 functions with NumPy 1.26.\u003c/li\u003e\n\u003cli\u003eStreamlined documentation by introducing Array Protocol\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBlosc2 v3.9.0\u003c/h2\u003e\n\u003cp\u003eMost changes come from PR \u003ca href=\"https://redirect.github.com/Blosc/python-blosc2/issues/467\"\u003e#467\u003c/a\u003e relating to array-api compliance.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eC-Blosc2 internal library updated to latest 2.21.3, increasing MAX_DIMS from 8 to 16\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003enumexpr version requirement pushed to 2.13.0 to incorporate \u003ccode\u003eround\u003c/code\u003e, \u003ccode\u003esign\u003c/code\u003e, \u003ccode\u003esignbit\u003c/code\u003e, \u003ccode\u003ecopysign\u003c/code\u003e, \u003ccode\u003enextafter\u003c/code\u003e, \u003ccode\u003ehypot\u003c/code\u003e, \u003ccode\u003emaximum\u003c/code\u003e, \u003ccode\u003eminimum\u003c/code\u003e, \u003ccode\u003etrunc\u003c/code\u003e, \u003ccode\u003elog2\u003c/code\u003e functions, as well as allow integer outputs for certain functions when integr arguments are passed. We also add floor division (\u003ccode\u003e//\u003c/code\u003e) and full dual bitwise (logical) AND, OR, XOR, NOT\nsupport for integer (bool) arrays.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExtended linear algebra functionality, offering generalised matrix multiplication for arrays of arbitrary dimension via \u003ccode\u003etensordot\u003c/code\u003e and an improved \u003ccode\u003ematmul\u003c/code\u003e. In addition, introduced \u003ccode\u003evecdot\u003c/code\u003e, \u003ccode\u003ediagonal\u003c/code\u003e and \u003ccode\u003eouter\u003c/code\u003e, as well as useful indexing and associated functions such as \u003ccode\u003etake\u003c/code\u003e, \u003ccode\u003etake_along_axis\u003c/code\u003e, \u003ccode\u003emeshgrid\u003c/code\u003e and \u003ccode\u003ebroadcast_to\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded many ufuncs and methods (around 60) to \u003ccode\u003eNDArray\u003c/code\u003e to bring the library into further alignment with the array-api. Introduced a chunkwise lazyudf paradigm which is very powerful in order to implement \u003ccode\u003eclip\u003c/code\u003e and \u003ccode\u003elogaddexp\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed a subtle but important bug for \u003ccode\u003eexpand_dims\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/Blosc/python-blosc2/issues/479\"\u003e#479\u003c/a\u003e, PR \u003ca href=\"https://redirect.github.com/Blosc/python-blosc2/issues/483\"\u003e#483\u003c/a\u003e) relating to reference counting for views.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eVarious typos and other fixes due to \u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e !\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBlosc2 v3.8.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/Blosc/python-blosc2/pull/458\"\u003eBlosc/python-blosc2#458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eas_ffi_ptr\u003c/code\u003e to NDArray by \u003ca href=\"https://github.com/barakugav\"\u003e\u003ccode\u003e@​barakugav\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Blosc/python-blosc2/pull/460\"\u003eBlosc/python-blosc2#460\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFancy index by \u003ca href=\"https://github.com/lshaw8317\"\u003e\u003ccode\u003e@​lshaw8317\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Blosc/python-blosc2/pull/459\"\u003eBlosc/python-blosc2#459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-python from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/Blosc/python-blosc2/pull/463\"\u003eBlosc/python-blosc2#463\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit hooks 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/Blosc/python-blosc2/pull/462\"\u003eBlosc/python-blosc2#462\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eArray api by \u003ca href=\"https://github.com/lshaw8317\"\u003e\u003ccode\u003e@​lshaw8317\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Blosc/python-blosc2/pull/461\"\u003eBlosc/python-blosc2#461\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/barakugav\"\u003e\u003ccode\u003e@​barakugav\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Blosc/python-blosc2/pull/460\"\u003eBlosc/python-blosc2#460\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Blosc/python-blosc2/compare/v3.7.2...v3.8.0\"\u003ehttps://github.com/Blosc/python-blosc2/compare/v3.7.2...v3.8.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eRelease 3.7.2\u003c/h2\u003e\n\u003ch2\u003eChanges from 3.7.1 to 3.7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eC-Blosc2 internal library updated to latest 2.21.1.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRevert signature of \u003ccode\u003eTreeStore.__init__\u003c/code\u003e for making benchmarks to get back\nto normal performance.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.7.1\u003c/h2\u003e\n\u003ch2\u003eChanges from 3.7.0 to 3.7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eC2Array.slice()\u003c/code\u003e method and \u003ccode\u003eC2Array.nbytes\u003c/code\u003e, \u003ccode\u003eC2Array.cbytes\u003c/code\u003e, \u003ccode\u003eC2Array.cratio\u003c/code\u003e, \u003ccode\u003eC2Array.vlmeta\u003c/code\u003e and \u003ccode\u003eC2Array.info\u003c/code\u003e properties (PR \u003ca href=\"https://redirect.github.com/Blosc/python-blosc2/issues/455\"\u003e#455\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/Blosc/python-blosc2/blob/main/RELEASE_NOTES.md\"\u003eblosc2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges from 3.9.1 to 3.9.2\u003c/h2\u003e\n\u003cp\u003eXXX version-specific blurb XXX\u003c/p\u003e\n\u003ch2\u003eChanges from 3.9.0 to 3.9.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBumped to numexpr 2.13.1 to incorporate new maximum/minimum NaN handling and +/* for booleans\nwhich matches NumPy behaviour.\u003c/li\u003e\n\u003cli\u003eRefactoring in order to ensure Blosc2 functions with NumPy 1.26.\u003c/li\u003e\n\u003cli\u003eStreamlined documentation by introducing Array Protocol\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 3.8.0 to 3.9.0\u003c/h2\u003e\n\u003cp\u003eMost changes come from PR \u003ca href=\"https://redirect.github.com/Blosc/python-blosc2/issues/467\"\u003e#467\u003c/a\u003e relating to array-api compliance.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eC-Blosc2 internal library updated to latest 2.21.3, increasing MAX_DIMS from 8 to 16\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003enumexpr version requirement pushed to 2.13.0 to incorporate\n\u003ccode\u003eround\u003c/code\u003e, \u003ccode\u003esign\u003c/code\u003e, \u003ccode\u003esignbit\u003c/code\u003e, \u003ccode\u003ecopysign\u003c/code\u003e, \u003ccode\u003enextafter\u003c/code\u003e, \u003ccode\u003ehypot\u003c/code\u003e,\n\u003ccode\u003emaximum\u003c/code\u003e, \u003ccode\u003eminimum\u003c/code\u003e, \u003ccode\u003etrunc\u003c/code\u003e, \u003ccode\u003elog2\u003c/code\u003e functions, as well as allow\ninteger outputs for certain functions when integr arguments are passed.\nWe also add floor division (\u003ccode\u003e//\u003c/code\u003e) and full dual bitwise (logical) AND, OR, XOR, NOT\nsupport for integer (bool) arrays.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExtended linear algebra functionality, offering generalised matrix multiplication\nfor arrays of arbitrary dimension via \u003ccode\u003etensordot\u003c/code\u003e and an improved \u003ccode\u003ematmul\u003c/code\u003e. In addition,\nintroduced \u003ccode\u003evecdot\u003c/code\u003e, \u003ccode\u003ediagonal\u003c/code\u003e and \u003ccode\u003eouter\u003c/code\u003e, as well as useful indexing and associated functions such as \u003ccode\u003etake\u003c/code\u003e, \u003ccode\u003etake_along_axis\u003c/code\u003e, \u003ccode\u003emeshgrid\u003c/code\u003e and \u003ccode\u003ebroadcast_to\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded many ufuncs and methods (around 60) to \u003ccode\u003eNDArray\u003c/code\u003e to bring the library into further alignment with the array-api. Introduced a chunkwise lazyudf paradigm which is very powerful in order to implement \u003ccode\u003eclip\u003c/code\u003e and \u003ccode\u003elogaddexp\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed a subtle but important bug for \u003ccode\u003eexpand_dims\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/Blosc/python-blosc2/issues/479\"\u003e#479\u003c/a\u003e, PR \u003ca href=\"https://redirect.github.com/Blosc/python-blosc2/issues/483\"\u003e#483\u003c/a\u003e) relating to reference counting for views.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 3.7.2 to 3.8.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eC-Blosc2 internal library updated to latest 2.21.2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003enumexpr version requirement pushed to 2.12.1 to incorporate\n\u003ccode\u003eisnan\u003c/code\u003e, \u003ccode\u003eisfinite\u003c/code\u003e, \u003ccode\u003eisinf\u003c/code\u003e functions.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIndexing is now supported extensively and reasonably optimally for slices\nwith negative steps and general boolean arrays, with both get/setitem having\nequal functionality. In PR \u003ca href=\"https://redirect.github.com/Blosc/python-blosc2/issues/459\"\u003e#459\u003c/a\u003e we extended the 1D fast path to general N-D,\nwith consequent speedups. In PR # we allowed fancy indexing and general slicing\nwith negative steps for set and getitem, with a memory-optimised path for setitem.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eVarious attributes and methods for the \u003ccode\u003eNDArray\u003c/code\u003e class, as well as functions, have\nbeen added to increase compliance with the array-api standard. In addition,\nlinspace and arange functions have been made more numerically stable and now strictly\ncomply even with difficult floating-point edge cases.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges from 3.7.1 to 3.7.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Blosc/python-blosc2/commit/08bf4b7bb5ac33f91ede06ce676d7ad2f09184d6\"\u003e\u003ccode\u003e08bf4b7\u003c/code\u003e\u003c/a\u003e Getting ready for release 3.9.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Blosc/python-blosc2/commit/cd50b14933930e7e648b4296493d61ce36fd3562\"\u003e\u003ccode\u003ecd50b14\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Blosc/python-blosc2/issues/490\"\u003e#490\u003c/a\u003e from Blosc/remove_addbool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Blosc/python-blosc2/commit/28beee38de516609d079ca5454c56bc35b53786e\"\u003e\u003ccode\u003e28beee3\u003c/code\u003e\u003c/a\u003e Use a SimpleProxy for avoiding unnecessary copies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Blosc/python-blosc2/commit/6c9856c12f78fcc1fb5ec612d1e54a5c4fdc8ec8\"\u003e\u003ccode\u003e6c9856c\u003c/code\u003e\u003c/a\u003e Add blosc2.asarray check for objects following Array protocol\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Blosc/python-blosc2/commit/e99ffa1fab67cfb75c986361dc1e6b670dc8e461\"\u003e\u003ccode\u003ee99ffa1\u003c/code\u003e\u003c/a\u003e Add test for objects following minimal Array protocol\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Blosc/python-blosc2/commit/7fbc01a53a9385fccb0613831d5021db0e14adb9\"\u003e\u003ccode\u003e7fbc01a\u003c/code\u003e\u003c/a\u003e Bump numexpr version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Blosc/python-blosc2/commit/caffe6f88b90ad8d8485d2299f0e3ade4102472c\"\u003e\u003ccode\u003ecaffe6f\u003c/code\u003e\u003c/a\u003e Fix ufunc position\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Blosc/python-blosc2/commit/15bec37effee62101b89aff9c93b009ca65727b6\"\u003e\u003ccode\u003e15bec37\u003c/code\u003e\u003c/a\u003e Remove boolean handling and unify LazyExpr/NDArray expr handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Blosc/python-blosc2/commit/d65ae7842651a1a021e8239daef303ddf9c9d768\"\u003e\u003ccode\u003ed65ae78\u003c/code\u003e\u003c/a\u003e Merge branch 'main' of github.com:Blosc/python-blosc2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Blosc/python-blosc2/commit/8758f79b52c87ab5ea765d495112a367986fd465\"\u003e\u003ccode\u003e8758f79\u003c/code\u003e\u003c/a\u003e Add tensordot bench\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Blosc/python-blosc2/compare/v3.6.1...v3.9.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typing-extensions` from 4.14.1 to 4.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/typing_extensions/releases\"\u003etyping-extensions's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.15.0\u003c/h2\u003e\n\u003cp\u003eNo user-facing changes since 4.15.0rc1.\u003c/p\u003e\n\u003cp\u003eNew features since 4.14.1:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.15.0rc1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/typing_extensions/blob/main/CHANGELOG.md\"\u003etyping-extensions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease 4.15.0 (August 25, 2025)\u003c/h1\u003e\n\u003cp\u003eNo user-facing changes since 4.15.0rc1.\u003c/p\u003e\n\u003ch1\u003eRelease 4.15.0rc1 (August 18, 2025)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\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/typing_extensions/commit/9d1637e264b5c1a6b7acee3e907015f89b20c2c9\"\u003e\u003ccode\u003e9d1637e\u003c/code\u003e\u003c/a\u003e Prepare release 4.15.0 (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/658\"\u003e#658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/4bd67c5be5d9443c7d33c314d02a56ee125eb88d\"\u003e\u003ccode\u003e4bd67c5\u003c/code\u003e\u003c/a\u003e Coverage: exclude some noise (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/656\"\u003e#656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/e589a26da73b075c5276bae40b86db1af0144f84\"\u003e\u003ccode\u003ee589a26\u003c/code\u003e\u003c/a\u003e Coverage: add detailed report to job summary (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/655\"\u003e#655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/67d37fed1298e050f74d5acc95b2621bd37837ad\"\u003e\u003ccode\u003e67d37fe\u003c/code\u003e\u003c/a\u003e Coverage: Implement fail_under (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/654\"\u003e#654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/e9ae26f5286edee9262727755ecb9ad16e999192\"\u003e\u003ccode\u003ee9ae26f\u003c/code\u003e\u003c/a\u003e Don't delete previous coverage comment (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/653\"\u003e#653\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/ac80bb728a3006fc88ef7373b92f0c25cfcc7895\"\u003e\u003ccode\u003eac80bb7\u003c/code\u003e\u003c/a\u003e Add Coverage workflow (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/623\"\u003e#623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/abaaafd98c1cc7e5baf098ec287a3d22cb339670\"\u003e\u003ccode\u003eabaaafd\u003c/code\u003e\u003c/a\u003e Prepare release 4.15.0rc1 (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/650\"\u003e#650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/98104053ea8d49bcdd247804e5fa9f73136acbd4\"\u003e\u003ccode\u003e9810405\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e@disjoint_base\u003c/code\u003e (PEP 800) (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/634\"\u003e#634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/7ee9e05fd484d06899ce56e80f5e1aa4c760fc03\"\u003e\u003ccode\u003e7ee9e05\u003c/code\u003e\u003c/a\u003e Backport type_params fix from CPython (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/646\"\u003e#646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/1e8eb9c06ef51b3a1e1f05303a16feca13f5ed98\"\u003e\u003ccode\u003e1e8eb9c\u003c/code\u003e\u003c/a\u003e Do not refer to PEP 705 as being experimental (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/648\"\u003e#648\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/typing_extensions/compare/4.14.1...4.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ipython` from 9.4.0 to 9.6.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/48b00eb07df8f7131838840d0cbfd2655d8ef83a\"\u003e\u003ccode\u003e48b00eb\u003c/code\u003e\u003c/a\u003e release 9.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/d87f745dec534f7176f995dcfdeb84b30a40e11d\"\u003e\u003ccode\u003ed87f745\u003c/code\u003e\u003c/a\u003e Add release notes for 9.6 (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/15002\"\u003e#15002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/cfacd05d0438eceaaa3ebe8ebf77b0c098703d6f\"\u003e\u003ccode\u003ecfacd05\u003c/code\u003e\u003c/a\u003e Type-guided partial evaluation for completion of unitialized variables (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/14993\"\u003e#14993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/7c971224f63bb3ba84147746d88d0c5321d53ca1\"\u003e\u003ccode\u003e7c97122\u003c/code\u003e\u003c/a\u003e Fix: Add support for forward_char as a keyboard shortcut (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/15003\"\u003e#15003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/521e98508b04268f92d4bd91ffa9379e172dde19\"\u003e\u003ccode\u003e521e985\u003c/code\u003e\u003c/a\u003e Fix missing command 'forward_char'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/64484bb424c155be04b1889a5a51489a1f8eb85b\"\u003e\u003ccode\u003e64484bb\u003c/code\u003e\u003c/a\u003e This will work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/f3a53d8cf0c936505fc5bed5b2f904d09c9b2cec\"\u003e\u003ccode\u003ef3a53d8\u003c/code\u003e\u003c/a\u003e Fix downstream further\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/c40b9ef5904be6d7a668a05cbc7448aab3abe631\"\u003e\u003ccode\u003ec40b9ef\u003c/code\u003e\u003c/a\u003e Add release notes for 9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/7c20fd6d733f4bc1a236e3acce31c6d50a3eef31\"\u003e\u003ccode\u003e7c20fd6\u003c/code\u003e\u003c/a\u003e Fix downstream compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/cc81ca15f550f98a94d5865be10db853da53fc2f\"\u003e\u003ccode\u003ecc81ca1\u003c/code\u003e\u003c/a\u003e Add module ignoring functionality to debugger (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/14973\"\u003e#14973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ipython/ipython/compare/9.4.0...9.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/PyTables/PyTables/pull/1258","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyTables%2FPyTables/issues/1258","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1258/packages"}},{"old_version":"2.13.0","new_version":"2.13.1","update_type":"patch","path":null,"pr_created_at":"2025-10-01T04:12:26.000Z","version_change":"2.13.0 → 2.13.1","issue":{"uuid":"2876792800","node_id":"PR_kwDOKLwT6M6reF_g","number":566,"state":"open","title":"Bump numexpr from 2.13.0 to 2.13.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-10-01T04:12:26.000Z","updated_at":"2025-10-01T04:12:27.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"numexpr","old_version":"2.13.0","new_version":"2.13.1","repository_url":"https://github.com/pydata/numexpr"}],"path":null,"ecosystem":"pip"},"body":"Bumps [numexpr](https://github.com/pydata/numexpr) from 2.13.0 to 2.13.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst\"\u003enumexpr's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges from 2.13.1 to 2.13.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eUnder development.\u003c/strong\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/pydata/numexpr/commit/64eb4e1ec1a2591621ac353d251ed7946b6bc188\"\u003e\u003ccode\u003e64eb4e1\u003c/code\u003e\u003c/a\u003e Correct version number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/93b9fee8862d31db94cc38202b8926c18e2f232c\"\u003e\u003ccode\u003e93b9fee\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/aefd3e62f3a7e18362c83c6e22baf416e2c7d668\"\u003e\u003ccode\u003eaefd3e6\u003c/code\u003e\u003c/a\u003e Announcing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/9b071c2de24657b9bdcca91f4f04fe47dce36449\"\u003e\u003ccode\u003e9b071c2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/536\"\u003e#536\u003c/a\u003e from pydata/fix_funcbugs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/780908af3daf970391715bced9621f06157307cc\"\u003e\u003ccode\u003e780908a\u003c/code\u003e\u003c/a\u003e Make test stricter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f1487d4dc52f141e21eeeaff6fbbdc06755b65da\"\u003e\u003ccode\u003ef1487d4\u003c/code\u003e\u003c/a\u003e Fix boolean add/mult\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f114e9f49f759d543d80950f39ff01cff00ddd32\"\u003e\u003ccode\u003ef114e9f\u003c/code\u003e\u003c/a\u003e Add nan handling to maximum/minimum\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f360f1240f460334c380bd1b81d38c5e38deefae\"\u003e\u003ccode\u003ef360f12\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES to reflect changes in functionality\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/6892ed6e87041eec9b8946370fd23a5a96fa8777\"\u003e\u003ccode\u003e6892ed6\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES for version 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/06c00df6d1adc289029905fb26f1009a0e179088\"\u003e\u003ccode\u003e06c00df\u003c/code\u003e\u003c/a\u003e Revise RELEASE_NOTES.rst for new features\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydata/numexpr/compare/v2.13.0...v2.13.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=numexpr\u0026package-manager=pip\u0026previous-version=2.13.0\u0026new-version=2.13.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/quantbelt/jupyter-quant/pull/566","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/quantbelt%2Fjupyter-quant/issues/566","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/566/packages"}},{"old_version":"2.13.0","new_version":"2.13.1","update_type":"patch","path":null,"pr_created_at":"2025-10-01T01:02:17.000Z","version_change":"2.13.0 → 2.13.1","issue":{"uuid":"2876478624","node_id":"PR_kwDODu5ynM6rc5Sg","number":4023,"state":"closed","title":"Bump numexpr from 2.13.0 to 2.13.1","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-10-01T05:58:37.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-01T01:02:17.000Z","updated_at":"2025-10-01T05:58:37.000Z","time_to_close":17780,"merged_at":"2025-10-01T05:58:37.000Z","merged_by":"rikardn","closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"numexpr","old_version":"2.13.0","new_version":"2.13.1","repository_url":"https://github.com/pydata/numexpr"}],"path":null,"ecosystem":"pip"},"body":"Bumps [numexpr](https://github.com/pydata/numexpr) from 2.13.0 to 2.13.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst\"\u003enumexpr's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges from 2.13.1 to 2.13.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eUnder development.\u003c/strong\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/pydata/numexpr/commit/64eb4e1ec1a2591621ac353d251ed7946b6bc188\"\u003e\u003ccode\u003e64eb4e1\u003c/code\u003e\u003c/a\u003e Correct version number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/93b9fee8862d31db94cc38202b8926c18e2f232c\"\u003e\u003ccode\u003e93b9fee\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/aefd3e62f3a7e18362c83c6e22baf416e2c7d668\"\u003e\u003ccode\u003eaefd3e6\u003c/code\u003e\u003c/a\u003e Announcing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/9b071c2de24657b9bdcca91f4f04fe47dce36449\"\u003e\u003ccode\u003e9b071c2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/536\"\u003e#536\u003c/a\u003e from pydata/fix_funcbugs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/780908af3daf970391715bced9621f06157307cc\"\u003e\u003ccode\u003e780908a\u003c/code\u003e\u003c/a\u003e Make test stricter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f1487d4dc52f141e21eeeaff6fbbdc06755b65da\"\u003e\u003ccode\u003ef1487d4\u003c/code\u003e\u003c/a\u003e Fix boolean add/mult\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f114e9f49f759d543d80950f39ff01cff00ddd32\"\u003e\u003ccode\u003ef114e9f\u003c/code\u003e\u003c/a\u003e Add nan handling to maximum/minimum\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f360f1240f460334c380bd1b81d38c5e38deefae\"\u003e\u003ccode\u003ef360f12\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES to reflect changes in functionality\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/6892ed6e87041eec9b8946370fd23a5a96fa8777\"\u003e\u003ccode\u003e6892ed6\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES for version 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/06c00df6d1adc289029905fb26f1009a0e179088\"\u003e\u003ccode\u003e06c00df\u003c/code\u003e\u003c/a\u003e Revise RELEASE_NOTES.rst for new features\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydata/numexpr/compare/v2.13.0...v2.13.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=numexpr\u0026package-manager=pip\u0026previous-version=2.13.0\u0026new-version=2.13.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/pharmpy/pharmpy/pull/4023","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pharmpy%2Fpharmpy/issues/4023","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4023/packages"}},{"old_version":"2.13.0","new_version":"2.13.1","update_type":"patch","path":null,"pr_created_at":"2025-10-01T00:35:45.000Z","version_change":"2.13.0 → 2.13.1","issue":{"uuid":"2876431932","node_id":"PR_kwDOAxHU6M6rct48","number":9215,"state":"closed","title":"Bump numexpr from 2.13.0 to 2.13.1","user":"dependabot[bot]","labels":["dependency update"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-10-02T00:06:04.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-01T00:35:45.000Z","updated_at":"2025-10-02T00:06:04.000Z","time_to_close":84619,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"numexpr","old_version":"2.13.0","new_version":"2.13.1","repository_url":"https://github.com/pydata/numexpr"}],"path":null,"ecosystem":"pip"},"body":"Bumps [numexpr](https://github.com/pydata/numexpr) from 2.13.0 to 2.13.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst\"\u003enumexpr's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges from 2.13.1 to 2.13.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eUnder development.\u003c/strong\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/pydata/numexpr/commit/64eb4e1ec1a2591621ac353d251ed7946b6bc188\"\u003e\u003ccode\u003e64eb4e1\u003c/code\u003e\u003c/a\u003e Correct version number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/93b9fee8862d31db94cc38202b8926c18e2f232c\"\u003e\u003ccode\u003e93b9fee\u003c/code\u003e\u003c/a\u003e Getting ready for release 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/aefd3e62f3a7e18362c83c6e22baf416e2c7d668\"\u003e\u003ccode\u003eaefd3e6\u003c/code\u003e\u003c/a\u003e Announcing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/9b071c2de24657b9bdcca91f4f04fe47dce36449\"\u003e\u003ccode\u003e9b071c2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pydata/numexpr/issues/536\"\u003e#536\u003c/a\u003e from pydata/fix_funcbugs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/780908af3daf970391715bced9621f06157307cc\"\u003e\u003ccode\u003e780908a\u003c/code\u003e\u003c/a\u003e Make test stricter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f1487d4dc52f141e21eeeaff6fbbdc06755b65da\"\u003e\u003ccode\u003ef1487d4\u003c/code\u003e\u003c/a\u003e Fix boolean add/mult\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f114e9f49f759d543d80950f39ff01cff00ddd32\"\u003e\u003ccode\u003ef114e9f\u003c/code\u003e\u003c/a\u003e Add nan handling to maximum/minimum\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/f360f1240f460334c380bd1b81d38c5e38deefae\"\u003e\u003ccode\u003ef360f12\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES to reflect changes in functionality\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/6892ed6e87041eec9b8946370fd23a5a96fa8777\"\u003e\u003ccode\u003e6892ed6\u003c/code\u003e\u003c/a\u003e Update RELEASE_NOTES for version 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydata/numexpr/commit/06c00df6d1adc289029905fb26f1009a0e179088\"\u003e\u003ccode\u003e06c00df\u003c/code\u003e\u003c/a\u003e Revise RELEASE_NOTES.rst for new features\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydata/numexpr/compare/v2.13.0...v2.13.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=numexpr\u0026package-manager=pip\u0026previous-version=2.13.0\u0026new-version=2.13.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/Harmon758/Harmonbot/pull/9215","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Harmon758%2FHarmonbot/issues/9215","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9215/packages"}}]}