{"id":852,"name":"ipywidgets","ecosystem":"pip","repository_url":"https://github.com/jupyter-widgets/ipywidgets","issues_count":246,"created_at":"2025-06-06T15:01:38.102Z","updated_at":"2025-06-06T15:01:38.102Z","purl":"pkg:pypi/ipywidgets","metadata":{"id":2769798,"name":"ipywidgets","ecosystem":"pypi","description":"Jupyter interactive widgets","homepage":"http://jupyter.org","licenses":"BSD 3-Clause License","normalized_licenses":["BSD-1-Clause"],"repository_url":"https://github.com/jupyter-widgets/ipywidgets","keywords_array":["Interactive","Interpreter","Shell","Web","ipython","widgets","Jupyter"],"namespace":null,"versions_count":164,"first_release_published_at":"2016-04-15T00:48:30.000Z","latest_release_published_at":"2025-05-05T12:41:56.000Z","latest_release_number":"8.1.7","last_synced_at":"2025-06-05T21:00:27.314Z","created_at":"2022-04-10T11:20:09.294Z","updated_at":"2025-06-05T21:00:27.314Z","registry_url":"https://pypi.org/project/ipywidgets/","install_command":"pip install ipywidgets --index-url https://pypi.org/simple","documentation_url":"https://ipywidgets.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Framework :: Jupyter","Intended Audience :: Developers","Intended Audience :: Science/Research","Intended Audience :: System Administrators","License :: OSI Approved :: BSD License","Programming Language :: Python","Programming Language :: Python :: 3","Programming Language :: Python :: 3 :: Only","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.13","Programming Language :: Python :: 3.9"],"normalized_name":"ipywidgets"},"repo_metadata":{"id":30583547,"uuid":"34138622","full_name":"jupyter-widgets/ipywidgets","owner":"jupyter-widgets","description":"Interactive Widgets for the Jupyter Notebook","archived":false,"fork":false,"pushed_at":"2024-10-22T09:21:35.000Z","size":37988,"stargazers_count":3155,"open_issues_count":762,"forks_count":951,"subscribers_count":78,"default_branch":"main","last_synced_at":"2024-10-29T11:12:53.497Z","etag":null,"topics":["jupyter-notebooks","jupyterlab-extension"],"latest_commit_sha":null,"homepage":"https://ipywidgets.readthedocs.io","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jupyter-widgets.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-04-17T20:29:25.000Z","updated_at":"2024-10-29T01:37:19.000Z","dependencies_parsed_at":"2023-09-22T11:51:13.676Z","dependency_job_id":"e99e5d17-313c-4f7f-80ba-f45054d55b44","html_url":"https://github.com/jupyter-widgets/ipywidgets","commit_stats":{"total_commits":5764,"total_committers":214,"mean_commits":"26.934579439252335","dds":0.6887578070784177,"last_synced_commit":"511663a56324cea5324f49a65ebe25e2f1b04d87"},"previous_names":["ipython/ipywidgets"],"tags_count":1244,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jupyter-widgets","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222092044,"owners_count":16929771,"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":"jupyter-widgets","name":"Jupyter Widgets","uuid":"25869250","kind":"organization","description":"Interactive Widgets for the Jupyter Notebook","email":null,"website":"https://jupyter.org/","location":"Earth","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/25869250?v=4","repositories_count":11,"last_synced_at":"2024-04-08T14:59:33.910Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/jupyter-widgets","funding_links":[],"total_stars":6473,"followers":92,"following":0,"created_at":"2022-11-02T16:23:26.857Z","updated_at":"2024-04-08T14:59:37.690Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jupyter-widgets","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jupyter-widgets/repositories"},"tags":[{"name":"8.1.2","sha":"4d93d8eff1bd88faf1e8906c50a80718fd57f867","kind":"commit","published_at":"2024-02-08T15:34:13.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/8.1.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/8.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.1.2/manifests"},{"name":"7.8.1","sha":"209016f1a57fcddc682861caa1ff92edad7abaff","kind":"commit","published_at":"2023-09-13T09:45:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.8.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.8.1/manifests"},{"name":"8.1.1","sha":"9cf8348dc8ebb94f41ee75260a6fe85f217bafaa","kind":"commit","published_at":"2023-09-13T08:10:56.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/8.1.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/8.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.1.1/manifests"},{"name":"8.1.0","sha":"d74e277ff7a4217eeef4c305362bf26cf1cb66b2","kind":"commit","published_at":"2023-08-01T07:37:01.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/8.1.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/8.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.1.0/manifests"},{"name":"7.8.0","sha":"a2147e25d4cfb4ae0d4204e80e4dae3cb4be4479","kind":"commit","published_at":"2023-07-31T10:25:36.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.8.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.8.0/manifests"},{"name":"8.0.7","sha":"b728926f58ed3ffef08f716998ac6c226dafc1aa","kind":"commit","published_at":"2023-07-04T15:16:35.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/8.0.7","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/8.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.7/manifests"},{"name":"8.0.6","sha":"95250d2342d2cbe66595c5758b4f92d47bc7da5a","kind":"commit","published_at":"2023-03-28T15:19:11.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/8.0.6","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/8.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.6/manifests"},{"name":"7.7.5","sha":"db8a7fd2b2da39c4f54a018005a147e842911746","kind":"commit","published_at":"2023-03-28T15:03:52.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.7.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.7.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.7.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.7.5/manifests"},{"name":"@jupyter-widgets/example-web2@6.1.4","sha":"63c36eba9b746bd2d4d203cb1d98a542f2ca4b3f","kind":"tag","published_at":"2023-03-28T14:53:59.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@6.1.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@6.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@6.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@6.1.4/manifests"},{"name":"@jupyter-widgets/output@4.1.4","sha":"63c36eba9b746bd2d4d203cb1d98a542f2ca4b3f","kind":"tag","published_at":"2023-03-28T14:53:59.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@4.1.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@4.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@4.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@4.1.4/manifests"},{"name":"@jupyter-widgets/notebook-manager@6.1.4","sha":"63c36eba9b746bd2d4d203cb1d98a542f2ca4b3f","kind":"tag","published_at":"2023-03-28T14:53:59.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@6.1.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@6.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@6.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@6.1.4/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@3.1.4","sha":"63c36eba9b746bd2d4d203cb1d98a542f2ca4b3f","kind":"tag","published_at":"2023-03-28T14:53:59.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@3.1.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@3.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@3.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@3.1.4/manifests"},{"name":"@jupyter-widgets/html-manager@0.20.5","sha":"63c36eba9b746bd2d4d203cb1d98a542f2ca4b3f","kind":"tag","published_at":"2023-03-28T14:53:59.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.20.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.20.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.20.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.20.5/manifests"},{"name":"@jupyter-widgets/example-web4@6.1.4","sha":"63c36eba9b746bd2d4d203cb1d98a542f2ca4b3f","kind":"tag","published_at":"2023-03-28T14:53:59.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@6.1.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@6.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@6.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@6.1.4/manifests"},{"name":"@jupyter-widgets/example-web3@6.1.4","sha":"63c36eba9b746bd2d4d203cb1d98a542f2ca4b3f","kind":"tag","published_at":"2023-03-28T14:53:59.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@6.1.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@6.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@6.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@6.1.4/manifests"},{"name":"@jupyter-widgets/example-web1@6.1.4","sha":"63c36eba9b746bd2d4d203cb1d98a542f2ca4b3f","kind":"tag","published_at":"2023-03-28T14:53:59.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@6.1.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@6.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@6.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@6.1.4/manifests"},{"name":"@jupyter-widgets/controls@3.1.4","sha":"63c36eba9b746bd2d4d203cb1d98a542f2ca4b3f","kind":"tag","published_at":"2023-03-28T14:53:59.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@3.1.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@3.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@3.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@3.1.4/manifests"},{"name":"@jupyter-widgets/base@4.1.4","sha":"63c36eba9b746bd2d4d203cb1d98a542f2ca4b3f","kind":"tag","published_at":"2023-03-28T14:53:59.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@4.1.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@4.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@4.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@4.1.4/manifests"},{"name":"7.7.4","sha":"c5fac25d17a93faf7bea66f5d103c605a9f19ddb","kind":"commit","published_at":"2023-03-21T15:36:52.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.7.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.7.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.7.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.7.4/manifests"},{"name":"@jupyter-widgets/example-web4@6.1.3","sha":"5d9f6488235d480b42d4380532804121504e9c93","kind":"tag","published_at":"2023-03-21T15:33:03.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@6.1.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@6.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@6.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@6.1.3/manifests"},{"name":"@jupyter-widgets/html-manager@0.20.4","sha":"5d9f6488235d480b42d4380532804121504e9c93","kind":"tag","published_at":"2023-03-21T15:33:03.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.20.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.20.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.20.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.20.4/manifests"},{"name":"@jupyter-widgets/base@4.1.3","sha":"5d9f6488235d480b42d4380532804121504e9c93","kind":"tag","published_at":"2023-03-21T15:33:03.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@4.1.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@4.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@4.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@4.1.3/manifests"},{"name":"@jupyter-widgets/example-web1@6.1.3","sha":"5d9f6488235d480b42d4380532804121504e9c93","kind":"tag","published_at":"2023-03-21T15:33:03.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@6.1.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@6.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@6.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@6.1.3/manifests"},{"name":"@jupyter-widgets/output@4.1.3","sha":"5d9f6488235d480b42d4380532804121504e9c93","kind":"tag","published_at":"2023-03-21T15:33:03.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@4.1.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@4.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@4.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@4.1.3/manifests"},{"name":"@jupyter-widgets/example-web2@6.1.3","sha":"5d9f6488235d480b42d4380532804121504e9c93","kind":"tag","published_at":"2023-03-21T15:33:03.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@6.1.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@6.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@6.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@6.1.3/manifests"},{"name":"@jupyter-widgets/notebook-manager@6.1.3","sha":"5d9f6488235d480b42d4380532804121504e9c93","kind":"tag","published_at":"2023-03-21T15:33:03.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@6.1.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@6.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@6.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@6.1.3/manifests"},{"name":"@jupyter-widgets/example-web3@6.1.3","sha":"5d9f6488235d480b42d4380532804121504e9c93","kind":"tag","published_at":"2023-03-21T15:33:03.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@6.1.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@6.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@6.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@6.1.3/manifests"},{"name":"@jupyter-widgets/controls@3.1.3","sha":"5d9f6488235d480b42d4380532804121504e9c93","kind":"tag","published_at":"2023-03-21T15:33:03.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@3.1.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@3.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@3.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@3.1.3/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@3.1.3","sha":"5d9f6488235d480b42d4380532804121504e9c93","kind":"tag","published_at":"2023-03-21T15:33:03.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@3.1.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@3.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@3.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@3.1.3/manifests"},{"name":"8.0.5","sha":"e50d3e4abb387584072041610aeb379bd3bcbe26","kind":"commit","published_at":"2023-03-21T15:13:21.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/8.0.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/8.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.5/manifests"},{"name":"@jupyter-widgets/base-manager@1.0.4","sha":"87ff6e93015ee8545d60b647c313f0e369608f35","kind":"tag","published_at":"2023-03-21T15:02:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base-manager@1.0.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base-manager@1.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase-manager@1.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase-manager@1.0.4/manifests"},{"name":"@jupyter-widgets/schema@0.5.2","sha":"87ff6e93015ee8545d60b647c313f0e369608f35","kind":"tag","published_at":"2023-03-21T15:02:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/schema@0.5.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/schema@0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.5.2/manifests"},{"name":"@jupyter-widgets/output@6.0.3","sha":"87ff6e93015ee8545d60b647c313f0e369608f35","kind":"tag","published_at":"2023-03-21T15:02:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@6.0.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@6.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@6.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@6.0.3/manifests"},{"name":"@jupyter-widgets/notebook-manager@8.0.6","sha":"87ff6e93015ee8545d60b647c313f0e369608f35","kind":"tag","published_at":"2023-03-21T15:02:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@8.0.6","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@8.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@8.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@8.0.6/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@5.0.6","sha":"87ff6e93015ee8545d60b647c313f0e369608f35","kind":"tag","published_at":"2023-03-21T15:02:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@5.0.6","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@5.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@5.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@5.0.6/manifests"},{"name":"@jupyter-widgets/html-manager@1.0.6","sha":"87ff6e93015ee8545d60b647c313f0e369608f35","kind":"tag","published_at":"2023-03-21T15:02:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@1.0.6","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@1.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@1.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@1.0.6/manifests"},{"name":"@jupyter-widgets/example-web4@8.0.6","sha":"87ff6e93015ee8545d60b647c313f0e369608f35","kind":"tag","published_at":"2023-03-21T15:02:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@8.0.6","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@8.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@8.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@8.0.6/manifests"},{"name":"@jupyter-widgets/example-web3@8.0.6","sha":"87ff6e93015ee8545d60b647c313f0e369608f35","kind":"tag","published_at":"2023-03-21T15:02:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@8.0.6","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@8.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@8.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@8.0.6/manifests"},{"name":"@jupyter-widgets/example-web2@8.0.5","sha":"87ff6e93015ee8545d60b647c313f0e369608f35","kind":"tag","published_at":"2023-03-21T15:02:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@8.0.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@8.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@8.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@8.0.5/manifests"},{"name":"@jupyter-widgets/example-web1@8.0.5","sha":"87ff6e93015ee8545d60b647c313f0e369608f35","kind":"tag","published_at":"2023-03-21T15:02:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@8.0.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@8.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@8.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@8.0.5/manifests"},{"name":"@jupyter-widgets/controls@5.0.4","sha":"87ff6e93015ee8545d60b647c313f0e369608f35","kind":"tag","published_at":"2023-03-21T15:02:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@5.0.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@5.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@5.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@5.0.4/manifests"},{"name":"@jupyter-widgets/base@6.0.3","sha":"87ff6e93015ee8545d60b647c313f0e369608f35","kind":"tag","published_at":"2023-03-21T15:02:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@6.0.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@6.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@6.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@6.0.3/manifests"},{"name":"7.7.3","sha":"64a5f8eddfaa2fd2a26b964e6888e2a6b8147ed9","kind":"commit","published_at":"2023-02-09T15:31:45.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.7.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.7.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.7.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.7.3/manifests"},{"name":"@jupyter-widgets/notebook-manager@6.1.2","sha":"8ac734c744e761cab1c28e741d0bc61613ff5327","kind":"tag","published_at":"2023-02-09T15:16:20.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@6.1.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@6.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@6.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@6.1.2/manifests"},{"name":"@jupyter-widgets/base@4.1.2","sha":"8ac734c744e761cab1c28e741d0bc61613ff5327","kind":"tag","published_at":"2023-02-09T15:16:20.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@4.1.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@4.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@4.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@4.1.2/manifests"},{"name":"@jupyter-widgets/controls@3.1.2","sha":"8ac734c744e761cab1c28e741d0bc61613ff5327","kind":"tag","published_at":"2023-02-09T15:16:20.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@3.1.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@3.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@3.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@3.1.2/manifests"},{"name":"@jupyter-widgets/example-web4@6.1.2","sha":"8ac734c744e761cab1c28e741d0bc61613ff5327","kind":"tag","published_at":"2023-02-09T15:16:20.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@6.1.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@6.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@6.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@6.1.2/manifests"},{"name":"@jupyter-widgets/html-manager@0.20.3","sha":"8ac734c744e761cab1c28e741d0bc61613ff5327","kind":"tag","published_at":"2023-02-09T15:16:20.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.20.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.20.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.20.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.20.3/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@3.1.2","sha":"8ac734c744e761cab1c28e741d0bc61613ff5327","kind":"tag","published_at":"2023-02-09T15:16:20.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@3.1.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@3.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@3.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@3.1.2/manifests"},{"name":"@jupyter-widgets/output@4.1.2","sha":"8ac734c744e761cab1c28e741d0bc61613ff5327","kind":"tag","published_at":"2023-02-09T15:16:20.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@4.1.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@4.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@4.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@4.1.2/manifests"},{"name":"@jupyter-widgets/example-web3@6.1.2","sha":"8ac734c744e761cab1c28e741d0bc61613ff5327","kind":"tag","published_at":"2023-02-09T15:16:19.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@6.1.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@6.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@6.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@6.1.2/manifests"},{"name":"@jupyter-widgets/example-web2@6.1.2","sha":"8ac734c744e761cab1c28e741d0bc61613ff5327","kind":"tag","published_at":"2023-02-09T15:16:19.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@6.1.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@6.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@6.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@6.1.2/manifests"},{"name":"@jupyter-widgets/example-web1@6.1.2","sha":"8ac734c744e761cab1c28e741d0bc61613ff5327","kind":"tag","published_at":"2023-02-09T15:16:19.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@6.1.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@6.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@6.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@6.1.2/manifests"},{"name":"8.0.4","sha":"17f99c8d980389b34ff9ab5fbc909ccb1a997da6","kind":"commit","published_at":"2022-12-22T09:15:38.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/8.0.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/8.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.4/manifests"},{"name":"@jupyter-widgets/example-web4@8.0.5","sha":"71da1d744880ff7988fba25ef8c21a5fcc097dc6","kind":"tag","published_at":"2022-12-22T09:04:35.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@8.0.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@8.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@8.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@8.0.5/manifests"},{"name":"@jupyter-widgets/example-web3@8.0.5","sha":"71da1d744880ff7988fba25ef8c21a5fcc097dc6","kind":"tag","published_at":"2022-12-22T09:04:35.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@8.0.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@8.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@8.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@8.0.5/manifests"},{"name":"@jupyter-widgets/example-web2@8.0.4","sha":"71da1d744880ff7988fba25ef8c21a5fcc097dc6","kind":"tag","published_at":"2022-12-22T09:04:35.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@8.0.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@8.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@8.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@8.0.4/manifests"},{"name":"@jupyter-widgets/example-web1@8.0.4","sha":"71da1d744880ff7988fba25ef8c21a5fcc097dc6","kind":"tag","published_at":"2022-12-22T09:04:35.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@8.0.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@8.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@8.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@8.0.4/manifests"},{"name":"@jupyter-widgets/controls@5.0.3","sha":"71da1d744880ff7988fba25ef8c21a5fcc097dc6","kind":"tag","published_at":"2022-12-22T09:04:35.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@5.0.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@5.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@5.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@5.0.3/manifests"},{"name":"@jupyter-widgets/notebook-manager@8.0.5","sha":"71da1d744880ff7988fba25ef8c21a5fcc097dc6","kind":"tag","published_at":"2022-12-22T09:04:35.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@8.0.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@8.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@8.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@8.0.5/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@5.0.5","sha":"71da1d744880ff7988fba25ef8c21a5fcc097dc6","kind":"tag","published_at":"2022-12-22T09:04:35.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@5.0.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@5.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@5.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@5.0.5/manifests"},{"name":"@jupyter-widgets/html-manager@1.0.5","sha":"71da1d744880ff7988fba25ef8c21a5fcc097dc6","kind":"tag","published_at":"2022-12-22T09:04:35.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@1.0.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@1.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@1.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@1.0.5/manifests"},{"name":"8.0.3","sha":"bc640a4a59d2faeab5d04f6aae0bc40349bca749","kind":"commit","published_at":"2022-12-07T12:27:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/8.0.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/8.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.3/manifests"},{"name":"@jupyter-widgets/example-web4@8.0.4","sha":"204e65a24dd9f0aa84df18509c7bf2377c55d266","kind":"tag","published_at":"2022-12-07T12:11:39.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@8.0.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@8.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@8.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@8.0.4/manifests"},{"name":"@jupyter-widgets/output@6.0.2","sha":"204e65a24dd9f0aa84df18509c7bf2377c55d266","kind":"tag","published_at":"2022-12-07T12:11:39.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@6.0.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@6.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@6.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@6.0.2/manifests"},{"name":"@jupyter-widgets/notebook-manager@8.0.4","sha":"204e65a24dd9f0aa84df18509c7bf2377c55d266","kind":"tag","published_at":"2022-12-07T12:11:39.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@8.0.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@8.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@8.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@8.0.4/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@5.0.4","sha":"204e65a24dd9f0aa84df18509c7bf2377c55d266","kind":"tag","published_at":"2022-12-07T12:11:39.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@5.0.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@5.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@5.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@5.0.4/manifests"},{"name":"@jupyter-widgets/html-manager@1.0.4","sha":"204e65a24dd9f0aa84df18509c7bf2377c55d266","kind":"tag","published_at":"2022-12-07T12:11:39.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@1.0.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@1.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@1.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@1.0.4/manifests"},{"name":"@jupyter-widgets/example-web3@8.0.4","sha":"204e65a24dd9f0aa84df18509c7bf2377c55d266","kind":"tag","published_at":"2022-12-07T12:11:39.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@8.0.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@8.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@8.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@8.0.4/manifests"},{"name":"@jupyter-widgets/example-web2@8.0.3","sha":"204e65a24dd9f0aa84df18509c7bf2377c55d266","kind":"tag","published_at":"2022-12-07T12:11:39.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@8.0.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@8.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@8.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@8.0.3/manifests"},{"name":"@jupyter-widgets/example-web1@8.0.3","sha":"204e65a24dd9f0aa84df18509c7bf2377c55d266","kind":"tag","published_at":"2022-12-07T12:11:39.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@8.0.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@8.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@8.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@8.0.3/manifests"},{"name":"@jupyter-widgets/controls@5.0.2","sha":"204e65a24dd9f0aa84df18509c7bf2377c55d266","kind":"tag","published_at":"2022-12-07T12:11:39.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@5.0.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@5.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@5.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@5.0.2/manifests"},{"name":"@jupyter-widgets/base-manager@1.0.3","sha":"204e65a24dd9f0aa84df18509c7bf2377c55d266","kind":"tag","published_at":"2022-12-07T12:11:39.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base-manager@1.0.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base-manager@1.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase-manager@1.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase-manager@1.0.3/manifests"},{"name":"@jupyter-widgets/base@6.0.2","sha":"204e65a24dd9f0aa84df18509c7bf2377c55d266","kind":"tag","published_at":"2022-12-07T12:11:39.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@6.0.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@6.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@6.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@6.0.2/manifests"},{"name":"8.0.2","sha":"6f935786223af04849218546408849b15ea1d8f2","kind":"commit","published_at":"2022-09-02T18:41:02.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/8.0.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/8.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.2/manifests"},{"name":"@jupyter-widgets/output@6.0.1","sha":"0688d8ce35c44c513de49bdc460cd776e6f21d98","kind":"tag","published_at":"2022-09-02T18:35:12.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@6.0.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@6.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@6.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@6.0.1/manifests"},{"name":"@jupyter-widgets/notebook-manager@8.0.3","sha":"0688d8ce35c44c513de49bdc460cd776e6f21d98","kind":"tag","published_at":"2022-09-02T18:35:12.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@8.0.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@8.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@8.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@8.0.3/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@5.0.3","sha":"0688d8ce35c44c513de49bdc460cd776e6f21d98","kind":"tag","published_at":"2022-09-02T18:35:12.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@5.0.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@5.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@5.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@5.0.3/manifests"},{"name":"@jupyter-widgets/html-manager@1.0.3","sha":"0688d8ce35c44c513de49bdc460cd776e6f21d98","kind":"tag","published_at":"2022-09-02T18:35:12.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@1.0.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@1.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@1.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@1.0.3/manifests"},{"name":"@jupyter-widgets/example-web4@8.0.3","sha":"0688d8ce35c44c513de49bdc460cd776e6f21d98","kind":"tag","published_at":"2022-09-02T18:35:12.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@8.0.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@8.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@8.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@8.0.3/manifests"},{"name":"@jupyter-widgets/example-web3@8.0.3","sha":"0688d8ce35c44c513de49bdc460cd776e6f21d98","kind":"tag","published_at":"2022-09-02T18:35:12.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@8.0.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@8.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@8.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@8.0.3/manifests"},{"name":"@jupyter-widgets/example-web2@8.0.2","sha":"0688d8ce35c44c513de49bdc460cd776e6f21d98","kind":"tag","published_at":"2022-09-02T18:35:12.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@8.0.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@8.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@8.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@8.0.2/manifests"},{"name":"@jupyter-widgets/example-web1@8.0.2","sha":"0688d8ce35c44c513de49bdc460cd776e6f21d98","kind":"tag","published_at":"2022-09-02T18:35:12.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@8.0.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@8.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@8.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@8.0.2/manifests"},{"name":"@jupyter-widgets/controls@5.0.1","sha":"0688d8ce35c44c513de49bdc460cd776e6f21d98","kind":"tag","published_at":"2022-09-02T18:35:12.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@5.0.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@5.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@5.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@5.0.1/manifests"},{"name":"@jupyter-widgets/base@6.0.1","sha":"0688d8ce35c44c513de49bdc460cd776e6f21d98","kind":"tag","published_at":"2022-09-02T18:35:12.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@6.0.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@6.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@6.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@6.0.1/manifests"},{"name":"@jupyter-widgets/base-manager@1.0.2","sha":"0688d8ce35c44c513de49bdc460cd776e6f21d98","kind":"tag","published_at":"2022-09-02T18:35:12.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base-manager@1.0.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base-manager@1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase-manager@1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase-manager@1.0.2/manifests"},{"name":"7.6.6","sha":"f2eb6a5508767f33f7e09ab8996a12e745ea8dab","kind":"commit","published_at":"2022-08-19T20:28:02.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.6.6","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.6.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.6.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.6.6/manifests"},{"name":"7.7.2","sha":"defbdac0d302fe551d17aa61f12db26292f28b97","kind":"commit","published_at":"2022-08-19T16:48:38.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.7.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.7.2/manifests"},{"name":"@jupyter-widgets/example-web1@8.0.1","sha":"e05f2363efa3a47d87da1f06d3599ea16490f5da","kind":"tag","published_at":"2022-08-19T14:52:50.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@8.0.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@8.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@8.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@8.0.1/manifests"},{"name":"@jupyter-widgets/notebook-manager@8.0.2","sha":"e05f2363efa3a47d87da1f06d3599ea16490f5da","kind":"tag","published_at":"2022-08-19T14:52:50.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@8.0.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@8.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@8.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@8.0.2/manifests"},{"name":"@jupyter-widgets/base-manager@1.0.1","sha":"e05f2363efa3a47d87da1f06d3599ea16490f5da","kind":"tag","published_at":"2022-08-19T14:52:50.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base-manager@1.0.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base-manager@1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase-manager@1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase-manager@1.0.1/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@5.0.2","sha":"e05f2363efa3a47d87da1f06d3599ea16490f5da","kind":"tag","published_at":"2022-08-19T14:52:50.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@5.0.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@5.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@5.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@5.0.2/manifests"},{"name":"@jupyter-widgets/html-manager@1.0.2","sha":"e05f2363efa3a47d87da1f06d3599ea16490f5da","kind":"tag","published_at":"2022-08-19T14:52:50.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@1.0.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@1.0.2/manifests"},{"name":"@jupyter-widgets/example-web3@8.0.2","sha":"e05f2363efa3a47d87da1f06d3599ea16490f5da","kind":"tag","published_at":"2022-08-19T14:52:50.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@8.0.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@8.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@8.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@8.0.2/manifests"},{"name":"@jupyter-widgets/example-web2@8.0.1","sha":"e05f2363efa3a47d87da1f06d3599ea16490f5da","kind":"tag","published_at":"2022-08-19T14:52:50.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@8.0.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@8.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@8.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@8.0.1/manifests"},{"name":"@jupyter-widgets/example-web4@8.0.2","sha":"e05f2363efa3a47d87da1f06d3599ea16490f5da","kind":"tag","published_at":"2022-08-19T14:52:50.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@8.0.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@8.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@8.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@8.0.2/manifests"},{"name":"8.0.1","sha":"3e6e99d1a92928fe5fc8692666b2cbe5ce7a2c36","kind":"commit","published_at":"2022-08-18T09:36:07.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/8.0.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/8.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.1/manifests"},{"name":"@jupyter-widgets/example-web3@8.0.1","sha":"9bf622597422491f026f1e94d2a93165e84b98dc","kind":"tag","published_at":"2022-08-18T09:11:08.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@8.0.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@8.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@8.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@8.0.1/manifests"},{"name":"@jupyter-widgets/base@6.0.0","sha":"9bf622597422491f026f1e94d2a93165e84b98dc","kind":"tag","published_at":"2022-08-18T09:11:08.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@6.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@6.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@6.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@6.0.0/manifests"},{"name":"@jupyter-widgets/output@6.0.0","sha":"9bf622597422491f026f1e94d2a93165e84b98dc","kind":"tag","published_at":"2022-08-18T09:11:08.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@6.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@6.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@6.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@6.0.0/manifests"},{"name":"@jupyter-widgets/notebook-manager@8.0.1","sha":"9bf622597422491f026f1e94d2a93165e84b98dc","kind":"tag","published_at":"2022-08-18T09:11:08.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@8.0.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@8.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@8.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@8.0.1/manifests"},{"name":"@jupyter-widgets/base-manager@1.0.0","sha":"9bf622597422491f026f1e94d2a93165e84b98dc","kind":"tag","published_at":"2022-08-18T09:11:08.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base-manager@1.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base-manager@1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase-manager@1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase-manager@1.0.0/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@5.0.1","sha":"9bf622597422491f026f1e94d2a93165e84b98dc","kind":"tag","published_at":"2022-08-18T09:11:08.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@5.0.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@5.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@5.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@5.0.1/manifests"},{"name":"@jupyter-widgets/controls@5.0.0","sha":"9bf622597422491f026f1e94d2a93165e84b98dc","kind":"tag","published_at":"2022-08-18T09:11:08.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@5.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@5.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@5.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@5.0.0/manifests"},{"name":"@jupyter-widgets/schema@0.5.1","sha":"9bf622597422491f026f1e94d2a93165e84b98dc","kind":"tag","published_at":"2022-08-18T09:11:08.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/schema@0.5.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/schema@0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.5.1/manifests"},{"name":"@jupyter-widgets/html-manager@1.0.1","sha":"9bf622597422491f026f1e94d2a93165e84b98dc","kind":"tag","published_at":"2022-08-18T09:11:08.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@1.0.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@1.0.1/manifests"},{"name":"@jupyter-widgets/example-web1@8.0.0","sha":"9bf622597422491f026f1e94d2a93165e84b98dc","kind":"tag","published_at":"2022-08-18T09:11:08.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@8.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@8.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@8.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@8.0.0/manifests"},{"name":"@jupyter-widgets/example-web4@8.0.1","sha":"9bf622597422491f026f1e94d2a93165e84b98dc","kind":"tag","published_at":"2022-08-18T09:11:08.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@8.0.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@8.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@8.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@8.0.1/manifests"},{"name":"@jupyter-widgets/example-web2@8.0.0","sha":"9bf622597422491f026f1e94d2a93165e84b98dc","kind":"tag","published_at":"2022-08-18T09:11:08.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@8.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@8.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@8.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@8.0.0/manifests"},{"name":"8.0.0","sha":"8d35c3a6c8b2065dc4f5cd98c864ea89c2f48daa","kind":"commit","published_at":"2022-08-18T07:05:12.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/8.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/8.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.0/manifests"},{"name":"@jupyter-widgets/example-web3@8.0.0","sha":"497d13bf478d1da00a604e918423535056352f15","kind":"tag","published_at":"2022-08-18T06:55:07.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@8.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@8.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@8.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@8.0.0/manifests"},{"name":"@jupyter-widgets/example-web4@8.0.0","sha":"497d13bf478d1da00a604e918423535056352f15","kind":"tag","published_at":"2022-08-18T06:55:07.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@8.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@8.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@8.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@8.0.0/manifests"},{"name":"@jupyter-widgets/html-manager@1.0.0","sha":"497d13bf478d1da00a604e918423535056352f15","kind":"tag","published_at":"2022-08-18T06:55:07.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@1.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@1.0.0/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@5.0.0","sha":"497d13bf478d1da00a604e918423535056352f15","kind":"tag","published_at":"2022-08-18T06:55:07.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@5.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@5.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@5.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@5.0.0/manifests"},{"name":"@jupyter-widgets/notebook-manager@8.0.0","sha":"497d13bf478d1da00a604e918423535056352f15","kind":"tag","published_at":"2022-08-18T06:55:07.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@8.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@8.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@8.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@8.0.0/manifests"},{"name":"@jupyter-widgets/schema@0.5.0","sha":"497d13bf478d1da00a604e918423535056352f15","kind":"tag","published_at":"2022-08-18T06:55:07.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/schema@0.5.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/schema@0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.5.0/manifests"},{"name":"8.0.0rc2","sha":"c7eac80a9047588f6c74e161e8a3ad1f60aaae2f","kind":"commit","published_at":"2022-08-05T14:46:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/8.0.0rc2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/8.0.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.0rc2/manifests"},{"name":"@jupyter-widgets/example-web2@8.0.0-rc.2","sha":"4db10179d21be28d160e5071504eda4de9c7c1aa","kind":"tag","published_at":"2022-08-05T14:36:43.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@8.0.0-rc.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@8.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@8.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@8.0.0-rc.2/manifests"},{"name":"@jupyter-widgets/schema@0.5.0-rc.1","sha":"4db10179d21be28d160e5071504eda4de9c7c1aa","kind":"tag","published_at":"2022-08-05T14:36:43.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/schema@0.5.0-rc.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/schema@0.5.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.5.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.5.0-rc.1/manifests"},{"name":"@jupyter-widgets/output@6.0.0-rc.2","sha":"4db10179d21be28d160e5071504eda4de9c7c1aa","kind":"tag","published_at":"2022-08-05T14:36:43.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@6.0.0-rc.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@6.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@6.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@6.0.0-rc.2/manifests"},{"name":"@jupyter-widgets/notebook-manager@8.0.0-rc.2","sha":"4db10179d21be28d160e5071504eda4de9c7c1aa","kind":"tag","published_at":"2022-08-05T14:36:43.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@8.0.0-rc.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@8.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@8.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@8.0.0-rc.2/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@5.0.0-rc.2","sha":"4db10179d21be28d160e5071504eda4de9c7c1aa","kind":"tag","published_at":"2022-08-05T14:36:43.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@5.0.0-rc.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@5.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@5.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@5.0.0-rc.2/manifests"},{"name":"@jupyter-widgets/html-manager@1.0.0-rc.2","sha":"4db10179d21be28d160e5071504eda4de9c7c1aa","kind":"tag","published_at":"2022-08-05T14:36:43.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@1.0.0-rc.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@1.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@1.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@1.0.0-rc.2/manifests"},{"name":"@jupyter-widgets/example-web4@8.0.0-rc.2","sha":"4db10179d21be28d160e5071504eda4de9c7c1aa","kind":"tag","published_at":"2022-08-05T14:36:43.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@8.0.0-rc.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@8.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@8.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@8.0.0-rc.2/manifests"},{"name":"@jupyter-widgets/example-web3@8.0.0-rc.2","sha":"4db10179d21be28d160e5071504eda4de9c7c1aa","kind":"tag","published_at":"2022-08-05T14:36:43.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@8.0.0-rc.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@8.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@8.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@8.0.0-rc.2/manifests"},{"name":"@jupyter-widgets/example-web1@8.0.0-rc.2","sha":"4db10179d21be28d160e5071504eda4de9c7c1aa","kind":"tag","published_at":"2022-08-05T14:36:43.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@8.0.0-rc.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@8.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@8.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@8.0.0-rc.2/manifests"},{"name":"@jupyter-widgets/controls@5.0.0-rc.2","sha":"4db10179d21be28d160e5071504eda4de9c7c1aa","kind":"tag","published_at":"2022-08-05T14:36:43.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@5.0.0-rc.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@5.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@5.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@5.0.0-rc.2/manifests"},{"name":"@jupyter-widgets/base-manager@1.0.0-rc.2","sha":"4db10179d21be28d160e5071504eda4de9c7c1aa","kind":"tag","published_at":"2022-08-05T14:36:43.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base-manager@1.0.0-rc.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base-manager@1.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase-manager@1.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase-manager@1.0.0-rc.2/manifests"},{"name":"@jupyter-widgets/base@6.0.0-rc.2","sha":"4db10179d21be28d160e5071504eda4de9c7c1aa","kind":"tag","published_at":"2022-08-05T14:36:43.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@6.0.0-rc.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@6.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@6.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@6.0.0-rc.2/manifests"},{"name":"8.0.0rc1","sha":"29daecff01ccafeabd82469206321033e603d056","kind":"commit","published_at":"2022-07-06T21:38:53.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/8.0.0rc1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/8.0.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.0rc1/manifests"},{"name":"@jupyter-widgets/output@6.0.0-rc.1","sha":"424fae245b703d1fbe6d84d2a2388b501dabb0d9","kind":"tag","published_at":"2022-07-06T19:53:42.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@6.0.0-rc.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@6.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@6.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@6.0.0-rc.1/manifests"},{"name":"@jupyter-widgets/notebook-manager@8.0.0-rc.1","sha":"424fae245b703d1fbe6d84d2a2388b501dabb0d9","kind":"tag","published_at":"2022-07-06T19:53:42.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@8.0.0-rc.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@8.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@8.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@8.0.0-rc.1/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@5.0.0-rc.1","sha":"424fae245b703d1fbe6d84d2a2388b501dabb0d9","kind":"tag","published_at":"2022-07-06T19:53:42.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@5.0.0-rc.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@5.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@5.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@5.0.0-rc.1/manifests"},{"name":"@jupyter-widgets/html-manager@1.0.0-rc.1","sha":"424fae245b703d1fbe6d84d2a2388b501dabb0d9","kind":"tag","published_at":"2022-07-06T19:53:42.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@1.0.0-rc.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@1.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@1.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@1.0.0-rc.1/manifests"},{"name":"@jupyter-widgets/example-web4@8.0.0-rc.1","sha":"424fae245b703d1fbe6d84d2a2388b501dabb0d9","kind":"tag","published_at":"2022-07-06T19:53:42.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@8.0.0-rc.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@8.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@8.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@8.0.0-rc.1/manifests"},{"name":"@jupyter-widgets/example-web3@8.0.0-rc.1","sha":"424fae245b703d1fbe6d84d2a2388b501dabb0d9","kind":"tag","published_at":"2022-07-06T19:53:42.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@8.0.0-rc.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@8.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@8.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@8.0.0-rc.1/manifests"},{"name":"@jupyter-widgets/example-web2@8.0.0-rc.1","sha":"424fae245b703d1fbe6d84d2a2388b501dabb0d9","kind":"tag","published_at":"2022-07-06T19:53:42.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@8.0.0-rc.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@8.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@8.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@8.0.0-rc.1/manifests"},{"name":"@jupyter-widgets/example-web1@8.0.0-rc.1","sha":"424fae245b703d1fbe6d84d2a2388b501dabb0d9","kind":"tag","published_at":"2022-07-06T19:53:42.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@8.0.0-rc.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@8.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@8.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@8.0.0-rc.1/manifests"},{"name":"@jupyter-widgets/controls@5.0.0-rc.1","sha":"424fae245b703d1fbe6d84d2a2388b501dabb0d9","kind":"tag","published_at":"2022-07-06T19:53:42.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@5.0.0-rc.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@5.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@5.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@5.0.0-rc.1/manifests"},{"name":"@jupyter-widgets/base-manager@1.0.0-rc.1","sha":"424fae245b703d1fbe6d84d2a2388b501dabb0d9","kind":"tag","published_at":"2022-07-06T19:53:42.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base-manager@1.0.0-rc.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base-manager@1.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase-manager@1.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase-manager@1.0.0-rc.1/manifests"},{"name":"@jupyter-widgets/base@6.0.0-rc.1","sha":"424fae245b703d1fbe6d84d2a2388b501dabb0d9","kind":"tag","published_at":"2022-07-06T19:53:42.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@6.0.0-rc.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@6.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@6.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@6.0.0-rc.1/manifests"},{"name":"7.7.1","sha":"7ad9e629df574cbcb693cde53b05b5abe520bd7c","kind":"commit","published_at":"2022-06-22T17:41:52.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.7.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.7.1/manifests"},{"name":"@jupyter-widgets/notebook-manager@6.1.1","sha":"79e50e2f66df991b602fe19b888dfaf4ce55133d","kind":"tag","published_at":"2022-06-22T17:34:58.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@6.1.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@6.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@6.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@6.1.1/manifests"},{"name":"@jupyter-widgets/output@4.1.1","sha":"79e50e2f66df991b602fe19b888dfaf4ce55133d","kind":"tag","published_at":"2022-06-22T17:34:58.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@4.1.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@4.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@4.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@4.1.1/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@3.1.1","sha":"79e50e2f66df991b602fe19b888dfaf4ce55133d","kind":"tag","published_at":"2022-06-22T17:34:58.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@3.1.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@3.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@3.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@3.1.1/manifests"},{"name":"@jupyter-widgets/html-manager@0.20.2","sha":"79e50e2f66df991b602fe19b888dfaf4ce55133d","kind":"tag","published_at":"2022-06-22T17:34:58.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.20.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.20.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.20.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.20.2/manifests"},{"name":"@jupyter-widgets/example-web4@6.1.1","sha":"79e50e2f66df991b602fe19b888dfaf4ce55133d","kind":"tag","published_at":"2022-06-22T17:34:58.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@6.1.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@6.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@6.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@6.1.1/manifests"},{"name":"@jupyter-widgets/example-web3@6.1.1","sha":"79e50e2f66df991b602fe19b888dfaf4ce55133d","kind":"tag","published_at":"2022-06-22T17:34:58.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@6.1.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@6.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@6.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@6.1.1/manifests"},{"name":"@jupyter-widgets/example-web2@6.1.1","sha":"79e50e2f66df991b602fe19b888dfaf4ce55133d","kind":"tag","published_at":"2022-06-22T17:34:58.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@6.1.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@6.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@6.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@6.1.1/manifests"},{"name":"@jupyter-widgets/example-web1@6.1.1","sha":"79e50e2f66df991b602fe19b888dfaf4ce55133d","kind":"tag","published_at":"2022-06-22T17:34:58.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@6.1.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@6.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@6.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@6.1.1/manifests"},{"name":"@jupyter-widgets/controls@3.1.1","sha":"79e50e2f66df991b602fe19b888dfaf4ce55133d","kind":"tag","published_at":"2022-06-22T17:34:58.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@3.1.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@3.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@3.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@3.1.1/manifests"},{"name":"@jupyter-widgets/base@4.1.1","sha":"79e50e2f66df991b602fe19b888dfaf4ce55133d","kind":"tag","published_at":"2022-06-22T17:34:58.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@4.1.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@4.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@4.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@4.1.1/manifests"},{"name":"7.7.0","sha":"4372d90a71934b4954b626aed3a49ca23f3e210e","kind":"commit","published_at":"2022-03-16T07:33:07.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.7.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.7.0/manifests"},{"name":"@jupyter-widgets/schema@0.4.1","sha":"80a98429a4c9a0e88aeff9c8b873268785b3e033","kind":"tag","published_at":"2022-03-16T07:12:45.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/schema@0.4.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/schema@0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.4.1/manifests"},{"name":"@jupyter-widgets/output@4.1.0","sha":"80a98429a4c9a0e88aeff9c8b873268785b3e033","kind":"tag","published_at":"2022-03-16T07:12:45.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@4.1.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@4.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@4.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@4.1.0/manifests"},{"name":"@jupyter-widgets/notebook-manager@6.1.0","sha":"80a98429a4c9a0e88aeff9c8b873268785b3e033","kind":"tag","published_at":"2022-03-16T07:12:45.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@6.1.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@6.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@6.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@6.1.0/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@3.1.0","sha":"80a98429a4c9a0e88aeff9c8b873268785b3e033","kind":"tag","published_at":"2022-03-16T07:12:45.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@3.1.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@3.1.0/manifests"},{"name":"@jupyter-widgets/html-manager@0.20.1","sha":"80a98429a4c9a0e88aeff9c8b873268785b3e033","kind":"tag","published_at":"2022-03-16T07:12:45.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.20.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.20.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.20.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.20.1/manifests"},{"name":"@jupyter-widgets/example-web4@6.1.0","sha":"80a98429a4c9a0e88aeff9c8b873268785b3e033","kind":"tag","published_at":"2022-03-16T07:12:45.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@6.1.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@6.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@6.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@6.1.0/manifests"},{"name":"@jupyter-widgets/example-web3@6.1.0","sha":"80a98429a4c9a0e88aeff9c8b873268785b3e033","kind":"tag","published_at":"2022-03-16T07:12:45.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@6.1.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@6.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@6.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@6.1.0/manifests"},{"name":"@jupyter-widgets/example-web2@6.1.0","sha":"80a98429a4c9a0e88aeff9c8b873268785b3e033","kind":"tag","published_at":"2022-03-16T07:12:45.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@6.1.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@6.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@6.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@6.1.0/manifests"},{"name":"@jupyter-widgets/example-web1@6.1.0","sha":"80a98429a4c9a0e88aeff9c8b873268785b3e033","kind":"tag","published_at":"2022-03-16T07:12:45.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@6.1.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@6.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@6.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@6.1.0/manifests"},{"name":"@jupyter-widgets/controls@3.1.0","sha":"80a98429a4c9a0e88aeff9c8b873268785b3e033","kind":"tag","published_at":"2022-03-16T07:12:45.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@3.1.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@3.1.0/manifests"},{"name":"@jupyter-widgets/base@4.1.0","sha":"80a98429a4c9a0e88aeff9c8b873268785b3e033","kind":"tag","published_at":"2022-03-16T07:12:45.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@4.1.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@4.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@4.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@4.1.0/manifests"},{"name":"8.0.0rc0","sha":"88cec8be2869e75760a6a99bba129e6011d9043f","kind":"commit","published_at":"2022-03-11T23:17:39.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/8.0.0rc0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/8.0.0rc0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.0rc0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.0rc0/manifests"},{"name":"@jupyter-widgets/schema@0.5.0-rc.0","sha":"d40572ef6602497b472210dd43242154c37f2dd8","kind":"tag","published_at":"2022-03-11T23:05:32.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/schema@0.5.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/schema@0.5.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.5.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.5.0-rc.0/manifests"},{"name":"@jupyter-widgets/output@6.0.0-rc.0","sha":"d40572ef6602497b472210dd43242154c37f2dd8","kind":"tag","published_at":"2022-03-11T23:05:32.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@6.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@6.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@6.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@6.0.0-rc.0/manifests"},{"name":"@jupyter-widgets/notebook-manager@8.0.0-rc.0","sha":"d40572ef6602497b472210dd43242154c37f2dd8","kind":"tag","published_at":"2022-03-11T23:05:32.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@8.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@8.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@8.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@8.0.0-rc.0/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@5.0.0-rc.0","sha":"d40572ef6602497b472210dd43242154c37f2dd8","kind":"tag","published_at":"2022-03-11T23:05:32.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@5.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@5.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@5.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@5.0.0-rc.0/manifests"},{"name":"@jupyter-widgets/html-manager@1.0.0-rc.0","sha":"d40572ef6602497b472210dd43242154c37f2dd8","kind":"tag","published_at":"2022-03-11T23:05:32.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@1.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@1.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@1.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@1.0.0-rc.0/manifests"},{"name":"@jupyter-widgets/example-web4@8.0.0-rc.0","sha":"d40572ef6602497b472210dd43242154c37f2dd8","kind":"tag","published_at":"2022-03-11T23:05:32.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@8.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@8.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@8.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@8.0.0-rc.0/manifests"},{"name":"@jupyter-widgets/example-web3@8.0.0-rc.0","sha":"d40572ef6602497b472210dd43242154c37f2dd8","kind":"tag","published_at":"2022-03-11T23:05:32.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@8.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@8.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@8.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@8.0.0-rc.0/manifests"},{"name":"@jupyter-widgets/example-web2@8.0.0-rc.0","sha":"d40572ef6602497b472210dd43242154c37f2dd8","kind":"tag","published_at":"2022-03-11T23:05:32.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@8.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@8.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@8.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@8.0.0-rc.0/manifests"},{"name":"@jupyter-widgets/example-web1@8.0.0-rc.0","sha":"d40572ef6602497b472210dd43242154c37f2dd8","kind":"tag","published_at":"2022-03-11T23:05:32.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@8.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@8.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@8.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@8.0.0-rc.0/manifests"},{"name":"@jupyter-widgets/controls@5.0.0-rc.0","sha":"d40572ef6602497b472210dd43242154c37f2dd8","kind":"tag","published_at":"2022-03-11T23:05:32.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@5.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@5.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@5.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@5.0.0-rc.0/manifests"},{"name":"@jupyter-widgets/base-manager@1.0.0-rc.0","sha":"d40572ef6602497b472210dd43242154c37f2dd8","kind":"tag","published_at":"2022-03-11T23:05:32.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base-manager@1.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base-manager@1.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase-manager@1.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase-manager@1.0.0-rc.0/manifests"},{"name":"@jupyter-widgets/base@6.0.0-rc.0","sha":"d40572ef6602497b472210dd43242154c37f2dd8","kind":"tag","published_at":"2022-03-11T23:05:32.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@6.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@6.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@6.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@6.0.0-rc.0/manifests"},{"name":"7.7.0rc0","sha":"d426b3e00d75523a7599474739511407ca69a781","kind":"commit","published_at":"2022-03-10T01:31:12.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.7.0rc0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.7.0rc0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.7.0rc0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.7.0rc0/manifests"},{"name":"@jupyter-widgets/schema@0.4.1-rc.0","sha":"f025d2f838d58212172d442a36fee9cded7be39a","kind":"tag","published_at":"2022-03-10T01:19:24.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/schema@0.4.1-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/schema@0.4.1-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.4.1-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.4.1-rc.0/manifests"},{"name":"@jupyter-widgets/output@4.1.0-rc.0","sha":"f025d2f838d58212172d442a36fee9cded7be39a","kind":"tag","published_at":"2022-03-10T01:19:24.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@4.1.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@4.1.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@4.1.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@4.1.0-rc.0/manifests"},{"name":"@jupyter-widgets/notebook-manager@6.1.0-rc.0","sha":"f025d2f838d58212172d442a36fee9cded7be39a","kind":"tag","published_at":"2022-03-10T01:19:24.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@6.1.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@6.1.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@6.1.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@6.1.0-rc.0/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@3.1.0-rc.0","sha":"f025d2f838d58212172d442a36fee9cded7be39a","kind":"tag","published_at":"2022-03-10T01:19:24.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@3.1.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@3.1.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@3.1.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@3.1.0-rc.0/manifests"},{"name":"@jupyter-widgets/html-manager@0.20.1-rc.0","sha":"f025d2f838d58212172d442a36fee9cded7be39a","kind":"tag","published_at":"2022-03-10T01:19:24.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.20.1-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.20.1-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.20.1-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.20.1-rc.0/manifests"},{"name":"@jupyter-widgets/example-web4@6.1.0-rc.0","sha":"f025d2f838d58212172d442a36fee9cded7be39a","kind":"tag","published_at":"2022-03-10T01:19:24.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@6.1.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@6.1.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@6.1.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@6.1.0-rc.0/manifests"},{"name":"@jupyter-widgets/example-web3@6.1.0-rc.0","sha":"f025d2f838d58212172d442a36fee9cded7be39a","kind":"tag","published_at":"2022-03-10T01:19:24.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@6.1.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@6.1.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@6.1.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@6.1.0-rc.0/manifests"},{"name":"@jupyter-widgets/example-web2@6.1.0-rc.0","sha":"f025d2f838d58212172d442a36fee9cded7be39a","kind":"tag","published_at":"2022-03-10T01:19:24.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@6.1.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@6.1.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@6.1.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@6.1.0-rc.0/manifests"},{"name":"@jupyter-widgets/example-web1@6.1.0-rc.0","sha":"f025d2f838d58212172d442a36fee9cded7be39a","kind":"tag","published_at":"2022-03-10T01:19:24.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@6.1.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@6.1.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@6.1.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@6.1.0-rc.0/manifests"},{"name":"@jupyter-widgets/controls@3.1.0-rc.0","sha":"f025d2f838d58212172d442a36fee9cded7be39a","kind":"tag","published_at":"2022-03-10T01:19:24.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@3.1.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@3.1.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@3.1.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@3.1.0-rc.0/manifests"},{"name":"@jupyter-widgets/base@4.1.0-rc.0","sha":"f025d2f838d58212172d442a36fee9cded7be39a","kind":"tag","published_at":"2022-03-10T01:19:24.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@4.1.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@4.1.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@4.1.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@4.1.0-rc.0/manifests"},{"name":"7.7.0a0","sha":"c2d920a5bce2055a4f9b30ec1e08f79201c37533","kind":"commit","published_at":"2022-02-11T14:27:29.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.7.0a0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.7.0a0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.7.0a0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.7.0a0/manifests"},{"name":"@jupyter-widgets/controls@3.1.0-alpha.0","sha":"4b366ddfa044d410f690f2a35dca2616f537859f","kind":"tag","published_at":"2022-02-11T13:32:18.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@3.1.0-alpha.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@3.1.0-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@3.1.0-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@3.1.0-alpha.0/manifests"},{"name":"@jupyter-widgets/schema@0.4.1-alpha.0","sha":"4b366ddfa044d410f690f2a35dca2616f537859f","kind":"tag","published_at":"2022-02-11T13:32:18.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/schema@0.4.1-alpha.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/schema@0.4.1-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.4.1-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.4.1-alpha.0/manifests"},{"name":"@jupyter-widgets/output@4.1.0-alpha.0","sha":"4b366ddfa044d410f690f2a35dca2616f537859f","kind":"tag","published_at":"2022-02-11T13:32:18.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@4.1.0-alpha.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@4.1.0-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@4.1.0-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@4.1.0-alpha.0/manifests"},{"name":"@jupyter-widgets/notebook-manager@6.1.0-alpha.0","sha":"4b366ddfa044d410f690f2a35dca2616f537859f","kind":"tag","published_at":"2022-02-11T13:32:18.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@6.1.0-alpha.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@6.1.0-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@6.1.0-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@6.1.0-alpha.0/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@3.1.0-alpha.0","sha":"4b366ddfa044d410f690f2a35dca2616f537859f","kind":"tag","published_at":"2022-02-11T13:32:18.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@3.1.0-alpha.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@3.1.0-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@3.1.0-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@3.1.0-alpha.0/manifests"},{"name":"@jupyter-widgets/html-manager@0.20.1-alpha.0","sha":"4b366ddfa044d410f690f2a35dca2616f537859f","kind":"tag","published_at":"2022-02-11T13:32:18.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.20.1-alpha.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.20.1-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.20.1-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.20.1-alpha.0/manifests"},{"name":"@jupyter-widgets/example-web4@6.1.0-alpha.0","sha":"4b366ddfa044d410f690f2a35dca2616f537859f","kind":"tag","published_at":"2022-02-11T13:32:18.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@6.1.0-alpha.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@6.1.0-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@6.1.0-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@6.1.0-alpha.0/manifests"},{"name":"@jupyter-widgets/example-web3@6.1.0-alpha.0","sha":"4b366ddfa044d410f690f2a35dca2616f537859f","kind":"tag","published_at":"2022-02-11T13:32:18.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@6.1.0-alpha.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@6.1.0-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@6.1.0-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@6.1.0-alpha.0/manifests"},{"name":"@jupyter-widgets/example-web2@6.1.0-alpha.0","sha":"4b366ddfa044d410f690f2a35dca2616f537859f","kind":"tag","published_at":"2022-02-11T13:32:18.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@6.1.0-alpha.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@6.1.0-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@6.1.0-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@6.1.0-alpha.0/manifests"},{"name":"@jupyter-widgets/example-web1@6.1.0-alpha.0","sha":"4b366ddfa044d410f690f2a35dca2616f537859f","kind":"tag","published_at":"2022-02-11T13:32:18.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@6.1.0-alpha.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@6.1.0-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@6.1.0-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@6.1.0-alpha.0/manifests"},{"name":"@jupyter-widgets/base@4.1.0-alpha.0","sha":"4b366ddfa044d410f690f2a35dca2616f537859f","kind":"tag","published_at":"2022-02-11T13:32:18.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@4.1.0-alpha.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@4.1.0-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@4.1.0-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@4.1.0-alpha.0/manifests"},{"name":"8.0.0b1","sha":"d0b6f8da119d30676dce9c36436218e39e30a37c","kind":"tag","published_at":"2021-12-23T20:15:24.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/8.0.0b1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/8.0.0b1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.0b1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.0b1/manifests"},{"name":"@jupyter-widgets/base@5.0.0-beta.1","sha":"8285ea01d421cf6c6fd107b93d486b4c22c93b8f","kind":"tag","published_at":"2021-12-23T19:28:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@5.0.0-beta.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@5.0.0-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@5.0.0-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@5.0.0-beta.1/manifests"},{"name":"@jupyter-widgets/schema@0.5.0-beta.1","sha":"8285ea01d421cf6c6fd107b93d486b4c22c93b8f","kind":"tag","published_at":"2021-12-23T19:28:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/schema@0.5.0-beta.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/schema@0.5.0-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.5.0-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.5.0-beta.1/manifests"},{"name":"@jupyter-widgets/output@5.0.0-beta.1","sha":"8285ea01d421cf6c6fd107b93d486b4c22c93b8f","kind":"tag","published_at":"2021-12-23T19:28:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@5.0.0-beta.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@5.0.0-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@5.0.0-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@5.0.0-beta.1/manifests"},{"name":"@jupyter-widgets/notebook-manager@7.0.0-beta.1","sha":"8285ea01d421cf6c6fd107b93d486b4c22c93b8f","kind":"tag","published_at":"2021-12-23T19:28:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@7.0.0-beta.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@7.0.0-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@7.0.0-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@7.0.0-beta.1/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@4.0.0-beta.1","sha":"8285ea01d421cf6c6fd107b93d486b4c22c93b8f","kind":"tag","published_at":"2021-12-23T19:28:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@4.0.0-beta.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@4.0.0-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@4.0.0-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@4.0.0-beta.1/manifests"},{"name":"@jupyter-widgets/html-manager@0.21.0-beta.1","sha":"8285ea01d421cf6c6fd107b93d486b4c22c93b8f","kind":"tag","published_at":"2021-12-23T19:28:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.21.0-beta.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.21.0-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.21.0-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.21.0-beta.1/manifests"},{"name":"@jupyter-widgets/example-web4@7.0.0-beta.1","sha":"8285ea01d421cf6c6fd107b93d486b4c22c93b8f","kind":"tag","published_at":"2021-12-23T19:28:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@7.0.0-beta.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@7.0.0-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@7.0.0-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@7.0.0-beta.1/manifests"},{"name":"@jupyter-widgets/example-web3@7.0.0-beta.1","sha":"8285ea01d421cf6c6fd107b93d486b4c22c93b8f","kind":"tag","published_at":"2021-12-23T19:28:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@7.0.0-beta.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@7.0.0-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@7.0.0-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@7.0.0-beta.1/manifests"},{"name":"@jupyter-widgets/example-web2@7.0.0-beta.1","sha":"8285ea01d421cf6c6fd107b93d486b4c22c93b8f","kind":"tag","published_at":"2021-12-23T19:28:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@7.0.0-beta.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@7.0.0-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@7.0.0-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@7.0.0-beta.1/manifests"},{"name":"@jupyter-widgets/example-web1@7.0.0-beta.1","sha":"8285ea01d421cf6c6fd107b93d486b4c22c93b8f","kind":"tag","published_at":"2021-12-23T19:28:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@7.0.0-beta.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@7.0.0-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@7.0.0-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@7.0.0-beta.1/manifests"},{"name":"@jupyter-widgets/base-manager@1.0.0-beta.1","sha":"8285ea01d421cf6c6fd107b93d486b4c22c93b8f","kind":"tag","published_at":"2021-12-23T19:28:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base-manager@1.0.0-beta.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base-manager@1.0.0-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase-manager@1.0.0-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase-manager@1.0.0-beta.1/manifests"},{"name":"@jupyter-widgets/controls@4.0.0-beta.1","sha":"8285ea01d421cf6c6fd107b93d486b4c22c93b8f","kind":"tag","published_at":"2021-12-23T19:28:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@4.0.0-beta.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@4.0.0-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@4.0.0-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@4.0.0-beta.1/manifests"},{"name":"8.0.0b0","sha":"a23d85e8e7fc003355f5c865f7cccd0413812704","kind":"commit","published_at":"2021-11-16T18:39:45.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/8.0.0b0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/8.0.0b0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.0b0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.0b0/manifests"},{"name":"@jupyter-widgets/base-manager@1.0.0-beta.0","sha":"b13cbc21e1c9a8e0ab136fee4509eb1842dfcd96","kind":"tag","published_at":"2021-11-16T18:22:07.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base-manager@1.0.0-beta.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base-manager@1.0.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase-manager@1.0.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase-manager@1.0.0-beta.0/manifests"},{"name":"@jupyter-widgets/base@5.0.0-beta.0","sha":"b13cbc21e1c9a8e0ab136fee4509eb1842dfcd96","kind":"tag","published_at":"2021-11-16T18:22:07.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@5.0.0-beta.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@5.0.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@5.0.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@5.0.0-beta.0/manifests"},{"name":"@jupyter-widgets/schema@0.5.0-beta.0","sha":"b13cbc21e1c9a8e0ab136fee4509eb1842dfcd96","kind":"tag","published_at":"2021-11-16T18:22:07.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/schema@0.5.0-beta.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/schema@0.5.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.5.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.5.0-beta.0/manifests"},{"name":"@jupyter-widgets/output@5.0.0-beta.0","sha":"b13cbc21e1c9a8e0ab136fee4509eb1842dfcd96","kind":"tag","published_at":"2021-11-16T18:22:07.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@5.0.0-beta.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@5.0.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@5.0.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@5.0.0-beta.0/manifests"},{"name":"@jupyter-widgets/notebook-manager@7.0.0-beta.0","sha":"b13cbc21e1c9a8e0ab136fee4509eb1842dfcd96","kind":"tag","published_at":"2021-11-16T18:22:07.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@7.0.0-beta.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@7.0.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@7.0.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@7.0.0-beta.0/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@4.0.0-beta.0","sha":"b13cbc21e1c9a8e0ab136fee4509eb1842dfcd96","kind":"tag","published_at":"2021-11-16T18:22:07.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@4.0.0-beta.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@4.0.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@4.0.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@4.0.0-beta.0/manifests"},{"name":"@jupyter-widgets/html-manager@0.21.0-beta.0","sha":"b13cbc21e1c9a8e0ab136fee4509eb1842dfcd96","kind":"tag","published_at":"2021-11-16T18:22:07.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.21.0-beta.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.21.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.21.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.21.0-beta.0/manifests"},{"name":"@jupyter-widgets/example-web4@7.0.0-beta.0","sha":"b13cbc21e1c9a8e0ab136fee4509eb1842dfcd96","kind":"tag","published_at":"2021-11-16T18:22:07.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@7.0.0-beta.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@7.0.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@7.0.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@7.0.0-beta.0/manifests"},{"name":"@jupyter-widgets/example-web3@7.0.0-beta.0","sha":"b13cbc21e1c9a8e0ab136fee4509eb1842dfcd96","kind":"tag","published_at":"2021-11-16T18:22:07.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@7.0.0-beta.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@7.0.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@7.0.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@7.0.0-beta.0/manifests"},{"name":"@jupyter-widgets/example-web2@7.0.0-beta.0","sha":"b13cbc21e1c9a8e0ab136fee4509eb1842dfcd96","kind":"tag","published_at":"2021-11-16T18:22:07.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@7.0.0-beta.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@7.0.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@7.0.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@7.0.0-beta.0/manifests"},{"name":"@jupyter-widgets/example-web1@7.0.0-beta.0","sha":"b13cbc21e1c9a8e0ab136fee4509eb1842dfcd96","kind":"tag","published_at":"2021-11-16T18:22:07.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@7.0.0-beta.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@7.0.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@7.0.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@7.0.0-beta.0/manifests"},{"name":"@jupyter-widgets/controls@4.0.0-beta.0","sha":"b13cbc21e1c9a8e0ab136fee4509eb1842dfcd96","kind":"tag","published_at":"2021-11-16T18:22:07.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@4.0.0-beta.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@4.0.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@4.0.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@4.0.0-beta.0/manifests"},{"name":"7.6.5","sha":"1f9917d739a0f7cffa4d70a39e66f5c8809eb2e0","kind":"commit","published_at":"2021-09-13T23:42:14.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.6.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.6.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.6.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.6.5/manifests"},{"name":"7.6.4","sha":"1326c9b0e9dea093f0a7aa80210d607b1d98cb14","kind":"commit","published_at":"2021-08-31T23:59:34.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.6.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.6.4/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@3.0.1","sha":"febdb4b2181951746fee4e728da043631aba33ef","kind":"tag","published_at":"2021-08-31T23:46:59.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@3.0.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@3.0.1/manifests"},{"name":"8.0.0a6","sha":"29c29bf70655b49f0f50230dbeb2e01a15ce55cd","kind":"commit","published_at":"2021-08-31T22:53:55.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/8.0.0a6","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/8.0.0a6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.0a6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.0a6/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@4.0.0-alpha.3","sha":"33e710f3c251233f42307ed3926d49231d8eaf20","kind":"tag","published_at":"2021-08-31T22:05:06.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@4.0.0-alpha.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@4.0.0-alpha.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@4.0.0-alpha.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@4.0.0-alpha.3/manifests"},{"name":"@jupyter-widgets/output@5.0.0-alpha.4","sha":"33e710f3c251233f42307ed3926d49231d8eaf20","kind":"tag","published_at":"2021-08-31T22:05:06.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@5.0.0-alpha.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@5.0.0-alpha.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@5.0.0-alpha.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@5.0.0-alpha.4/manifests"},{"name":"@jupyter-widgets/schema@0.5.0-alpha.3","sha":"33e710f3c251233f42307ed3926d49231d8eaf20","kind":"tag","published_at":"2021-08-31T22:05:06.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/schema@0.5.0-alpha.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/schema@0.5.0-alpha.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.5.0-alpha.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.5.0-alpha.3/manifests"},{"name":"@jupyter-widgets/base-manager@1.0.0-alpha.4","sha":"33e710f3c251233f42307ed3926d49231d8eaf20","kind":"tag","published_at":"2021-08-31T22:05:06.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base-manager@1.0.0-alpha.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base-manager@1.0.0-alpha.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase-manager@1.0.0-alpha.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase-manager@1.0.0-alpha.4/manifests"},{"name":"@jupyter-widgets/base@5.0.0-alpha.4","sha":"33e710f3c251233f42307ed3926d49231d8eaf20","kind":"tag","published_at":"2021-08-31T22:05:06.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@5.0.0-alpha.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@5.0.0-alpha.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@5.0.0-alpha.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@5.0.0-alpha.4/manifests"},{"name":"@jupyter-widgets/controls@4.0.0-alpha.4","sha":"33e710f3c251233f42307ed3926d49231d8eaf20","kind":"tag","published_at":"2021-08-31T22:05:06.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@4.0.0-alpha.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@4.0.0-alpha.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@4.0.0-alpha.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@4.0.0-alpha.4/manifests"},{"name":"@jupyter-widgets/example-web1@7.0.0-alpha.4","sha":"33e710f3c251233f42307ed3926d49231d8eaf20","kind":"tag","published_at":"2021-08-31T22:05:06.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@7.0.0-alpha.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@7.0.0-alpha.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@7.0.0-alpha.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@7.0.0-alpha.4/manifests"},{"name":"@jupyter-widgets/example-web2@7.0.0-alpha.4","sha":"33e710f3c251233f42307ed3926d49231d8eaf20","kind":"tag","published_at":"2021-08-31T22:05:06.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@7.0.0-alpha.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@7.0.0-alpha.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@7.0.0-alpha.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@7.0.0-alpha.4/manifests"},{"name":"@jupyter-widgets/example-web3@7.0.0-alpha.4","sha":"33e710f3c251233f42307ed3926d49231d8eaf20","kind":"tag","published_at":"2021-08-31T22:05:06.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@7.0.0-alpha.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@7.0.0-alpha.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@7.0.0-alpha.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@7.0.0-alpha.4/manifests"},{"name":"@jupyter-widgets/example-web4@7.0.0-alpha.4","sha":"33e710f3c251233f42307ed3926d49231d8eaf20","kind":"tag","published_at":"2021-08-31T22:05:06.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@7.0.0-alpha.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@7.0.0-alpha.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@7.0.0-alpha.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@7.0.0-alpha.4/manifests"},{"name":"@jupyter-widgets/html-manager@0.21.0-alpha.4","sha":"33e710f3c251233f42307ed3926d49231d8eaf20","kind":"tag","published_at":"2021-08-31T22:05:06.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.21.0-alpha.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.21.0-alpha.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.21.0-alpha.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.21.0-alpha.4/manifests"},{"name":"@jupyter-widgets/notebook-manager@7.0.0-alpha.4","sha":"33e710f3c251233f42307ed3926d49231d8eaf20","kind":"tag","published_at":"2021-08-31T22:05:06.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@7.0.0-alpha.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@7.0.0-alpha.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@7.0.0-alpha.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@7.0.0-alpha.4/manifests"},{"name":"8.0.0a5","sha":"53eea44ed1b1abde5f7663834fb8a159407f5392","kind":"commit","published_at":"2021-06-29T04:50:45.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/8.0.0a5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/8.0.0a5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.0a5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.0a5/manifests"},{"name":"@jupyter-widgets/base-manager@1.0.0-alpha.3","sha":"a7436007deed1112c86503e9ead232e61178f3c9","kind":"tag","published_at":"2021-06-29T04:29:57.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base-manager@1.0.0-alpha.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base-manager@1.0.0-alpha.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase-manager@1.0.0-alpha.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase-manager@1.0.0-alpha.3/manifests"},{"name":"@jupyter-widgets/controls@4.0.0-alpha.3","sha":"a7436007deed1112c86503e9ead232e61178f3c9","kind":"tag","published_at":"2021-06-29T04:29:57.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@4.0.0-alpha.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@4.0.0-alpha.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@4.0.0-alpha.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@4.0.0-alpha.3/manifests"},{"name":"@jupyter-widgets/base@5.0.0-alpha.3","sha":"a7436007deed1112c86503e9ead232e61178f3c9","kind":"tag","published_at":"2021-06-29T04:29:57.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@5.0.0-alpha.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@5.0.0-alpha.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@5.0.0-alpha.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@5.0.0-alpha.3/manifests"},{"name":"@jupyter-widgets/output@5.0.0-alpha.3","sha":"a7436007deed1112c86503e9ead232e61178f3c9","kind":"tag","published_at":"2021-06-29T04:29:57.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@5.0.0-alpha.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@5.0.0-alpha.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@5.0.0-alpha.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@5.0.0-alpha.3/manifests"},{"name":"@jupyter-widgets/notebook-manager@7.0.0-alpha.3","sha":"a7436007deed1112c86503e9ead232e61178f3c9","kind":"tag","published_at":"2021-06-29T04:29:57.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@7.0.0-alpha.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@7.0.0-alpha.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@7.0.0-alpha.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@7.0.0-alpha.3/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@4.0.0-alpha.2","sha":"a7436007deed1112c86503e9ead232e61178f3c9","kind":"tag","published_at":"2021-06-29T04:29:57.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@4.0.0-alpha.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@4.0.0-alpha.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@4.0.0-alpha.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@4.0.0-alpha.2/manifests"},{"name":"@jupyter-widgets/html-manager@0.21.0-alpha.3","sha":"a7436007deed1112c86503e9ead232e61178f3c9","kind":"tag","published_at":"2021-06-29T04:29:57.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.21.0-alpha.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.21.0-alpha.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.21.0-alpha.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.21.0-alpha.3/manifests"},{"name":"@jupyter-widgets/example-web4@7.0.0-alpha.3","sha":"a7436007deed1112c86503e9ead232e61178f3c9","kind":"tag","published_at":"2021-06-29T04:29:57.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@7.0.0-alpha.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@7.0.0-alpha.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@7.0.0-alpha.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@7.0.0-alpha.3/manifests"},{"name":"@jupyter-widgets/example-web3@7.0.0-alpha.3","sha":"a7436007deed1112c86503e9ead232e61178f3c9","kind":"tag","published_at":"2021-06-29T04:29:57.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@7.0.0-alpha.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@7.0.0-alpha.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@7.0.0-alpha.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@7.0.0-alpha.3/manifests"},{"name":"@jupyter-widgets/example-web2@7.0.0-alpha.3","sha":"a7436007deed1112c86503e9ead232e61178f3c9","kind":"tag","published_at":"2021-06-29T04:29:57.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@7.0.0-alpha.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@7.0.0-alpha.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@7.0.0-alpha.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@7.0.0-alpha.3/manifests"},{"name":"@jupyter-widgets/example-web1@7.0.0-alpha.3","sha":"a7436007deed1112c86503e9ead232e61178f3c9","kind":"tag","published_at":"2021-06-29T04:29:57.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@7.0.0-alpha.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@7.0.0-alpha.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@7.0.0-alpha.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@7.0.0-alpha.3/manifests"},{"name":"8.0.0a4","sha":"767311e285dc0a7cc1e8a67ba009eb8fb44cf5b3","kind":"commit","published_at":"2021-02-22T21:01:57.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/8.0.0a4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/8.0.0a4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.0a4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.0a4/manifests"},{"name":"@jupyter-widgets/notebook-manager@7.0.0-alpha.2","sha":"30328507d88dbafea954dbd02bc98e5e3639905b","kind":"tag","published_at":"2021-02-22T20:38:32.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@7.0.0-alpha.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@7.0.0-alpha.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@7.0.0-alpha.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@7.0.0-alpha.2/manifests"},{"name":"@jupyter-widgets/output@5.0.0-alpha.2","sha":"30328507d88dbafea954dbd02bc98e5e3639905b","kind":"tag","published_at":"2021-02-22T20:38:32.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@5.0.0-alpha.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@5.0.0-alpha.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@5.0.0-alpha.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@5.0.0-alpha.2/manifests"},{"name":"@jupyter-widgets/schema@0.5.0-alpha.2","sha":"30328507d88dbafea954dbd02bc98e5e3639905b","kind":"tag","published_at":"2021-02-22T20:38:32.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/schema@0.5.0-alpha.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/schema@0.5.0-alpha.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.5.0-alpha.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.5.0-alpha.2/manifests"},{"name":"@jupyter-widgets/html-manager@0.21.0-alpha.2","sha":"30328507d88dbafea954dbd02bc98e5e3639905b","kind":"tag","published_at":"2021-02-22T20:38:32.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.21.0-alpha.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.21.0-alpha.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.21.0-alpha.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.21.0-alpha.2/manifests"},{"name":"@jupyter-widgets/example-web4@7.0.0-alpha.2","sha":"30328507d88dbafea954dbd02bc98e5e3639905b","kind":"tag","published_at":"2021-02-22T20:38:32.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@7.0.0-alpha.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@7.0.0-alpha.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@7.0.0-alpha.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@7.0.0-alpha.2/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@4.0.0-alpha.1","sha":"30328507d88dbafea954dbd02bc98e5e3639905b","kind":"tag","published_at":"2021-02-22T20:38:32.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@4.0.0-alpha.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@4.0.0-alpha.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@4.0.0-alpha.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@4.0.0-alpha.1/manifests"},{"name":"@jupyter-widgets/base@5.0.0-alpha.2","sha":"30328507d88dbafea954dbd02bc98e5e3639905b","kind":"tag","published_at":"2021-02-22T20:38:32.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@5.0.0-alpha.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@5.0.0-alpha.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@5.0.0-alpha.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@5.0.0-alpha.2/manifests"},{"name":"@jupyter-widgets/base-manager@1.0.0-alpha.2","sha":"30328507d88dbafea954dbd02bc98e5e3639905b","kind":"tag","published_at":"2021-02-22T20:38:32.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base-manager@1.0.0-alpha.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base-manager@1.0.0-alpha.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase-manager@1.0.0-alpha.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase-manager@1.0.0-alpha.2/manifests"},{"name":"@jupyter-widgets/controls@4.0.0-alpha.2","sha":"30328507d88dbafea954dbd02bc98e5e3639905b","kind":"tag","published_at":"2021-02-22T20:38:32.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@4.0.0-alpha.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@4.0.0-alpha.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@4.0.0-alpha.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@4.0.0-alpha.2/manifests"},{"name":"@jupyter-widgets/example-web1@7.0.0-alpha.2","sha":"30328507d88dbafea954dbd02bc98e5e3639905b","kind":"tag","published_at":"2021-02-22T20:38:32.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@7.0.0-alpha.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@7.0.0-alpha.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@7.0.0-alpha.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@7.0.0-alpha.2/manifests"},{"name":"@jupyter-widgets/example-web2@7.0.0-alpha.2","sha":"30328507d88dbafea954dbd02bc98e5e3639905b","kind":"tag","published_at":"2021-02-22T20:38:32.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@7.0.0-alpha.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@7.0.0-alpha.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@7.0.0-alpha.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@7.0.0-alpha.2/manifests"},{"name":"@jupyter-widgets/example-web3@7.0.0-alpha.2","sha":"30328507d88dbafea954dbd02bc98e5e3639905b","kind":"tag","published_at":"2021-02-22T20:38:32.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@7.0.0-alpha.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@7.0.0-alpha.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@7.0.0-alpha.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@7.0.0-alpha.2/manifests"},{"name":"8.0.0a3","sha":"ca0da9d886c4d7918505439ac26863f3f86b8294","kind":"commit","published_at":"2021-02-10T23:58:14.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/8.0.0a3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/8.0.0a3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.0a3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.0a3/manifests"},{"name":"8.0.0a2","sha":"92c9ce61d2c54651736be2a11e1bc73c03444218","kind":"commit","published_at":"2021-02-10T23:34:46.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/8.0.0a2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/8.0.0a2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.0a2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.0a2/manifests"},{"name":"8.0.0a1","sha":"2ec59cd37626829fdb38e173c9763e1fa1d0706c","kind":"commit","published_at":"2021-02-10T22:35:34.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/8.0.0a1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/8.0.0a1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.0a1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.0a1/manifests"},{"name":"@jupyter-widgets/base@5.0.0-alpha.1","sha":"18d32a838d661040cf36eadd0d068101a43777de","kind":"tag","published_at":"2021-02-10T22:06:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@5.0.0-alpha.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@5.0.0-alpha.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@5.0.0-alpha.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@5.0.0-alpha.1/manifests"},{"name":"@jupyter-widgets/schema@0.5.0-alpha.1","sha":"18d32a838d661040cf36eadd0d068101a43777de","kind":"tag","published_at":"2021-02-10T22:06:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/schema@0.5.0-alpha.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/schema@0.5.0-alpha.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.5.0-alpha.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.5.0-alpha.1/manifests"},{"name":"@jupyter-widgets/output@5.0.0-alpha.1","sha":"18d32a838d661040cf36eadd0d068101a43777de","kind":"tag","published_at":"2021-02-10T22:06:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@5.0.0-alpha.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@5.0.0-alpha.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@5.0.0-alpha.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@5.0.0-alpha.1/manifests"},{"name":"@jupyter-widgets/notebook-manager@7.0.0-alpha.1","sha":"18d32a838d661040cf36eadd0d068101a43777de","kind":"tag","published_at":"2021-02-10T22:06:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@7.0.0-alpha.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@7.0.0-alpha.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@7.0.0-alpha.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@7.0.0-alpha.1/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@4.0.0-alpha.0","sha":"18d32a838d661040cf36eadd0d068101a43777de","kind":"tag","published_at":"2021-02-10T22:06:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@4.0.0-alpha.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@4.0.0-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@4.0.0-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@4.0.0-alpha.0/manifests"},{"name":"@jupyter-widgets/html-manager@0.21.0-alpha.1","sha":"18d32a838d661040cf36eadd0d068101a43777de","kind":"tag","published_at":"2021-02-10T22:06:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.21.0-alpha.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.21.0-alpha.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.21.0-alpha.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.21.0-alpha.1/manifests"},{"name":"@jupyter-widgets/example-web4@7.0.0-alpha.1","sha":"18d32a838d661040cf36eadd0d068101a43777de","kind":"tag","published_at":"2021-02-10T22:06:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@7.0.0-alpha.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@7.0.0-alpha.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@7.0.0-alpha.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@7.0.0-alpha.1/manifests"},{"name":"@jupyter-widgets/example-web3@7.0.0-alpha.1","sha":"18d32a838d661040cf36eadd0d068101a43777de","kind":"tag","published_at":"2021-02-10T22:06:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@7.0.0-alpha.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@7.0.0-alpha.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@7.0.0-alpha.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@7.0.0-alpha.1/manifests"},{"name":"@jupyter-widgets/example-web2@7.0.0-alpha.1","sha":"18d32a838d661040cf36eadd0d068101a43777de","kind":"tag","published_at":"2021-02-10T22:06:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@7.0.0-alpha.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@7.0.0-alpha.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@7.0.0-alpha.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@7.0.0-alpha.1/manifests"},{"name":"@jupyter-widgets/example-web1@7.0.0-alpha.1","sha":"18d32a838d661040cf36eadd0d068101a43777de","kind":"tag","published_at":"2021-02-10T22:06:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@7.0.0-alpha.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@7.0.0-alpha.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@7.0.0-alpha.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@7.0.0-alpha.1/manifests"},{"name":"@jupyter-widgets/controls@4.0.0-alpha.1","sha":"18d32a838d661040cf36eadd0d068101a43777de","kind":"tag","published_at":"2021-02-10T22:06:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@4.0.0-alpha.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@4.0.0-alpha.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@4.0.0-alpha.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@4.0.0-alpha.1/manifests"},{"name":"@jupyter-widgets/base-manager@1.0.0-alpha.1","sha":"18d32a838d661040cf36eadd0d068101a43777de","kind":"tag","published_at":"2021-02-10T22:06:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base-manager@1.0.0-alpha.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base-manager@1.0.0-alpha.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase-manager@1.0.0-alpha.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase-manager@1.0.0-alpha.1/manifests"},{"name":"7.6.3","sha":"5532c91d892e01731e16dffa54cf34dd2628928a","kind":"commit","published_at":"2021-01-07T00:26:04.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.6.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.6.3/manifests"},{"name":"7.6.2","sha":"139363b2b1094a13b71546f03dd27f843dd8f7da","kind":"commit","published_at":"2020-12-27T00:42:16.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.6.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.6.2/manifests"},{"name":"7.6.1","sha":"71333cc1b200d7a9557580e9c492eb4f65cb41e6","kind":"commit","published_at":"2020-12-26T07:26:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.6.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.6.1/manifests"},{"name":"7.6.0","sha":"2d7ebee473e44300557423cde7147131e4a64352","kind":"commit","published_at":"2020-12-24T18:03:07.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.6.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.6.0/manifests"},{"name":"@jupyter-widgets/controls@3.0.0","sha":"8ec6746db708fc084102cabe34f706c204098009","kind":"tag","published_at":"2020-12-24T17:51:05.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@3.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@3.0.0/manifests"},{"name":"@jupyter-widgets/base@4.0.0","sha":"8ec6746db708fc084102cabe34f706c204098009","kind":"tag","published_at":"2020-12-24T17:51:05.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@4.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@4.0.0/manifests"},{"name":"@jupyter-widgets/output@4.0.0","sha":"8ec6746db708fc084102cabe34f706c204098009","kind":"tag","published_at":"2020-12-24T17:51:05.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@4.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@4.0.0/manifests"},{"name":"@jupyter-widgets/notebook-manager@6.0.0","sha":"8ec6746db708fc084102cabe34f706c204098009","kind":"tag","published_at":"2020-12-24T17:51:05.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@6.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@6.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@6.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@6.0.0/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@3.0.0","sha":"8ec6746db708fc084102cabe34f706c204098009","kind":"tag","published_at":"2020-12-24T17:51:05.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@3.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@3.0.0/manifests"},{"name":"@jupyter-widgets/html-manager@0.20.0","sha":"8ec6746db708fc084102cabe34f706c204098009","kind":"tag","published_at":"2020-12-24T17:51:05.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.20.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.20.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.20.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.20.0/manifests"},{"name":"@jupyter-widgets/example-web4@6.0.0","sha":"8ec6746db708fc084102cabe34f706c204098009","kind":"tag","published_at":"2020-12-24T17:51:05.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@6.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@6.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@6.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@6.0.0/manifests"},{"name":"@jupyter-widgets/example-web3@6.0.0","sha":"8ec6746db708fc084102cabe34f706c204098009","kind":"tag","published_at":"2020-12-24T17:51:05.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@6.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@6.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@6.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@6.0.0/manifests"},{"name":"@jupyter-widgets/example-web2@6.0.0","sha":"8ec6746db708fc084102cabe34f706c204098009","kind":"tag","published_at":"2020-12-24T17:51:05.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@6.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@6.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@6.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@6.0.0/manifests"},{"name":"@jupyter-widgets/example-web1@6.0.0","sha":"8ec6746db708fc084102cabe34f706c204098009","kind":"tag","published_at":"2020-12-24T17:51:05.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@6.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@6.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@6.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@6.0.0/manifests"},{"name":"7.6.0rc0","sha":"23a899f929821e5f1f5fd67b607bd23675ba50bf","kind":"commit","published_at":"2020-12-24T06:59:43.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.6.0rc0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.6.0rc0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.6.0rc0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.6.0rc0/manifests"},{"name":"@jupyter-widgets/example-web4@6.0.0-rc.0","sha":"36592c09699f0b1a9eadae8f20aa1d07b953f402","kind":"tag","published_at":"2020-12-24T06:29:09.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@6.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@6.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@6.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@6.0.0-rc.0/manifests"},{"name":"@jupyter-widgets/base@4.0.0-rc.0","sha":"36592c09699f0b1a9eadae8f20aa1d07b953f402","kind":"tag","published_at":"2020-12-24T06:29:09.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@4.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@4.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@4.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@4.0.0-rc.0/manifests"},{"name":"@jupyter-widgets/controls@3.0.0-rc.0","sha":"36592c09699f0b1a9eadae8f20aa1d07b953f402","kind":"tag","published_at":"2020-12-24T06:29:09.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@3.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@3.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@3.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@3.0.0-rc.0/manifests"},{"name":"@jupyter-widgets/example-web1@6.0.0-rc.0","sha":"36592c09699f0b1a9eadae8f20aa1d07b953f402","kind":"tag","published_at":"2020-12-24T06:29:09.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@6.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@6.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@6.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@6.0.0-rc.0/manifests"},{"name":"@jupyter-widgets/example-web2@6.0.0-rc.0","sha":"36592c09699f0b1a9eadae8f20aa1d07b953f402","kind":"tag","published_at":"2020-12-24T06:29:09.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@6.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@6.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@6.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@6.0.0-rc.0/manifests"},{"name":"@jupyter-widgets/example-web3@6.0.0-rc.0","sha":"36592c09699f0b1a9eadae8f20aa1d07b953f402","kind":"tag","published_at":"2020-12-24T06:29:09.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@6.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@6.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@6.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@6.0.0-rc.0/manifests"},{"name":"@jupyter-widgets/html-manager@0.20.0-rc.0","sha":"36592c09699f0b1a9eadae8f20aa1d07b953f402","kind":"tag","published_at":"2020-12-24T06:29:09.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.20.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.20.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.20.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.20.0-rc.0/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@3.0.0-rc.0","sha":"36592c09699f0b1a9eadae8f20aa1d07b953f402","kind":"tag","published_at":"2020-12-24T06:29:09.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@3.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@3.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@3.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@3.0.0-rc.0/manifests"},{"name":"@jupyter-widgets/notebook-manager@6.0.0-rc.0","sha":"36592c09699f0b1a9eadae8f20aa1d07b953f402","kind":"tag","published_at":"2020-12-24T06:29:09.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@6.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@6.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@6.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@6.0.0-rc.0/manifests"},{"name":"@jupyter-widgets/output@4.0.0-rc.0","sha":"36592c09699f0b1a9eadae8f20aa1d07b953f402","kind":"tag","published_at":"2020-12-24T06:29:09.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@4.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@4.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@4.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@4.0.0-rc.0/manifests"},{"name":"@jupyter-widgets/html-manager@0.20.0-alpha.2","sha":"71b22ba3bc5e65622cb5aa595aaf91b8e737595c","kind":"tag","published_at":"2020-10-04T06:00:28.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.20.0-alpha.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.20.0-alpha.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.20.0-alpha.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.20.0-alpha.2/manifests"},{"name":"@jupyter-widgets/example-web2@6.0.0-alpha.2","sha":"71b22ba3bc5e65622cb5aa595aaf91b8e737595c","kind":"tag","published_at":"2020-10-04T06:00:28.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@6.0.0-alpha.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@6.0.0-alpha.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@6.0.0-alpha.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@6.0.0-alpha.2/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@3.0.0-alpha.2","sha":"71b22ba3bc5e65622cb5aa595aaf91b8e737595c","kind":"tag","published_at":"2020-10-04T06:00:28.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@3.0.0-alpha.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@3.0.0-alpha.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@3.0.0-alpha.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@3.0.0-alpha.2/manifests"},{"name":"@jupyter-widgets/notebook-manager@6.0.0-alpha.2","sha":"71b22ba3bc5e65622cb5aa595aaf91b8e737595c","kind":"tag","published_at":"2020-10-04T06:00:28.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@6.0.0-alpha.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@6.0.0-alpha.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@6.0.0-alpha.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@6.0.0-alpha.2/manifests"},{"name":"@jupyter-widgets/output@4.0.0-alpha.2","sha":"71b22ba3bc5e65622cb5aa595aaf91b8e737595c","kind":"tag","published_at":"2020-10-04T06:00:28.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@4.0.0-alpha.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@4.0.0-alpha.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@4.0.0-alpha.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@4.0.0-alpha.2/manifests"},{"name":"@jupyter-widgets/example-web4@6.0.0-alpha.2","sha":"71b22ba3bc5e65622cb5aa595aaf91b8e737595c","kind":"tag","published_at":"2020-10-04T06:00:28.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@6.0.0-alpha.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@6.0.0-alpha.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@6.0.0-alpha.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@6.0.0-alpha.2/manifests"},{"name":"@jupyter-widgets/example-web1@6.0.0-alpha.2","sha":"71b22ba3bc5e65622cb5aa595aaf91b8e737595c","kind":"tag","published_at":"2020-10-04T06:00:28.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@6.0.0-alpha.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@6.0.0-alpha.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@6.0.0-alpha.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@6.0.0-alpha.2/manifests"},{"name":"@jupyter-widgets/controls@3.0.0-alpha.2","sha":"71b22ba3bc5e65622cb5aa595aaf91b8e737595c","kind":"tag","published_at":"2020-10-04T06:00:28.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@3.0.0-alpha.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@3.0.0-alpha.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@3.0.0-alpha.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@3.0.0-alpha.2/manifests"},{"name":"@jupyter-widgets/base@4.0.0-alpha.2","sha":"71b22ba3bc5e65622cb5aa595aaf91b8e737595c","kind":"tag","published_at":"2020-10-04T06:00:28.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@4.0.0-alpha.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@4.0.0-alpha.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@4.0.0-alpha.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@4.0.0-alpha.2/manifests"},{"name":"@jupyter-widgets/example-web3@6.0.0-alpha.2","sha":"71b22ba3bc5e65622cb5aa595aaf91b8e737595c","kind":"tag","published_at":"2020-10-04T06:00:28.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@6.0.0-alpha.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@6.0.0-alpha.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@6.0.0-alpha.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@6.0.0-alpha.2/manifests"},{"name":"@jupyter-widgets/example-web3@6.0.0-alpha.1","sha":"1344b59b13a08079c717b2355fe663edb1924123","kind":"tag","published_at":"2020-09-18T12:19:19.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@6.0.0-alpha.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@6.0.0-alpha.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@6.0.0-alpha.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@6.0.0-alpha.1/manifests"},{"name":"@jupyter-widgets/base@4.0.0-alpha.1","sha":"1344b59b13a08079c717b2355fe663edb1924123","kind":"tag","published_at":"2020-09-18T12:19:19.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@4.0.0-alpha.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@4.0.0-alpha.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@4.0.0-alpha.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@4.0.0-alpha.1/manifests"},{"name":"@jupyter-widgets/notebook-manager@6.0.0-alpha.1","sha":"1344b59b13a08079c717b2355fe663edb1924123","kind":"tag","published_at":"2020-09-18T12:19:19.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@6.0.0-alpha.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@6.0.0-alpha.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@6.0.0-alpha.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@6.0.0-alpha.1/manifests"},{"name":"@jupyter-widgets/controls@3.0.0-alpha.1","sha":"1344b59b13a08079c717b2355fe663edb1924123","kind":"tag","published_at":"2020-09-18T12:19:19.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@3.0.0-alpha.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@3.0.0-alpha.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@3.0.0-alpha.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@3.0.0-alpha.1/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@3.0.0-alpha.1","sha":"1344b59b13a08079c717b2355fe663edb1924123","kind":"tag","published_at":"2020-09-18T12:19:19.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@3.0.0-alpha.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@3.0.0-alpha.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@3.0.0-alpha.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@3.0.0-alpha.1/manifests"},{"name":"@jupyter-widgets/example-web1@6.0.0-alpha.1","sha":"1344b59b13a08079c717b2355fe663edb1924123","kind":"tag","published_at":"2020-09-18T12:19:19.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@6.0.0-alpha.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@6.0.0-alpha.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@6.0.0-alpha.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@6.0.0-alpha.1/manifests"},{"name":"@jupyter-widgets/html-manager@0.20.0-alpha.1","sha":"1344b59b13a08079c717b2355fe663edb1924123","kind":"tag","published_at":"2020-09-18T12:19:19.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.20.0-alpha.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.20.0-alpha.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.20.0-alpha.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.20.0-alpha.1/manifests"},{"name":"@jupyter-widgets/example-web2@6.0.0-alpha.1","sha":"1344b59b13a08079c717b2355fe663edb1924123","kind":"tag","published_at":"2020-09-18T12:19:19.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@6.0.0-alpha.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@6.0.0-alpha.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@6.0.0-alpha.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@6.0.0-alpha.1/manifests"},{"name":"@jupyter-widgets/example-web4@6.0.0-alpha.1","sha":"1344b59b13a08079c717b2355fe663edb1924123","kind":"tag","published_at":"2020-09-18T12:19:19.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@6.0.0-alpha.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@6.0.0-alpha.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@6.0.0-alpha.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@6.0.0-alpha.1/manifests"},{"name":"@jupyter-widgets/output@4.0.0-alpha.1","sha":"1344b59b13a08079c717b2355fe663edb1924123","kind":"tag","published_at":"2020-09-18T12:19:19.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@4.0.0-alpha.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@4.0.0-alpha.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@4.0.0-alpha.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@4.0.0-alpha.1/manifests"},{"name":"8.0.0a0","sha":"5dd36e6810ec8e2bc2880c7f4a2be19fbe8ec4a3","kind":"commit","published_at":"2020-03-10T15:10:27.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/8.0.0a0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/8.0.0a0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.0a0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/8.0.0a0/manifests"},{"name":"@jupyter-widgets/base@4.0.0-alpha.0","sha":"a01f258dad4672183ff8fb783553ffc2e442b36a","kind":"tag","published_at":"2020-03-10T13:42:21.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@4.0.0-alpha.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@4.0.0-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@4.0.0-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@4.0.0-alpha.0/manifests"},{"name":"@jupyter-widgets/schema@0.5.0-alpha.0","sha":"a01f258dad4672183ff8fb783553ffc2e442b36a","kind":"tag","published_at":"2020-03-10T13:42:21.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/schema@0.5.0-alpha.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/schema@0.5.0-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.5.0-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.5.0-alpha.0/manifests"},{"name":"@jupyter-widgets/output@4.0.0-alpha.0","sha":"a01f258dad4672183ff8fb783553ffc2e442b36a","kind":"tag","published_at":"2020-03-10T13:42:21.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@4.0.0-alpha.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@4.0.0-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@4.0.0-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@4.0.0-alpha.0/manifests"},{"name":"@jupyter-widgets/base-manager@1.0.0-alpha.0","sha":"a01f258dad4672183ff8fb783553ffc2e442b36a","kind":"tag","published_at":"2020-03-10T13:42:21.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base-manager@1.0.0-alpha.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base-manager@1.0.0-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase-manager@1.0.0-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase-manager@1.0.0-alpha.0/manifests"},{"name":"@jupyter-widgets/controls@3.0.0-alpha.0","sha":"a01f258dad4672183ff8fb783553ffc2e442b36a","kind":"tag","published_at":"2020-03-10T13:42:21.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@3.0.0-alpha.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@3.0.0-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@3.0.0-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@3.0.0-alpha.0/manifests"},{"name":"@jupyter-widgets/example-web1@6.0.0-alpha.0","sha":"a01f258dad4672183ff8fb783553ffc2e442b36a","kind":"tag","published_at":"2020-03-10T13:42:21.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@6.0.0-alpha.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@6.0.0-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@6.0.0-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@6.0.0-alpha.0/manifests"},{"name":"@jupyter-widgets/example-web2@6.0.0-alpha.0","sha":"a01f258dad4672183ff8fb783553ffc2e442b36a","kind":"tag","published_at":"2020-03-10T13:42:21.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@6.0.0-alpha.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@6.0.0-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@6.0.0-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@6.0.0-alpha.0/manifests"},{"name":"@jupyter-widgets/example-web3@6.0.0-alpha.0","sha":"a01f258dad4672183ff8fb783553ffc2e442b36a","kind":"tag","published_at":"2020-03-10T13:42:21.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@6.0.0-alpha.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@6.0.0-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@6.0.0-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@6.0.0-alpha.0/manifests"},{"name":"@jupyter-widgets/example-web4@6.0.0-alpha.0","sha":"a01f258dad4672183ff8fb783553ffc2e442b36a","kind":"tag","published_at":"2020-03-10T13:42:21.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@6.0.0-alpha.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@6.0.0-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@6.0.0-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@6.0.0-alpha.0/manifests"},{"name":"@jupyter-widgets/html-manager@0.20.0-alpha.0","sha":"a01f258dad4672183ff8fb783553ffc2e442b36a","kind":"tag","published_at":"2020-03-10T13:42:21.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.20.0-alpha.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.20.0-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.20.0-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.20.0-alpha.0/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@3.0.0-alpha.0","sha":"a01f258dad4672183ff8fb783553ffc2e442b36a","kind":"tag","published_at":"2020-03-10T13:42:21.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@3.0.0-alpha.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@3.0.0-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@3.0.0-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@3.0.0-alpha.0/manifests"},{"name":"@jupyter-widgets/notebook-manager@6.0.0-alpha.0","sha":"a01f258dad4672183ff8fb783553ffc2e442b36a","kind":"tag","published_at":"2020-03-10T13:42:21.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@6.0.0-alpha.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@6.0.0-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@6.0.0-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@6.0.0-alpha.0/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@2.0.0","sha":"bed7b2c0458330b1e5a427882ccfc4ea5d3b1e16","kind":"tag","published_at":"2020-03-03T00:31:18.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@2.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@2.0.0/manifests"},{"name":"@jupyter-widgets/output@3.0.0","sha":"bed7b2c0458330b1e5a427882ccfc4ea5d3b1e16","kind":"tag","published_at":"2020-03-03T00:31:18.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@3.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@3.0.0/manifests"},{"name":"@jupyter-widgets/notebook-manager@5.0.0","sha":"bed7b2c0458330b1e5a427882ccfc4ea5d3b1e16","kind":"tag","published_at":"2020-03-03T00:31:18.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@5.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@5.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@5.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@5.0.0/manifests"},{"name":"@jupyter-widgets/html-manager@0.19.0","sha":"bed7b2c0458330b1e5a427882ccfc4ea5d3b1e16","kind":"tag","published_at":"2020-03-03T00:31:18.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.19.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.19.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.19.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.19.0/manifests"},{"name":"@jupyter-widgets/example-web4@5.0.0","sha":"bed7b2c0458330b1e5a427882ccfc4ea5d3b1e16","kind":"tag","published_at":"2020-03-03T00:31:18.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@5.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@5.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@5.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@5.0.0/manifests"},{"name":"@jupyter-widgets/example-web3@5.0.0","sha":"bed7b2c0458330b1e5a427882ccfc4ea5d3b1e16","kind":"tag","published_at":"2020-03-03T00:31:18.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@5.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@5.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@5.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@5.0.0/manifests"},{"name":"@jupyter-widgets/example-web2@5.0.0","sha":"bed7b2c0458330b1e5a427882ccfc4ea5d3b1e16","kind":"tag","published_at":"2020-03-03T00:31:18.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@5.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@5.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@5.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@5.0.0/manifests"},{"name":"@jupyter-widgets/example-web1@5.0.0","sha":"bed7b2c0458330b1e5a427882ccfc4ea5d3b1e16","kind":"tag","published_at":"2020-03-03T00:31:18.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@5.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@5.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@5.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@5.0.0/manifests"},{"name":"@jupyter-widgets/controls@2.0.0","sha":"bed7b2c0458330b1e5a427882ccfc4ea5d3b1e16","kind":"tag","published_at":"2020-03-03T00:31:18.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@2.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@2.0.0/manifests"},{"name":"@jupyter-widgets/base@3.0.0","sha":"bed7b2c0458330b1e5a427882ccfc4ea5d3b1e16","kind":"tag","published_at":"2020-03-03T00:31:18.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@3.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@3.0.0/manifests"},{"name":"@jupyter-widgets/base@3.0.0-rc.1","sha":"e6016b4df870149303188e520786ba43ef03c984","kind":"tag","published_at":"2020-03-02T22:11:52.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@3.0.0-rc.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@3.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@3.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@3.0.0-rc.1/manifests"},{"name":"@jupyter-widgets/notebook-manager@5.0.0-rc.4","sha":"e6016b4df870149303188e520786ba43ef03c984","kind":"tag","published_at":"2020-03-02T22:11:52.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@5.0.0-rc.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@5.0.0-rc.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@5.0.0-rc.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@5.0.0-rc.4/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@2.0.0-rc.4","sha":"e6016b4df870149303188e520786ba43ef03c984","kind":"tag","published_at":"2020-03-02T22:11:52.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@2.0.0-rc.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@2.0.0-rc.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@2.0.0-rc.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@2.0.0-rc.4/manifests"},{"name":"@jupyter-widgets/html-manager@0.19.0-rc.4","sha":"e6016b4df870149303188e520786ba43ef03c984","kind":"tag","published_at":"2020-03-02T22:11:52.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.19.0-rc.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.19.0-rc.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.19.0-rc.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.19.0-rc.4/manifests"},{"name":"@jupyter-widgets/example-web4@5.0.0-rc.4","sha":"e6016b4df870149303188e520786ba43ef03c984","kind":"tag","published_at":"2020-03-02T22:11:52.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@5.0.0-rc.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@5.0.0-rc.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@5.0.0-rc.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@5.0.0-rc.4/manifests"},{"name":"@jupyter-widgets/example-web3@5.0.0-rc.4","sha":"e6016b4df870149303188e520786ba43ef03c984","kind":"tag","published_at":"2020-03-02T22:11:52.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@5.0.0-rc.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@5.0.0-rc.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@5.0.0-rc.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@5.0.0-rc.4/manifests"},{"name":"@jupyter-widgets/example-web2@5.0.0-rc.4","sha":"e6016b4df870149303188e520786ba43ef03c984","kind":"tag","published_at":"2020-03-02T22:11:52.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@5.0.0-rc.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@5.0.0-rc.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@5.0.0-rc.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@5.0.0-rc.4/manifests"},{"name":"@jupyter-widgets/example-web1@5.0.0-rc.4","sha":"e6016b4df870149303188e520786ba43ef03c984","kind":"tag","published_at":"2020-03-02T22:11:52.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@5.0.0-rc.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@5.0.0-rc.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@5.0.0-rc.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@5.0.0-rc.4/manifests"},{"name":"@jupyter-widgets/controls@2.0.0-rc.13","sha":"e6016b4df870149303188e520786ba43ef03c984","kind":"tag","published_at":"2020-03-02T22:11:52.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@2.0.0-rc.13","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@2.0.0-rc.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@2.0.0-rc.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@2.0.0-rc.13/manifests"},{"name":"@jupyter-widgets/output@3.0.0-rc.1","sha":"e6016b4df870149303188e520786ba43ef03c984","kind":"tag","published_at":"2020-03-02T22:11:52.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@3.0.0-rc.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@3.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@3.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@3.0.0-rc.1/manifests"},{"name":"@jupyter-widgets/controls@2.0.0-rc.12","sha":"47db2a9c61682f86cdf92a8e240b8a9984146bcd","kind":"tag","published_at":"2020-02-25T23:14:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@2.0.0-rc.12","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@2.0.0-rc.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@2.0.0-rc.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@2.0.0-rc.12/manifests"},{"name":"@jupyter-widgets/example-web1@5.0.0-rc.3","sha":"47db2a9c61682f86cdf92a8e240b8a9984146bcd","kind":"tag","published_at":"2020-02-25T23:14:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@5.0.0-rc.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@5.0.0-rc.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@5.0.0-rc.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@5.0.0-rc.3/manifests"},{"name":"@jupyter-widgets/example-web2@5.0.0-rc.3","sha":"47db2a9c61682f86cdf92a8e240b8a9984146bcd","kind":"tag","published_at":"2020-02-25T23:14:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@5.0.0-rc.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@5.0.0-rc.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@5.0.0-rc.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@5.0.0-rc.3/manifests"},{"name":"@jupyter-widgets/example-web3@5.0.0-rc.3","sha":"47db2a9c61682f86cdf92a8e240b8a9984146bcd","kind":"tag","published_at":"2020-02-25T23:14:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@5.0.0-rc.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@5.0.0-rc.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@5.0.0-rc.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@5.0.0-rc.3/manifests"},{"name":"@jupyter-widgets/example-web4@5.0.0-rc.3","sha":"47db2a9c61682f86cdf92a8e240b8a9984146bcd","kind":"tag","published_at":"2020-02-25T23:14:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@5.0.0-rc.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@5.0.0-rc.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@5.0.0-rc.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@5.0.0-rc.3/manifests"},{"name":"@jupyter-widgets/html-manager@0.19.0-rc.3","sha":"47db2a9c61682f86cdf92a8e240b8a9984146bcd","kind":"tag","published_at":"2020-02-25T23:14:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.19.0-rc.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.19.0-rc.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.19.0-rc.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.19.0-rc.3/manifests"},{"name":"@jupyter-widgets/notebook-manager@5.0.0-rc.3","sha":"47db2a9c61682f86cdf92a8e240b8a9984146bcd","kind":"tag","published_at":"2020-02-25T23:14:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@5.0.0-rc.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@5.0.0-rc.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@5.0.0-rc.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@5.0.0-rc.3/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@2.0.0-rc.3","sha":"47db2a9c61682f86cdf92a8e240b8a9984146bcd","kind":"tag","published_at":"2020-02-25T23:14:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@2.0.0-rc.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@2.0.0-rc.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@2.0.0-rc.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@2.0.0-rc.3/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@2.0.0-rc.2","sha":"75a3ff5821e439a9226ab8cfbf9838d5760ce05a","kind":"tag","published_at":"2020-02-15T15:22:47.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@2.0.0-rc.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@2.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@2.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@2.0.0-rc.2/manifests"},{"name":"@jupyter-widgets/controls@2.0.0-rc.11","sha":"75a3ff5821e439a9226ab8cfbf9838d5760ce05a","kind":"tag","published_at":"2020-02-15T15:22:47.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@2.0.0-rc.11","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@2.0.0-rc.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@2.0.0-rc.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@2.0.0-rc.11/manifests"},{"name":"@jupyter-widgets/example-web1@5.0.0-rc.2","sha":"75a3ff5821e439a9226ab8cfbf9838d5760ce05a","kind":"tag","published_at":"2020-02-15T15:22:47.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@5.0.0-rc.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@5.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@5.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@5.0.0-rc.2/manifests"},{"name":"@jupyter-widgets/notebook-manager@5.0.0-rc.2","sha":"75a3ff5821e439a9226ab8cfbf9838d5760ce05a","kind":"tag","published_at":"2020-02-15T15:22:47.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@5.0.0-rc.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@5.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@5.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@5.0.0-rc.2/manifests"},{"name":"@jupyter-widgets/example-web2@5.0.0-rc.2","sha":"75a3ff5821e439a9226ab8cfbf9838d5760ce05a","kind":"tag","published_at":"2020-02-15T15:22:47.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@5.0.0-rc.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@5.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@5.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@5.0.0-rc.2/manifests"},{"name":"@jupyter-widgets/example-web3@5.0.0-rc.2","sha":"75a3ff5821e439a9226ab8cfbf9838d5760ce05a","kind":"tag","published_at":"2020-02-15T15:22:47.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@5.0.0-rc.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@5.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@5.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@5.0.0-rc.2/manifests"},{"name":"@jupyter-widgets/example-web4@5.0.0-rc.2","sha":"75a3ff5821e439a9226ab8cfbf9838d5760ce05a","kind":"tag","published_at":"2020-02-15T15:22:47.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@5.0.0-rc.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@5.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@5.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@5.0.0-rc.2/manifests"},{"name":"@jupyter-widgets/html-manager@0.19.0-rc.2","sha":"75a3ff5821e439a9226ab8cfbf9838d5760ce05a","kind":"tag","published_at":"2020-02-15T15:22:47.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.19.0-rc.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.19.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.19.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.19.0-rc.2/manifests"},{"name":"@jupyter-widgets/example-web3@5.0.0-rc.1","sha":"a5a0804bdf2de103f9b5eae86b42ae2223d693bf","kind":"tag","published_at":"2020-02-15T15:19:00.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@5.0.0-rc.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@5.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@5.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@5.0.0-rc.1/manifests"},{"name":"@jupyter-widgets/example-web4@5.0.0-rc.1","sha":"a5a0804bdf2de103f9b5eae86b42ae2223d693bf","kind":"tag","published_at":"2020-02-15T15:19:00.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@5.0.0-rc.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@5.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@5.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@5.0.0-rc.1/manifests"},{"name":"@jupyter-widgets/controls@2.0.0-rc.10","sha":"a5a0804bdf2de103f9b5eae86b42ae2223d693bf","kind":"tag","published_at":"2020-02-15T15:19:00.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@2.0.0-rc.10","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@2.0.0-rc.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@2.0.0-rc.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@2.0.0-rc.10/manifests"},{"name":"@jupyter-widgets/notebook-manager@5.0.0-rc.1","sha":"a5a0804bdf2de103f9b5eae86b42ae2223d693bf","kind":"tag","published_at":"2020-02-15T15:19:00.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@5.0.0-rc.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@5.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@5.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@5.0.0-rc.1/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@2.0.0-rc.1","sha":"a5a0804bdf2de103f9b5eae86b42ae2223d693bf","kind":"tag","published_at":"2020-02-15T15:19:00.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@2.0.0-rc.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@2.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@2.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@2.0.0-rc.1/manifests"},{"name":"@jupyter-widgets/example-web1@5.0.0-rc.1","sha":"a5a0804bdf2de103f9b5eae86b42ae2223d693bf","kind":"tag","published_at":"2020-02-15T15:19:00.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@5.0.0-rc.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@5.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@5.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@5.0.0-rc.1/manifests"},{"name":"@jupyter-widgets/html-manager@0.19.0-rc.1","sha":"a5a0804bdf2de103f9b5eae86b42ae2223d693bf","kind":"tag","published_at":"2020-02-15T15:19:00.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.19.0-rc.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.19.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.19.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.19.0-rc.1/manifests"},{"name":"@jupyter-widgets/example-web2@5.0.0-rc.1","sha":"a5a0804bdf2de103f9b5eae86b42ae2223d693bf","kind":"tag","published_at":"2020-02-15T15:19:00.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@5.0.0-rc.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@5.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@5.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@5.0.0-rc.1/manifests"},{"name":"@jupyter-widgets/example-web1@5.0.0-rc.0","sha":"9bb15c6aead00107fcc0d09ff1c2f67418a11174","kind":"tag","published_at":"2020-02-15T14:48:26.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@5.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@5.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@5.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@5.0.0-rc.0/manifests"},{"name":"@jupyter-widgets/notebook-manager@5.0.0-rc.0","sha":"9bb15c6aead00107fcc0d09ff1c2f67418a11174","kind":"tag","published_at":"2020-02-15T14:48:26.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@5.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@5.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@5.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@5.0.0-rc.0/manifests"},{"name":"@jupyter-widgets/output@3.0.0-rc.0","sha":"9bb15c6aead00107fcc0d09ff1c2f67418a11174","kind":"tag","published_at":"2020-02-15T14:48:26.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@3.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@3.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@3.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@3.0.0-rc.0/manifests"},{"name":"@jupyter-widgets/example-web4@5.0.0-rc.0","sha":"9bb15c6aead00107fcc0d09ff1c2f67418a11174","kind":"tag","published_at":"2020-02-15T14:48:26.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@5.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@5.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@5.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@5.0.0-rc.0/manifests"},{"name":"@jupyter-widgets/html-manager@0.19.0-rc.0","sha":"9bb15c6aead00107fcc0d09ff1c2f67418a11174","kind":"tag","published_at":"2020-02-15T14:48:26.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.19.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.19.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.19.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.19.0-rc.0/manifests"},{"name":"@jupyter-widgets/base@3.0.0-rc.0","sha":"9bb15c6aead00107fcc0d09ff1c2f67418a11174","kind":"tag","published_at":"2020-02-15T14:48:26.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@3.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@3.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@3.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@3.0.0-rc.0/manifests"},{"name":"@jupyter-widgets/controls@1.5.4-2.0.0-rc.10.0","sha":"9bb15c6aead00107fcc0d09ff1c2f67418a11174","kind":"tag","published_at":"2020-02-15T14:48:26.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.5.4-2.0.0-rc.10.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.5.4-2.0.0-rc.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.5.4-2.0.0-rc.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.5.4-2.0.0-rc.10.0/manifests"},{"name":"@jupyter-widgets/example-web3@5.0.0-rc.0","sha":"9bb15c6aead00107fcc0d09ff1c2f67418a11174","kind":"tag","published_at":"2020-02-15T14:48:26.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@5.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@5.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@5.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@5.0.0-rc.0/manifests"},{"name":"@jupyter-widgets/example-web2@5.0.0-rc.0","sha":"9bb15c6aead00107fcc0d09ff1c2f67418a11174","kind":"tag","published_at":"2020-02-15T14:48:26.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@5.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@5.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@5.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@5.0.0-rc.0/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@2.0.0-rc.0","sha":"9bb15c6aead00107fcc0d09ff1c2f67418a11174","kind":"tag","published_at":"2020-02-15T14:48:26.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@2.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@2.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@2.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@2.0.0-rc.0/manifests"},{"name":"@jupyter-widgets/notebook-manager@4.0.4","sha":"92d7d42c00a1b0d9ce921533acb08beefdea3eb2","kind":"tag","published_at":"2019-11-04T16:27:29.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@4.0.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@4.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@4.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@4.0.4/manifests"},{"name":"@jupyter-widgets/output@2.0.1","sha":"92d7d42c00a1b0d9ce921533acb08beefdea3eb2","kind":"tag","published_at":"2019-11-04T16:27:29.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@2.0.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@2.0.1/manifests"},{"name":"@jupyter-widgets/base@2.0.2","sha":"92d7d42c00a1b0d9ce921533acb08beefdea3eb2","kind":"tag","published_at":"2019-11-04T16:27:29.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@2.0.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@2.0.2/manifests"},{"name":"@jupyter-widgets/html-manager@0.18.4","sha":"92d7d42c00a1b0d9ce921533acb08beefdea3eb2","kind":"tag","published_at":"2019-11-04T16:27:29.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.18.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.18.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.18.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.18.4/manifests"},{"name":"@jupyter-widgets/example-web4@4.0.3","sha":"92d7d42c00a1b0d9ce921533acb08beefdea3eb2","kind":"tag","published_at":"2019-11-04T16:27:29.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@4.0.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@4.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@4.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@4.0.3/manifests"},{"name":"@jupyter-widgets/example-web3@4.0.3","sha":"92d7d42c00a1b0d9ce921533acb08beefdea3eb2","kind":"tag","published_at":"2019-11-04T16:27:29.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@4.0.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@4.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@4.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@4.0.3/manifests"},{"name":"@jupyter-widgets/example-web2@4.0.3","sha":"92d7d42c00a1b0d9ce921533acb08beefdea3eb2","kind":"tag","published_at":"2019-11-04T16:27:29.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@4.0.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@4.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@4.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@4.0.3/manifests"},{"name":"@jupyter-widgets/example-web1@4.0.3","sha":"92d7d42c00a1b0d9ce921533acb08beefdea3eb2","kind":"tag","published_at":"2019-11-04T16:27:29.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@4.0.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@4.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@4.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@4.0.3/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@1.1.0","sha":"92d7d42c00a1b0d9ce921533acb08beefdea3eb2","kind":"tag","published_at":"2019-11-04T16:27:29.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@1.1.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@1.1.0/manifests"},{"name":"@jupyter-widgets/controls@1.5.3","sha":"92d7d42c00a1b0d9ce921533acb08beefdea3eb2","kind":"tag","published_at":"2019-11-04T16:27:29.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.5.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.5.3/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@1.0.3","sha":"245fb0ab43048be96bef5feb3f14b800c93a202e","kind":"tag","published_at":"2019-10-16T20:03:47.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@1.0.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@1.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@1.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@1.0.3/manifests"},{"name":"@jupyter-widgets/notebook-manager@4.0.3","sha":"245fb0ab43048be96bef5feb3f14b800c93a202e","kind":"tag","published_at":"2019-10-16T20:03:47.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@4.0.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@4.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@4.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@4.0.3/manifests"},{"name":"7.5.1","sha":"80921ac9f9a18c43b02918ce3913818c188ae34c","kind":"commit","published_at":"2019-07-29T18:55:29.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.5.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.5.1/manifests"},{"name":"@jupyter-widgets/example-web4@4.0.2","sha":"4bbe07f28042b218f8566dd0df60e92e2b38b29b","kind":"tag","published_at":"2019-07-29T18:46:45.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@4.0.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@4.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@4.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@4.0.2/manifests"},{"name":"@jupyter-widgets/notebook-manager@4.0.2","sha":"4bbe07f28042b218f8566dd0df60e92e2b38b29b","kind":"tag","published_at":"2019-07-29T18:46:45.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@4.0.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@4.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@4.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@4.0.2/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@1.0.2","sha":"4bbe07f28042b218f8566dd0df60e92e2b38b29b","kind":"tag","published_at":"2019-07-29T18:46:45.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@1.0.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@1.0.2/manifests"},{"name":"@jupyter-widgets/html-manager@0.18.3","sha":"4bbe07f28042b218f8566dd0df60e92e2b38b29b","kind":"tag","published_at":"2019-07-29T18:46:45.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.18.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.18.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.18.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.18.3/manifests"},{"name":"@jupyter-widgets/example-web3@4.0.2","sha":"4bbe07f28042b218f8566dd0df60e92e2b38b29b","kind":"tag","published_at":"2019-07-29T18:46:45.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@4.0.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@4.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@4.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@4.0.2/manifests"},{"name":"@jupyter-widgets/example-web2@4.0.2","sha":"4bbe07f28042b218f8566dd0df60e92e2b38b29b","kind":"tag","published_at":"2019-07-29T18:46:45.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@4.0.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@4.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@4.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@4.0.2/manifests"},{"name":"@jupyter-widgets/example-web1@4.0.2","sha":"4bbe07f28042b218f8566dd0df60e92e2b38b29b","kind":"tag","published_at":"2019-07-29T18:46:45.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@4.0.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@4.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@4.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@4.0.2/manifests"},{"name":"@jupyter-widgets/controls@1.5.2","sha":"4bbe07f28042b218f8566dd0df60e92e2b38b29b","kind":"tag","published_at":"2019-07-29T18:46:45.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.5.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.5.2/manifests"},{"name":"@jupyter-widgets/notebook-manager@4.0.1","sha":"b2a998402120c2b9a277508efd7453f678c5785e","kind":"tag","published_at":"2019-07-10T14:53:29.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@4.0.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@4.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@4.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@4.0.1/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@1.0.1","sha":"b2a998402120c2b9a277508efd7453f678c5785e","kind":"tag","published_at":"2019-07-10T14:53:29.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@1.0.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@1.0.1/manifests"},{"name":"@jupyter-widgets/example-web3@4.0.1","sha":"b2a998402120c2b9a277508efd7453f678c5785e","kind":"tag","published_at":"2019-07-10T14:53:29.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@4.0.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@4.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@4.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@4.0.1/manifests"},{"name":"@jupyter-widgets/html-manager@0.18.2","sha":"b2a998402120c2b9a277508efd7453f678c5785e","kind":"tag","published_at":"2019-07-10T14:53:29.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.18.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.18.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.18.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.18.2/manifests"},{"name":"@jupyter-widgets/example-web1@4.0.1","sha":"b2a998402120c2b9a277508efd7453f678c5785e","kind":"tag","published_at":"2019-07-10T14:53:29.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@4.0.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@4.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@4.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@4.0.1/manifests"},{"name":"@jupyter-widgets/example-web4@4.0.1","sha":"b2a998402120c2b9a277508efd7453f678c5785e","kind":"tag","published_at":"2019-07-10T14:53:29.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@4.0.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@4.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@4.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@4.0.1/manifests"},{"name":"@jupyter-widgets/example-web2@4.0.1","sha":"b2a998402120c2b9a277508efd7453f678c5785e","kind":"tag","published_at":"2019-07-10T14:53:29.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@4.0.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@4.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@4.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@4.0.1/manifests"},{"name":"@jupyter-widgets/controls@1.5.1","sha":"b2a998402120c2b9a277508efd7453f678c5785e","kind":"tag","published_at":"2019-07-10T14:53:29.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.5.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.5.1/manifests"},{"name":"@jupyter-widgets/html-manager@0.18.1","sha":"e8d1c8c37df96d812ab7a6f97a19d582023e6d84","kind":"tag","published_at":"2019-07-02T06:36:51.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.18.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.18.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.18.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.18.1/manifests"},{"name":"@jupyter-widgets/schema@0.4.0","sha":"e8d1c8c37df96d812ab7a6f97a19d582023e6d84","kind":"tag","published_at":"2019-07-02T06:36:26.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/schema@0.4.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/schema@0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.4.0/manifests"},{"name":"7.5.0","sha":"d2719753f188257c10f29aeb32ef7c27f46a387e","kind":"tag","published_at":"2019-07-01T23:05:00.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.5.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.5.0/manifests"},{"name":"@jupyter-widgets/base@2.0.1","sha":"2c90130be14f0279deb8d43d79b7bce12f28327c","kind":"tag","published_at":"2019-07-01T22:56:34.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@2.0.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@2.0.1/manifests"},{"name":"@jupyter-widgets/output@2.0.0","sha":"2c90130be14f0279deb8d43d79b7bce12f28327c","kind":"tag","published_at":"2019-07-01T22:56:34.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@2.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@2.0.0/manifests"},{"name":"@jupyter-widgets/notebook-manager@4.0.0","sha":"2c90130be14f0279deb8d43d79b7bce12f28327c","kind":"tag","published_at":"2019-07-01T22:56:34.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@4.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@4.0.0/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@1.0.0","sha":"2c90130be14f0279deb8d43d79b7bce12f28327c","kind":"tag","published_at":"2019-07-01T22:56:34.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@1.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@1.0.0/manifests"},{"name":"@jupyter-widgets/html-manager@0.18.0","sha":"2c90130be14f0279deb8d43d79b7bce12f28327c","kind":"tag","published_at":"2019-07-01T22:56:34.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.18.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.18.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.18.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.18.0/manifests"},{"name":"@jupyter-widgets/example-web4@4.0.0","sha":"2c90130be14f0279deb8d43d79b7bce12f28327c","kind":"tag","published_at":"2019-07-01T22:56:34.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@4.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@4.0.0/manifests"},{"name":"@jupyter-widgets/example-web3@4.0.0","sha":"2c90130be14f0279deb8d43d79b7bce12f28327c","kind":"tag","published_at":"2019-07-01T22:56:34.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@4.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@4.0.0/manifests"},{"name":"@jupyter-widgets/example-web2@4.0.0","sha":"2c90130be14f0279deb8d43d79b7bce12f28327c","kind":"tag","published_at":"2019-07-01T22:56:34.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@4.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@4.0.0/manifests"},{"name":"@jupyter-widgets/example-web1@4.0.0","sha":"2c90130be14f0279deb8d43d79b7bce12f28327c","kind":"tag","published_at":"2019-07-01T22:56:34.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@4.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@4.0.0/manifests"},{"name":"@jupyter-widgets/controls@1.5.0","sha":"2c90130be14f0279deb8d43d79b7bce12f28327c","kind":"tag","published_at":"2019-07-01T22:56:34.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.5.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.5.0/manifests"},{"name":"@jupyter-widgets/base@2.0.0","sha":"4fddd228d910d8940aa819172dfafedc4fbd2e80","kind":"tag","published_at":"2019-07-01T22:06:37.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@2.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@2.0.0/manifests"},{"name":"7.5.0rc3","sha":"26300c528fa8b4a7f2581da22bf10be6274af3cc","kind":"tag","published_at":"2019-07-01T21:03:26.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.5.0rc3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.5.0rc3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.5.0rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.5.0rc3/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@1.0.0-rc.3","sha":"7c1ab195cb44ac77421aff6e86cbfb697f56a2a0","kind":"tag","published_at":"2019-07-01T20:43:56.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@1.0.0-rc.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@1.0.0-rc.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@1.0.0-rc.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@1.0.0-rc.3/manifests"},{"name":"@jupyter-widgets/example-web2@4.0.0-rc.3","sha":"7c1ab195cb44ac77421aff6e86cbfb697f56a2a0","kind":"tag","published_at":"2019-07-01T20:43:56.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@4.0.0-rc.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@4.0.0-rc.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@4.0.0-rc.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@4.0.0-rc.3/manifests"},{"name":"@jupyter-widgets/example-web1@4.0.0-rc.3","sha":"7c1ab195cb44ac77421aff6e86cbfb697f56a2a0","kind":"tag","published_at":"2019-07-01T20:43:56.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@4.0.0-rc.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@4.0.0-rc.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@4.0.0-rc.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@4.0.0-rc.3/manifests"},{"name":"@jupyter-widgets/html-manager@0.18.0-rc.3","sha":"7c1ab195cb44ac77421aff6e86cbfb697f56a2a0","kind":"tag","published_at":"2019-07-01T20:43:56.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.18.0-rc.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.18.0-rc.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.18.0-rc.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.18.0-rc.3/manifests"},{"name":"@jupyter-widgets/notebook-manager@4.0.0-rc.3","sha":"7c1ab195cb44ac77421aff6e86cbfb697f56a2a0","kind":"tag","published_at":"2019-07-01T20:43:56.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@4.0.0-rc.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@4.0.0-rc.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@4.0.0-rc.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@4.0.0-rc.3/manifests"},{"name":"@jupyter-widgets/controls@1.5.0-rc.0","sha":"7c1ab195cb44ac77421aff6e86cbfb697f56a2a0","kind":"tag","published_at":"2019-07-01T20:43:56.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.5.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.5.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.5.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.5.0-rc.0/manifests"},{"name":"@jupyter-widgets/example-web4@4.0.0-rc.3","sha":"7c1ab195cb44ac77421aff6e86cbfb697f56a2a0","kind":"tag","published_at":"2019-07-01T20:43:56.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@4.0.0-rc.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@4.0.0-rc.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@4.0.0-rc.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@4.0.0-rc.3/manifests"},{"name":"@jupyter-widgets/example-web3@4.0.0-rc.3","sha":"7c1ab195cb44ac77421aff6e86cbfb697f56a2a0","kind":"tag","published_at":"2019-07-01T20:43:56.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@4.0.0-rc.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@4.0.0-rc.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@4.0.0-rc.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@4.0.0-rc.3/manifests"},{"name":"7.5.0rc2","sha":"44c1a96e25ec74954948cf6c5a2bae4081394c2d","kind":"tag","published_at":"2019-07-01T13:54:35.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.5.0rc2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.5.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.5.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.5.0rc2/manifests"},{"name":"@jupyter-widgets/base@2.0.0-rc.2","sha":"a56a41d72ed275ebcbcdd2e434a76e3b6293dc17","kind":"tag","published_at":"2019-07-01T13:48:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@2.0.0-rc.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@2.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@2.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@2.0.0-rc.2/manifests"},{"name":"@jupyter-widgets/output@2.0.0-rc.2","sha":"a56a41d72ed275ebcbcdd2e434a76e3b6293dc17","kind":"tag","published_at":"2019-07-01T13:48:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@2.0.0-rc.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@2.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@2.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@2.0.0-rc.2/manifests"},{"name":"@jupyter-widgets/notebook-manager@4.0.0-rc.2","sha":"a56a41d72ed275ebcbcdd2e434a76e3b6293dc17","kind":"tag","published_at":"2019-07-01T13:48:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@4.0.0-rc.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@4.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@4.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@4.0.0-rc.2/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@1.0.0-rc.2","sha":"a56a41d72ed275ebcbcdd2e434a76e3b6293dc17","kind":"tag","published_at":"2019-07-01T13:48:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@1.0.0-rc.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@1.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@1.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@1.0.0-rc.2/manifests"},{"name":"@jupyter-widgets/html-manager@0.18.0-rc.2","sha":"a56a41d72ed275ebcbcdd2e434a76e3b6293dc17","kind":"tag","published_at":"2019-07-01T13:48:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.18.0-rc.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.18.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.18.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.18.0-rc.2/manifests"},{"name":"@jupyter-widgets/example-web4@4.0.0-rc.2","sha":"a56a41d72ed275ebcbcdd2e434a76e3b6293dc17","kind":"tag","published_at":"2019-07-01T13:48:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@4.0.0-rc.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@4.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@4.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@4.0.0-rc.2/manifests"},{"name":"@jupyter-widgets/example-web3@4.0.0-rc.2","sha":"a56a41d72ed275ebcbcdd2e434a76e3b6293dc17","kind":"tag","published_at":"2019-07-01T13:48:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@4.0.0-rc.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@4.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@4.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@4.0.0-rc.2/manifests"},{"name":"@jupyter-widgets/example-web2@4.0.0-rc.2","sha":"a56a41d72ed275ebcbcdd2e434a76e3b6293dc17","kind":"tag","published_at":"2019-07-01T13:48:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@4.0.0-rc.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@4.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@4.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@4.0.0-rc.2/manifests"},{"name":"@jupyter-widgets/example-web1@4.0.0-rc.2","sha":"a56a41d72ed275ebcbcdd2e434a76e3b6293dc17","kind":"tag","published_at":"2019-07-01T13:48:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@4.0.0-rc.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@4.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@4.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@4.0.0-rc.2/manifests"},{"name":"@jupyter-widgets/controls@2.0.0-rc.2","sha":"a56a41d72ed275ebcbcdd2e434a76e3b6293dc17","kind":"tag","published_at":"2019-07-01T13:48:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@2.0.0-rc.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@2.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@2.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@2.0.0-rc.2/manifests"},{"name":"7.5.0rc1","sha":"a1471cf4c8f33d37d40ee1693649be7c3121b2c4","kind":"tag","published_at":"2019-06-28T20:21:22.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.5.0rc1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.5.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.5.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.5.0rc1/manifests"},{"name":"@jupyter-widgets/controls@2.0.0-rc.1","sha":"cbb88383871e2b7177f1d5b036b060644c0bf14e","kind":"tag","published_at":"2019-06-28T20:04:53.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@2.0.0-rc.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@2.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@2.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@2.0.0-rc.1/manifests"},{"name":"@jupyter-widgets/schema@0.4.0-rc.1","sha":"cbb88383871e2b7177f1d5b036b060644c0bf14e","kind":"tag","published_at":"2019-06-28T20:04:53.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/schema@0.4.0-rc.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/schema@0.4.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.4.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.4.0-rc.1/manifests"},{"name":"@jupyter-widgets/output@2.0.0-rc.1","sha":"cbb88383871e2b7177f1d5b036b060644c0bf14e","kind":"tag","published_at":"2019-06-28T20:04:53.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@2.0.0-rc.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@2.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@2.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@2.0.0-rc.1/manifests"},{"name":"@jupyter-widgets/notebook-manager@4.0.0-rc.1","sha":"cbb88383871e2b7177f1d5b036b060644c0bf14e","kind":"tag","published_at":"2019-06-28T20:04:53.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@4.0.0-rc.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@4.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@4.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@4.0.0-rc.1/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@1.0.0-rc.1","sha":"cbb88383871e2b7177f1d5b036b060644c0bf14e","kind":"tag","published_at":"2019-06-28T20:04:53.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@1.0.0-rc.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@1.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@1.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@1.0.0-rc.1/manifests"},{"name":"@jupyter-widgets/html-manager@0.18.0-rc.1","sha":"cbb88383871e2b7177f1d5b036b060644c0bf14e","kind":"tag","published_at":"2019-06-28T20:04:53.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.18.0-rc.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.18.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.18.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.18.0-rc.1/manifests"},{"name":"@jupyter-widgets/example-web4@4.0.0-rc.1","sha":"cbb88383871e2b7177f1d5b036b060644c0bf14e","kind":"tag","published_at":"2019-06-28T20:04:53.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@4.0.0-rc.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@4.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@4.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@4.0.0-rc.1/manifests"},{"name":"@jupyter-widgets/example-web3@4.0.0-rc.1","sha":"cbb88383871e2b7177f1d5b036b060644c0bf14e","kind":"tag","published_at":"2019-06-28T20:04:53.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@4.0.0-rc.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@4.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@4.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@4.0.0-rc.1/manifests"},{"name":"@jupyter-widgets/example-web2@4.0.0-rc.1","sha":"cbb88383871e2b7177f1d5b036b060644c0bf14e","kind":"tag","published_at":"2019-06-28T20:04:53.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@4.0.0-rc.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@4.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@4.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@4.0.0-rc.1/manifests"},{"name":"@jupyter-widgets/example-web1@4.0.0-rc.1","sha":"cbb88383871e2b7177f1d5b036b060644c0bf14e","kind":"tag","published_at":"2019-06-28T20:04:53.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@4.0.0-rc.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@4.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@4.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@4.0.0-rc.1/manifests"},{"name":"@jupyter-widgets/base@2.0.0-rc.1","sha":"cbb88383871e2b7177f1d5b036b060644c0bf14e","kind":"tag","published_at":"2019-06-28T20:04:53.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@2.0.0-rc.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@2.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@2.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@2.0.0-rc.1/manifests"},{"name":"@jupyter-widgets/output@2.0.0-rc.0","sha":"48a775fb5f7bfe9a52b79453380b28f1209297c0","kind":"tag","published_at":"2019-06-27T18:14:44.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@2.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@2.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@2.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@2.0.0-rc.0/manifests"},{"name":"@jupyter-widgets/base@2.0.0-rc.0","sha":"48a775fb5f7bfe9a52b79453380b28f1209297c0","kind":"tag","published_at":"2019-06-27T18:14:35.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@2.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@2.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@2.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@2.0.0-rc.0/manifests"},{"name":"@jupyter-widgets/schema@0.4.0-rc.0","sha":"925e4be9916707ce7a22e1d9d43caaec8bb970fb","kind":"tag","published_at":"2019-06-27T12:19:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/schema@0.4.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/schema@0.4.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.4.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.4.0-rc.0/manifests"},{"name":"@jupyter-widgets/output@1.2.0-rc.0","sha":"925e4be9916707ce7a22e1d9d43caaec8bb970fb","kind":"tag","published_at":"2019-06-27T12:19:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@1.2.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@1.2.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.2.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.2.0-rc.0/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.4.0-rc.0","sha":"925e4be9916707ce7a22e1d9d43caaec8bb970fb","kind":"tag","published_at":"2019-06-27T12:19:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.4.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.4.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.4.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.4.0-rc.0/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@1.0.0-rc.0","sha":"925e4be9916707ce7a22e1d9d43caaec8bb970fb","kind":"tag","published_at":"2019-06-27T12:19:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@1.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@1.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@1.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@1.0.0-rc.0/manifests"},{"name":"@jupyter-widgets/html-manager@0.18.0-rc.0","sha":"925e4be9916707ce7a22e1d9d43caaec8bb970fb","kind":"tag","published_at":"2019-06-27T12:19:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.18.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.18.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.18.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.18.0-rc.0/manifests"},{"name":"@jupyter-widgets/base@1.3.0-rc.0","sha":"925e4be9916707ce7a22e1d9d43caaec8bb970fb","kind":"tag","published_at":"2019-06-27T12:19:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@1.3.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@1.3.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.3.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.3.0-rc.0/manifests"},{"name":"@jupyter-widgets/example-web3@4.0.0-rc.0","sha":"925e4be9916707ce7a22e1d9d43caaec8bb970fb","kind":"tag","published_at":"2019-06-27T12:19:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@4.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@4.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@4.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@4.0.0-rc.0/manifests"},{"name":"@jupyter-widgets/example-web2@4.0.0-rc.0","sha":"925e4be9916707ce7a22e1d9d43caaec8bb970fb","kind":"tag","published_at":"2019-06-27T12:19:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@4.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@4.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@4.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@4.0.0-rc.0/manifests"},{"name":"@jupyter-widgets/example-web1@4.0.0-rc.0","sha":"925e4be9916707ce7a22e1d9d43caaec8bb970fb","kind":"tag","published_at":"2019-06-27T12:19:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@4.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@4.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@4.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@4.0.0-rc.0/manifests"},{"name":"@jupyter-widgets/controls@2.0.0-rc.0","sha":"925e4be9916707ce7a22e1d9d43caaec8bb970fb","kind":"tag","published_at":"2019-06-27T12:19:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@2.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@2.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@2.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@2.0.0-rc.0/manifests"},{"name":"@jupyter-widgets/example-web4@4.0.0-rc.0","sha":"925e4be9916707ce7a22e1d9d43caaec8bb970fb","kind":"tag","published_at":"2019-06-27T12:19:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@4.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@4.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@4.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@4.0.0-rc.0/manifests"},{"name":"@jupyter-widgets/controls@1.4.5","sha":"34060411e6cd6398d697acb27611343d1133e8a0","kind":"tag","published_at":"2019-05-30T22:41:38.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.4.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.4.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.4.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.4.5/manifests"},{"name":"@jupyter-widgets/schema@0.3.8","sha":"34060411e6cd6398d697acb27611343d1133e8a0","kind":"tag","published_at":"2019-05-30T22:41:38.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/schema@0.3.8","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/schema@0.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.3.8/manifests"},{"name":"@jupyter-widgets/output@1.1.5","sha":"34060411e6cd6398d697acb27611343d1133e8a0","kind":"tag","published_at":"2019-05-30T22:41:38.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@1.1.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@1.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.1.5/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.3.8","sha":"34060411e6cd6398d697acb27611343d1133e8a0","kind":"tag","published_at":"2019-05-30T22:41:38.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.3.8","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.3.8/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.41.0","sha":"34060411e6cd6398d697acb27611343d1133e8a0","kind":"tag","published_at":"2019-05-30T22:41:38.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.41.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.41.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.41.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.41.0/manifests"},{"name":"@jupyter-widgets/html-manager@0.17.0","sha":"34060411e6cd6398d697acb27611343d1133e8a0","kind":"tag","published_at":"2019-05-30T22:41:38.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.17.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.17.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.17.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.17.0/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@3.1.0","sha":"34060411e6cd6398d697acb27611343d1133e8a0","kind":"tag","published_at":"2019-05-30T22:41:38.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@3.1.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@3.1.0/manifests"},{"name":"@jupyter-widgets/example-web4@3.1.0","sha":"34060411e6cd6398d697acb27611343d1133e8a0","kind":"tag","published_at":"2019-05-30T22:41:38.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@3.1.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@3.1.0/manifests"},{"name":"@jupyter-widgets/example-web3@3.1.0","sha":"34060411e6cd6398d697acb27611343d1133e8a0","kind":"tag","published_at":"2019-05-30T22:41:38.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@3.1.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@3.1.0/manifests"},{"name":"@jupyter-widgets/example-web2@3.1.0","sha":"34060411e6cd6398d697acb27611343d1133e8a0","kind":"tag","published_at":"2019-05-30T22:41:38.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@3.1.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@3.1.0/manifests"},{"name":"@jupyter-widgets/example-web1@3.1.0","sha":"34060411e6cd6398d697acb27611343d1133e8a0","kind":"tag","published_at":"2019-05-30T22:41:38.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@3.1.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@3.1.0/manifests"},{"name":"@jupyter-widgets/base@1.2.5","sha":"34060411e6cd6398d697acb27611343d1133e8a0","kind":"tag","published_at":"2019-05-30T22:41:38.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@1.2.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@1.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.2.5/manifests"},{"name":"@jupyter-widgets/controls@1.4.4","sha":"f78dcb6474e68d7fed6202dd2d1ddd3fdecc835e","kind":"tag","published_at":"2019-04-15T19:32:06.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.4.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.4.4/manifests"},{"name":"@jupyter-widgets/output@1.1.4","sha":"f78dcb6474e68d7fed6202dd2d1ddd3fdecc835e","kind":"tag","published_at":"2019-04-15T19:32:06.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@1.1.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@1.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.1.4/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.3.7","sha":"f78dcb6474e68d7fed6202dd2d1ddd3fdecc835e","kind":"tag","published_at":"2019-04-15T19:32:06.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.3.7","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.3.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.3.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.3.7/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.40.0","sha":"f78dcb6474e68d7fed6202dd2d1ddd3fdecc835e","kind":"tag","published_at":"2019-04-15T19:32:06.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.40.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.40.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.40.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.40.0/manifests"},{"name":"@jupyter-widgets/html-manager@0.16.1","sha":"f78dcb6474e68d7fed6202dd2d1ddd3fdecc835e","kind":"tag","published_at":"2019-04-15T19:32:06.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.16.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.16.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.16.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.16.1/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@3.0.0","sha":"f78dcb6474e68d7fed6202dd2d1ddd3fdecc835e","kind":"tag","published_at":"2019-04-15T19:32:06.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@3.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@3.0.0/manifests"},{"name":"@jupyter-widgets/example-web4@3.0.0","sha":"f78dcb6474e68d7fed6202dd2d1ddd3fdecc835e","kind":"tag","published_at":"2019-04-15T19:32:06.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@3.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@3.0.0/manifests"},{"name":"@jupyter-widgets/example-web3@3.0.0","sha":"f78dcb6474e68d7fed6202dd2d1ddd3fdecc835e","kind":"tag","published_at":"2019-04-15T19:32:06.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@3.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@3.0.0/manifests"},{"name":"@jupyter-widgets/example-web2@3.0.0","sha":"f78dcb6474e68d7fed6202dd2d1ddd3fdecc835e","kind":"tag","published_at":"2019-04-15T19:32:06.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@3.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@3.0.0/manifests"},{"name":"@jupyter-widgets/base@1.2.4","sha":"f78dcb6474e68d7fed6202dd2d1ddd3fdecc835e","kind":"tag","published_at":"2019-04-15T19:32:06.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@1.2.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@1.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.2.4/manifests"},{"name":"@jupyter-widgets/example-web1@3.0.0","sha":"f78dcb6474e68d7fed6202dd2d1ddd3fdecc835e","kind":"tag","published_at":"2019-04-15T19:32:06.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@3.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@3.0.0/manifests"},{"name":"@jupyter-widgets/example-web1@2.2.5","sha":"1e2ea6d8da942ab5898a028b466bb810096739cb","kind":"tag","published_at":"2019-02-05T22:50:17.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@2.2.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@2.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.2.5/manifests"},{"name":"@jupyter-widgets/schema@0.3.7","sha":"1e2ea6d8da942ab5898a028b466bb810096739cb","kind":"tag","published_at":"2019-02-05T22:50:17.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/schema@0.3.7","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/schema@0.3.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.3.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.3.7/manifests"},{"name":"@jupyter-widgets/output@1.1.3","sha":"1e2ea6d8da942ab5898a028b466bb810096739cb","kind":"tag","published_at":"2019-02-05T22:50:17.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@1.1.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@1.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.1.3/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.3.6","sha":"1e2ea6d8da942ab5898a028b466bb810096739cb","kind":"tag","published_at":"2019-02-05T22:50:17.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.3.6","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.3.6/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.39.0","sha":"1e2ea6d8da942ab5898a028b466bb810096739cb","kind":"tag","published_at":"2019-02-05T22:50:17.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.39.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.39.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.39.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.39.0/manifests"},{"name":"@jupyter-widgets/html-manager@0.16.0","sha":"1e2ea6d8da942ab5898a028b466bb810096739cb","kind":"tag","published_at":"2019-02-05T22:50:17.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.16.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.16.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.16.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.16.0/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@2.2.5","sha":"1e2ea6d8da942ab5898a028b466bb810096739cb","kind":"tag","published_at":"2019-02-05T22:50:17.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@2.2.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@2.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.2.5/manifests"},{"name":"@jupyter-widgets/example-web4@2.2.6","sha":"1e2ea6d8da942ab5898a028b466bb810096739cb","kind":"tag","published_at":"2019-02-05T22:50:17.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.2.6","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.2.6/manifests"},{"name":"@jupyter-widgets/example-web3@2.2.6","sha":"1e2ea6d8da942ab5898a028b466bb810096739cb","kind":"tag","published_at":"2019-02-05T22:50:17.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.2.6","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.2.6/manifests"},{"name":"@jupyter-widgets/example-web2@2.2.5","sha":"1e2ea6d8da942ab5898a028b466bb810096739cb","kind":"tag","published_at":"2019-02-05T22:50:17.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.2.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.2.5/manifests"},{"name":"@jupyter-widgets/controls@1.4.3","sha":"1e2ea6d8da942ab5898a028b466bb810096739cb","kind":"tag","published_at":"2019-02-05T22:50:17.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.4.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.4.3/manifests"},{"name":"@jupyter-widgets/base@1.2.3","sha":"1e2ea6d8da942ab5898a028b466bb810096739cb","kind":"tag","published_at":"2019-02-05T22:50:17.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@1.2.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@1.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.2.3/manifests"},{"name":"@jupyter-widgets/example-web2@2.2.5-alpha.0","sha":"9d25730bece5e5b03a4bb45afe7aeceaa947d2b9","kind":"tag","published_at":"2019-02-05T22:28:07.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.2.5-alpha.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.2.5-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.2.5-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.2.5-alpha.0/manifests"},{"name":"@jupyter-widgets/example-web1@2.2.5-alpha.0","sha":"9d25730bece5e5b03a4bb45afe7aeceaa947d2b9","kind":"tag","published_at":"2019-02-05T22:28:07.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@2.2.5-alpha.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@2.2.5-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.2.5-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.2.5-alpha.0/manifests"},{"name":"@jupyter-widgets/controls@1.4.3-alpha.0","sha":"9d25730bece5e5b03a4bb45afe7aeceaa947d2b9","kind":"tag","published_at":"2019-02-05T22:28:07.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.4.3-alpha.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.4.3-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.4.3-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.4.3-alpha.0/manifests"},{"name":"@jupyter-widgets/base@1.2.3-alpha.0","sha":"9d25730bece5e5b03a4bb45afe7aeceaa947d2b9","kind":"tag","published_at":"2019-02-05T22:28:07.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@1.2.3-alpha.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@1.2.3-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.2.3-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.2.3-alpha.0/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.39.0-alpha.0","sha":"9d25730bece5e5b03a4bb45afe7aeceaa947d2b9","kind":"tag","published_at":"2019-02-05T22:28:07.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.39.0-alpha.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.39.0-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.39.0-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.39.0-alpha.0/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.3.6-alpha.0","sha":"9d25730bece5e5b03a4bb45afe7aeceaa947d2b9","kind":"tag","published_at":"2019-02-05T22:28:07.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.3.6-alpha.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.3.6-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.3.6-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.3.6-alpha.0/manifests"},{"name":"@jupyter-widgets/html-manager@0.16.0-alpha.0","sha":"9d25730bece5e5b03a4bb45afe7aeceaa947d2b9","kind":"tag","published_at":"2019-02-05T22:28:07.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.16.0-alpha.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.16.0-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.16.0-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.16.0-alpha.0/manifests"},{"name":"@jupyter-widgets/output@1.1.3-alpha.0","sha":"9d25730bece5e5b03a4bb45afe7aeceaa947d2b9","kind":"tag","published_at":"2019-02-05T22:28:07.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@1.1.3-alpha.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@1.1.3-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.1.3-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.1.3-alpha.0/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@2.2.5-alpha.0","sha":"9d25730bece5e5b03a4bb45afe7aeceaa947d2b9","kind":"tag","published_at":"2019-02-05T22:28:07.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@2.2.5-alpha.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@2.2.5-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.2.5-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.2.5-alpha.0/manifests"},{"name":"@jupyter-widgets/example-web4@2.2.6-alpha.0","sha":"9d25730bece5e5b03a4bb45afe7aeceaa947d2b9","kind":"tag","published_at":"2019-02-05T22:28:07.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.2.6-alpha.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.2.6-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.2.6-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.2.6-alpha.0/manifests"},{"name":"@jupyter-widgets/example-web3@2.2.6-alpha.0","sha":"9d25730bece5e5b03a4bb45afe7aeceaa947d2b9","kind":"tag","published_at":"2019-02-05T22:28:07.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.2.6-alpha.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.2.6-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.2.6-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.2.6-alpha.0/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.38.1","sha":"f779ca66349f57613e0ea3773cbcc099a290e7c2","kind":"tag","published_at":"2018-10-06T02:34:07.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.38.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.38.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.38.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.38.1/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.3.5","sha":"b57e6f0ad80012a5c8d34c833c71fef4d85a4d45","kind":"tag","published_at":"2018-10-06T02:29:24.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.3.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.3.5/manifests"},{"name":"@jupyter-widgets/example-web3@2.2.5","sha":"b57e6f0ad80012a5c8d34c833c71fef4d85a4d45","kind":"tag","published_at":"2018-10-06T02:29:24.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.2.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.2.5/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.38.0","sha":"b57e6f0ad80012a5c8d34c833c71fef4d85a4d45","kind":"tag","published_at":"2018-10-06T02:29:24.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.38.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.38.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.38.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.38.0/manifests"},{"name":"@jupyter-widgets/example-web4@2.2.5","sha":"b57e6f0ad80012a5c8d34c833c71fef4d85a4d45","kind":"tag","published_at":"2018-10-06T02:29:24.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.2.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.2.5/manifests"},{"name":"@jupyter-widgets/html-manager@0.15.0","sha":"b57e6f0ad80012a5c8d34c833c71fef4d85a4d45","kind":"tag","published_at":"2018-10-06T02:29:24.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.15.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.15.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.15.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.15.0/manifests"},{"name":"7.4.2","sha":"e27c7a81fd7ff96ea74726575845b61e81c5c855","kind":"commit","published_at":"2018-09-14T20:48:32.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.4.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.4.2/manifests"},{"name":"@jupyter-widgets/example-web4@2.2.4","sha":"7fd15c06f0a61138eac44ac34d0148be67b3ad6f","kind":"tag","published_at":"2018-09-14T20:42:23.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.2.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.2.4/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@2.2.4","sha":"7fd15c06f0a61138eac44ac34d0148be67b3ad6f","kind":"tag","published_at":"2018-09-14T20:42:23.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@2.2.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@2.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.2.4/manifests"},{"name":"@jupyter-widgets/html-manager@0.14.4","sha":"7fd15c06f0a61138eac44ac34d0148be67b3ad6f","kind":"tag","published_at":"2018-09-14T20:42:23.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.14.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.14.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.14.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.14.4/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.37.4","sha":"7fd15c06f0a61138eac44ac34d0148be67b3ad6f","kind":"tag","published_at":"2018-09-14T20:42:23.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.37.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.37.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.37.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.37.4/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.3.4","sha":"7fd15c06f0a61138eac44ac34d0148be67b3ad6f","kind":"tag","published_at":"2018-09-14T20:42:23.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.3.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.3.4/manifests"},{"name":"@jupyter-widgets/output@1.1.2","sha":"7fd15c06f0a61138eac44ac34d0148be67b3ad6f","kind":"tag","published_at":"2018-09-14T20:42:23.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@1.1.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.1.2/manifests"},{"name":"@jupyter-widgets/example-web3@2.2.4","sha":"7fd15c06f0a61138eac44ac34d0148be67b3ad6f","kind":"tag","published_at":"2018-09-14T20:42:23.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.2.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.2.4/manifests"},{"name":"@jupyter-widgets/example-web2@2.2.4","sha":"7fd15c06f0a61138eac44ac34d0148be67b3ad6f","kind":"tag","published_at":"2018-09-14T20:42:23.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.2.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.2.4/manifests"},{"name":"@jupyter-widgets/example-web1@2.2.4","sha":"7fd15c06f0a61138eac44ac34d0148be67b3ad6f","kind":"tag","published_at":"2018-09-14T20:42:23.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@2.2.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@2.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.2.4/manifests"},{"name":"@jupyter-widgets/controls@1.4.2","sha":"7fd15c06f0a61138eac44ac34d0148be67b3ad6f","kind":"tag","published_at":"2018-09-14T20:42:23.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.4.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.4.2/manifests"},{"name":"@jupyter-widgets/base@1.2.2","sha":"7fd15c06f0a61138eac44ac34d0148be67b3ad6f","kind":"tag","published_at":"2018-09-14T20:42:23.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@1.2.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@1.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.2.2/manifests"},{"name":"7.4.1","sha":"adfb196507069aca34705bf35ec3a3f9c6724957","kind":"commit","published_at":"2018-08-31T20:20:37.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.4.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.4.1/manifests"},{"name":"@jupyter-widgets/html-manager@0.14.3","sha":"6da21a0179f74346988d1671ad1d987d08ed2115","kind":"tag","published_at":"2018-08-31T20:01:25.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.14.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.14.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.14.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.14.3/manifests"},{"name":"@jupyter-widgets/controls@1.4.1","sha":"6da21a0179f74346988d1671ad1d987d08ed2115","kind":"tag","published_at":"2018-08-31T20:01:25.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.4.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.4.1/manifests"},{"name":"@jupyter-widgets/example-web1@2.2.3","sha":"6da21a0179f74346988d1671ad1d987d08ed2115","kind":"tag","published_at":"2018-08-31T20:01:25.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@2.2.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@2.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.2.3/manifests"},{"name":"@jupyter-widgets/example-web2@2.2.3","sha":"6da21a0179f74346988d1671ad1d987d08ed2115","kind":"tag","published_at":"2018-08-31T20:01:25.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.2.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.2.3/manifests"},{"name":"@jupyter-widgets/example-web3@2.2.3","sha":"6da21a0179f74346988d1671ad1d987d08ed2115","kind":"tag","published_at":"2018-08-31T20:01:25.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.2.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.2.3/manifests"},{"name":"@jupyter-widgets/example-web4@2.2.3","sha":"6da21a0179f74346988d1671ad1d987d08ed2115","kind":"tag","published_at":"2018-08-31T20:01:25.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.2.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.2.3/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@2.2.3","sha":"6da21a0179f74346988d1671ad1d987d08ed2115","kind":"tag","published_at":"2018-08-31T20:01:25.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@2.2.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@2.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.2.3/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.37.3","sha":"6da21a0179f74346988d1671ad1d987d08ed2115","kind":"tag","published_at":"2018-08-31T20:01:25.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.37.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.37.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.37.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.37.3/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.3.3","sha":"6da21a0179f74346988d1671ad1d987d08ed2115","kind":"tag","published_at":"2018-08-31T20:01:25.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.3.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.3.3/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.37.2","sha":"bd85bb4e048a68fbb177d18e9929fba9e46349f5","kind":"commit","published_at":"2018-08-18T14:21:57.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.37.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.37.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.37.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.37.2/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.36.2","sha":"8ee9f9d32fb2c0f4531123996e13475f7f0082b9","kind":"tag","published_at":"2018-08-10T04:52:15.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.36.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.36.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.36.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.36.2/manifests"},{"name":"7.4.0","sha":"52ce4c834b857241459d2824350c61409888c41b","kind":"tag","published_at":"2018-08-06T23:05:25.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.4.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.4.0/manifests"},{"name":"@jupyter-widgets/example-web3@2.2.2","sha":"93f98fe510f6fac330246c4521ba5dd847022e1a","kind":"tag","published_at":"2018-08-06T22:37:18.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.2.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.2.2/manifests"},{"name":"@jupyter-widgets/example-web4@2.2.2","sha":"93f98fe510f6fac330246c4521ba5dd847022e1a","kind":"tag","published_at":"2018-08-06T22:37:18.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.2.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.2.2/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@2.2.2","sha":"93f98fe510f6fac330246c4521ba5dd847022e1a","kind":"tag","published_at":"2018-08-06T22:37:18.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@2.2.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@2.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.2.2/manifests"},{"name":"@jupyter-widgets/controls@1.4.0","sha":"93f98fe510f6fac330246c4521ba5dd847022e1a","kind":"tag","published_at":"2018-08-06T22:37:18.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.4.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.4.0/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.36.1","sha":"93f98fe510f6fac330246c4521ba5dd847022e1a","kind":"tag","published_at":"2018-08-06T22:37:18.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.36.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.36.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.36.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.36.1/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.3.2","sha":"93f98fe510f6fac330246c4521ba5dd847022e1a","kind":"tag","published_at":"2018-08-06T22:37:18.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.3.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.3.2/manifests"},{"name":"@jupyter-widgets/schema@0.3.6","sha":"93f98fe510f6fac330246c4521ba5dd847022e1a","kind":"tag","published_at":"2018-08-06T22:37:18.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/schema@0.3.6","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/schema@0.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.3.6/manifests"},{"name":"@jupyter-widgets/html-manager@0.14.2","sha":"93f98fe510f6fac330246c4521ba5dd847022e1a","kind":"tag","published_at":"2018-08-06T22:37:18.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.14.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.14.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.14.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.14.2/manifests"},{"name":"@jupyter-widgets/example-web1@2.2.2","sha":"93f98fe510f6fac330246c4521ba5dd847022e1a","kind":"tag","published_at":"2018-08-06T22:37:18.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@2.2.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@2.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.2.2/manifests"},{"name":"@jupyter-widgets/example-web2@2.2.2","sha":"93f98fe510f6fac330246c4521ba5dd847022e1a","kind":"tag","published_at":"2018-08-06T22:37:18.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.2.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.2.2/manifests"},{"name":"7.3.2","sha":"717e2873581a237f39b7c05d49bcfbe7e8165097","kind":"commit","published_at":"2018-08-02T14:39:57.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.3.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.3.2/manifests"},{"name":"7.3.1","sha":"29bf344132928043e0fdb37f1cb5d5837156cebd","kind":"commit","published_at":"2018-07-27T05:35:47.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.3.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.3.1/manifests"},{"name":"@jupyter-widgets/example-web3@2.2.1","sha":"1cb16bf44c90ac3316a62baa26e04b771bad7679","kind":"tag","published_at":"2018-07-27T05:29:13.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.2.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.2.1/manifests"},{"name":"@jupyter-widgets/example-web2@2.2.1","sha":"1cb16bf44c90ac3316a62baa26e04b771bad7679","kind":"tag","published_at":"2018-07-27T05:29:13.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.2.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.2.1/manifests"},{"name":"@jupyter-widgets/example-web1@2.2.1","sha":"1cb16bf44c90ac3316a62baa26e04b771bad7679","kind":"tag","published_at":"2018-07-27T05:29:13.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@2.2.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.2.1/manifests"},{"name":"@jupyter-widgets/controls@1.3.1","sha":"1cb16bf44c90ac3316a62baa26e04b771bad7679","kind":"tag","published_at":"2018-07-27T05:29:13.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.3.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.3.1/manifests"},{"name":"@jupyter-widgets/example-web4@2.2.1","sha":"1cb16bf44c90ac3316a62baa26e04b771bad7679","kind":"tag","published_at":"2018-07-27T05:29:13.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.2.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.2.1/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@2.2.1","sha":"1cb16bf44c90ac3316a62baa26e04b771bad7679","kind":"tag","published_at":"2018-07-27T05:29:13.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@2.2.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.2.1/manifests"},{"name":"@jupyter-widgets/html-manager@0.14.1","sha":"1cb16bf44c90ac3316a62baa26e04b771bad7679","kind":"tag","published_at":"2018-07-27T05:29:13.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.14.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.14.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.14.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.14.1/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.36.0","sha":"1cb16bf44c90ac3316a62baa26e04b771bad7679","kind":"tag","published_at":"2018-07-27T05:29:13.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.36.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.36.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.36.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.36.0/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.3.1","sha":"1cb16bf44c90ac3316a62baa26e04b771bad7679","kind":"tag","published_at":"2018-07-27T05:29:13.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.3.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.3.1/manifests"},{"name":"@jupyter-widgets/output@1.1.1","sha":"1cb16bf44c90ac3316a62baa26e04b771bad7679","kind":"tag","published_at":"2018-07-27T05:29:13.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@1.1.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.1.1/manifests"},{"name":"@jupyter-widgets/schema@0.3.5","sha":"1cb16bf44c90ac3316a62baa26e04b771bad7679","kind":"tag","published_at":"2018-07-27T05:29:13.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/schema@0.3.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/schema@0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.3.5/manifests"},{"name":"@jupyter-widgets/base@1.2.1","sha":"1cb16bf44c90ac3316a62baa26e04b771bad7679","kind":"tag","published_at":"2018-07-27T05:29:13.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@1.2.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.2.1/manifests"},{"name":"7.3.0","sha":"14db49e9537c79c996e34644364eb15343101d89","kind":"commit","published_at":"2018-07-17T23:57:49.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.3.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.3.0/manifests"},{"name":"@jupyter-widgets/output@1.1.0","sha":"48bb353bb1649e4e9ce7cb0153e81efb8a803e86","kind":"tag","published_at":"2018-07-17T23:37:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@1.1.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.1.0/manifests"},{"name":"@jupyter-widgets/base@1.2.0","sha":"48bb353bb1649e4e9ce7cb0153e81efb8a803e86","kind":"tag","published_at":"2018-07-17T23:37:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@1.2.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.2.0/manifests"},{"name":"@jupyter-widgets/controls@1.3.0","sha":"48bb353bb1649e4e9ce7cb0153e81efb8a803e86","kind":"tag","published_at":"2018-07-17T23:37:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.3.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.3.0/manifests"},{"name":"@jupyter-widgets/example-web1@2.2.0","sha":"48bb353bb1649e4e9ce7cb0153e81efb8a803e86","kind":"tag","published_at":"2018-07-17T23:37:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@2.2.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.2.0/manifests"},{"name":"@jupyter-widgets/example-web2@2.2.0","sha":"48bb353bb1649e4e9ce7cb0153e81efb8a803e86","kind":"tag","published_at":"2018-07-17T23:37:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.2.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.2.0/manifests"},{"name":"@jupyter-widgets/example-web3@2.2.0","sha":"48bb353bb1649e4e9ce7cb0153e81efb8a803e86","kind":"tag","published_at":"2018-07-17T23:37:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.2.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.2.0/manifests"},{"name":"@jupyter-widgets/example-web4@2.2.0","sha":"48bb353bb1649e4e9ce7cb0153e81efb8a803e86","kind":"tag","published_at":"2018-07-17T23:37:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.2.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.2.0/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@2.2.0","sha":"48bb353bb1649e4e9ce7cb0153e81efb8a803e86","kind":"tag","published_at":"2018-07-17T23:37:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@2.2.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.2.0/manifests"},{"name":"@jupyter-widgets/html-manager@0.14.0","sha":"48bb353bb1649e4e9ce7cb0153e81efb8a803e86","kind":"tag","published_at":"2018-07-17T23:37:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.14.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.14.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.14.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.14.0/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.36.0-1","sha":"48bb353bb1649e4e9ce7cb0153e81efb8a803e86","kind":"tag","published_at":"2018-07-17T23:37:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.36.0-1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.36.0-1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.36.0-1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.36.0-1/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.3.0","sha":"48bb353bb1649e4e9ce7cb0153e81efb8a803e86","kind":"tag","published_at":"2018-07-17T23:37:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.3.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.3.0/manifests"},{"name":"@jupyter-widgets/schema@0.3.4","sha":"48bb353bb1649e4e9ce7cb0153e81efb8a803e86","kind":"tag","published_at":"2018-07-17T23:37:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/schema@0.3.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/schema@0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.3.4/manifests"},{"name":"7.3.0b0","sha":"1023ed3bc28371965bbc27d51bf6730e2f5a99f7","kind":"commit","published_at":"2018-07-06T18:23:56.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.3.0b0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.3.0b0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.3.0b0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.3.0b0/manifests"},{"name":"@jupyter-widgets/schema@0.3.4-0","sha":"72cb4ca270019bfce7409ce8622466488fbeed3d","kind":"tag","published_at":"2018-07-06T18:13:48.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/schema@0.3.4-0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/schema@0.3.4-0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.3.4-0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.3.4-0/manifests"},{"name":"@jupyter-widgets/base@1.2.0-0","sha":"72cb4ca270019bfce7409ce8622466488fbeed3d","kind":"tag","published_at":"2018-07-06T18:13:48.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@1.2.0-0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@1.2.0-0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.2.0-0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.2.0-0/manifests"},{"name":"@jupyter-widgets/output@1.1.0-0","sha":"72cb4ca270019bfce7409ce8622466488fbeed3d","kind":"tag","published_at":"2018-07-06T18:13:48.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@1.1.0-0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@1.1.0-0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.1.0-0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.1.0-0/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.3.0-0","sha":"72cb4ca270019bfce7409ce8622466488fbeed3d","kind":"tag","published_at":"2018-07-06T18:13:48.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.3.0-0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.3.0-0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.3.0-0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.3.0-0/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.36.0-0","sha":"72cb4ca270019bfce7409ce8622466488fbeed3d","kind":"tag","published_at":"2018-07-06T18:13:48.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.36.0-0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.36.0-0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.36.0-0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.36.0-0/manifests"},{"name":"@jupyter-widgets/html-manager@0.14.0-0","sha":"72cb4ca270019bfce7409ce8622466488fbeed3d","kind":"tag","published_at":"2018-07-06T18:13:48.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.14.0-0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.14.0-0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.14.0-0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.14.0-0/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@2.2.0-0","sha":"72cb4ca270019bfce7409ce8622466488fbeed3d","kind":"tag","published_at":"2018-07-06T18:13:48.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@2.2.0-0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@2.2.0-0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.2.0-0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.2.0-0/manifests"},{"name":"@jupyter-widgets/example-web1@2.2.0-0","sha":"72cb4ca270019bfce7409ce8622466488fbeed3d","kind":"tag","published_at":"2018-07-06T18:13:48.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@2.2.0-0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@2.2.0-0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.2.0-0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.2.0-0/manifests"},{"name":"@jupyter-widgets/example-web4@2.2.0-0","sha":"72cb4ca270019bfce7409ce8622466488fbeed3d","kind":"tag","published_at":"2018-07-06T18:13:48.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.2.0-0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.2.0-0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.2.0-0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.2.0-0/manifests"},{"name":"@jupyter-widgets/example-web2@2.2.0-0","sha":"72cb4ca270019bfce7409ce8622466488fbeed3d","kind":"tag","published_at":"2018-07-06T18:13:48.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.2.0-0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.2.0-0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.2.0-0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.2.0-0/manifests"},{"name":"@jupyter-widgets/controls@1.3.0-0","sha":"72cb4ca270019bfce7409ce8622466488fbeed3d","kind":"tag","published_at":"2018-07-06T18:13:48.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.3.0-0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.3.0-0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.3.0-0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.3.0-0/manifests"},{"name":"@jupyter-widgets/example-web3@2.2.0-0","sha":"72cb4ca270019bfce7409ce8622466488fbeed3d","kind":"tag","published_at":"2018-07-06T18:13:48.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.2.0-0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.2.0-0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.2.0-0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.2.0-0/manifests"},{"name":"7.2.1","sha":"e1af98674e46c93c1fffe1e42a20adb2a62dad1e","kind":"commit","published_at":"2018-04-12T22:41:04.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.2.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.2.1/manifests"},{"name":"@jupyter-widgets/example-web4@2.1.0","sha":"43d4a66f375a5c4a9d8ce725997c34b26df2eab3","kind":"tag","published_at":"2018-04-12T22:34:14.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.1.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.1.0/manifests"},{"name":"@jupyter-widgets/example-web1@2.1.0","sha":"43d4a66f375a5c4a9d8ce725997c34b26df2eab3","kind":"tag","published_at":"2018-04-12T22:34:14.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@2.1.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.1.0/manifests"},{"name":"@jupyter-widgets/example-web2@2.1.0","sha":"43d4a66f375a5c4a9d8ce725997c34b26df2eab3","kind":"tag","published_at":"2018-04-12T22:34:14.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.1.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.1.0/manifests"},{"name":"@jupyter-widgets/example-web3@2.1.0","sha":"43d4a66f375a5c4a9d8ce725997c34b26df2eab3","kind":"tag","published_at":"2018-04-12T22:34:14.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.1.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.1.0/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@2.1.0","sha":"43d4a66f375a5c4a9d8ce725997c34b26df2eab3","kind":"tag","published_at":"2018-04-12T22:34:14.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@2.1.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.1.0/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.35.0","sha":"43d4a66f375a5c4a9d8ce725997c34b26df2eab3","kind":"tag","published_at":"2018-04-12T22:34:14.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.35.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.35.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.35.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.35.0/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.2.1","sha":"43d4a66f375a5c4a9d8ce725997c34b26df2eab3","kind":"tag","published_at":"2018-04-12T22:34:14.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.2.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.2.1/manifests"},{"name":"@jupyter-widgets/output@1.0.17","sha":"43d4a66f375a5c4a9d8ce725997c34b26df2eab3","kind":"tag","published_at":"2018-04-12T22:34:14.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@1.0.17","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@1.0.17","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.17/manifests"},{"name":"@jupyter-widgets/html-manager@0.13.0","sha":"43d4a66f375a5c4a9d8ce725997c34b26df2eab3","kind":"tag","published_at":"2018-04-12T22:34:13.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.13.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.13.0/manifests"},{"name":"@jupyter-widgets/controls@1.2.1","sha":"43d4a66f375a5c4a9d8ce725997c34b26df2eab3","kind":"tag","published_at":"2018-04-12T22:34:13.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.2.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.2.1/manifests"},{"name":"@jupyter-widgets/base@1.1.10","sha":"43d4a66f375a5c4a9d8ce725997c34b26df2eab3","kind":"tag","published_at":"2018-04-12T22:34:13.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@1.1.10","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@1.1.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.1.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.1.10/manifests"},{"name":"7.2.0","sha":"41064fcdd574a9df640147a779112bd441c5cadf","kind":"commit","published_at":"2018-03-30T07:01:31.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.2.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.2.0/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.34.0","sha":"61f17d0ace17569f2377ac7953f71f5d8a841a69","kind":"tag","published_at":"2018-03-30T06:30:31.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.34.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.34.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.34.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.34.0/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@2.0.18","sha":"61f17d0ace17569f2377ac7953f71f5d8a841a69","kind":"tag","published_at":"2018-03-30T06:30:31.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@2.0.18","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@2.0.18","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.18/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.22","sha":"61f17d0ace17569f2377ac7953f71f5d8a841a69","kind":"tag","published_at":"2018-03-30T06:30:31.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.22","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.22","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.22","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.22/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.22","sha":"61f17d0ace17569f2377ac7953f71f5d8a841a69","kind":"tag","published_at":"2018-03-30T06:30:31.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.22","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.22","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.22","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.22/manifests"},{"name":"@jupyter-widgets/example-web2@2.0.19","sha":"61f17d0ace17569f2377ac7953f71f5d8a841a69","kind":"tag","published_at":"2018-03-30T06:30:31.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.0.19","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.0.19","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.19","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.19/manifests"},{"name":"@jupyter-widgets/example-web1@2.0.18","sha":"61f17d0ace17569f2377ac7953f71f5d8a841a69","kind":"tag","published_at":"2018-03-30T06:30:31.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@2.0.18","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@2.0.18","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.18/manifests"},{"name":"@jupyter-widgets/controls@1.2.0","sha":"61f17d0ace17569f2377ac7953f71f5d8a841a69","kind":"tag","published_at":"2018-03-30T06:30:31.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.2.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.2.0/manifests"},{"name":"@jupyter-widgets/base@1.1.9","sha":"61f17d0ace17569f2377ac7953f71f5d8a841a69","kind":"tag","published_at":"2018-03-30T06:30:31.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@1.1.9","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@1.1.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.1.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.1.9/manifests"},{"name":"@jupyter-widgets/html-manager@0.12.0","sha":"61f17d0ace17569f2377ac7953f71f5d8a841a69","kind":"tag","published_at":"2018-03-30T06:30:31.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.12.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.12.0/manifests"},{"name":"@jupyter-widgets/schema@0.3.3","sha":"61f17d0ace17569f2377ac7953f71f5d8a841a69","kind":"tag","published_at":"2018-03-30T06:30:31.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/schema@0.3.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/schema@0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.3.3/manifests"},{"name":"@jupyter-widgets/output@1.0.16","sha":"61f17d0ace17569f2377ac7953f71f5d8a841a69","kind":"tag","published_at":"2018-03-30T06:30:31.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@1.0.16","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@1.0.16","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.16/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.2.0","sha":"61f17d0ace17569f2377ac7953f71f5d8a841a69","kind":"tag","published_at":"2018-03-30T06:30:31.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.2.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.2.0/manifests"},{"name":"7.1.2","sha":"99250708589428e788382e28c6e486afaadb966a","kind":"commit","published_at":"2018-02-16T01:18:44.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.1.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.1.2/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@2.0.17","sha":"2b643d93b46deb7e89b8b23de052f00ce62f4d19","kind":"tag","published_at":"2018-02-16T01:14:14.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@2.0.17","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@2.0.17","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.17/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.1.13","sha":"2b643d93b46deb7e89b8b23de052f00ce62f4d19","kind":"tag","published_at":"2018-02-16T01:14:14.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.1.13","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.1.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.1.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.1.13/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.33.2","sha":"2b643d93b46deb7e89b8b23de052f00ce62f4d19","kind":"tag","published_at":"2018-02-16T01:14:14.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.33.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.33.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.33.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.33.2/manifests"},{"name":"@jupyter-widgets/html-manager@0.11.10","sha":"2b643d93b46deb7e89b8b23de052f00ce62f4d19","kind":"tag","published_at":"2018-02-16T01:14:14.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.11.10","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.11.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.11.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.11.10/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.21","sha":"2b643d93b46deb7e89b8b23de052f00ce62f4d19","kind":"tag","published_at":"2018-02-16T01:14:14.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.21","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.21","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.21","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.21/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.21","sha":"2b643d93b46deb7e89b8b23de052f00ce62f4d19","kind":"tag","published_at":"2018-02-16T01:14:14.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.21","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.21","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.21","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.21/manifests"},{"name":"@jupyter-widgets/example-web2@2.0.18","sha":"2b643d93b46deb7e89b8b23de052f00ce62f4d19","kind":"tag","published_at":"2018-02-16T01:14:14.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.0.18","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.0.18","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.18/manifests"},{"name":"@jupyter-widgets/example-web1@2.0.17","sha":"2b643d93b46deb7e89b8b23de052f00ce62f4d19","kind":"tag","published_at":"2018-02-16T01:14:14.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@2.0.17","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@2.0.17","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.17/manifests"},{"name":"@jupyter-widgets/controls@1.1.6","sha":"2b643d93b46deb7e89b8b23de052f00ce62f4d19","kind":"tag","published_at":"2018-02-16T01:14:14.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.1.6","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.1.6/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.1.12","sha":"e3f4791393bdf476cdbf5c6f16e6beb5badcfeee","kind":"tag","published_at":"2018-01-30T16:44:21.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.1.12","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.1.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.1.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.1.12/manifests"},{"name":"@jupyter-widgets/html-manager@0.11.9","sha":"e3f4791393bdf476cdbf5c6f16e6beb5badcfeee","kind":"tag","published_at":"2018-01-30T16:44:21.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.11.9","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.11.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.11.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.11.9/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.20","sha":"e3f4791393bdf476cdbf5c6f16e6beb5badcfeee","kind":"tag","published_at":"2018-01-30T16:44:21.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.20","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.20","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.20","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.20/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.20","sha":"e3f4791393bdf476cdbf5c6f16e6beb5badcfeee","kind":"tag","published_at":"2018-01-30T16:44:21.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.20","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.20","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.20","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.20/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.1.11","sha":"c141c2d3ef67148dc19a7d2a9b1343918453bed7","kind":"tag","published_at":"2018-01-24T11:37:17.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.1.11","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.1.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.1.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.1.11/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.1.10","sha":"af86c4c7f0d6ad8913fabd8831d6a7aa37859452","kind":"tag","published_at":"2018-01-24T10:52:50.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.1.10","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.1.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.1.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.1.10/manifests"},{"name":"7.1.1","sha":"af7566b8434cc431d17b83a1d5cdbcc2db8b1db5","kind":"commit","published_at":"2018-01-24T09:43:32.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.1.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.1.1/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.1.9","sha":"121ac85aa8d140f95b6cf9c26905390f186cdab8","kind":"tag","published_at":"2018-01-24T09:39:57.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.1.9","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.1.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.1.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.1.9/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.33.1","sha":"121ac85aa8d140f95b6cf9c26905390f186cdab8","kind":"tag","published_at":"2018-01-24T09:39:57.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.33.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.33.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.33.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.33.1/manifests"},{"name":"@jupyter-widgets/html-manager@0.11.8","sha":"121ac85aa8d140f95b6cf9c26905390f186cdab8","kind":"tag","published_at":"2018-01-24T09:39:57.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.11.8","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.11.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.11.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.11.8/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.19","sha":"121ac85aa8d140f95b6cf9c26905390f186cdab8","kind":"tag","published_at":"2018-01-24T09:39:57.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.19","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.19","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.19","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.19/manifests"},{"name":"@jupyter-widgets/schema@0.3.2","sha":"121ac85aa8d140f95b6cf9c26905390f186cdab8","kind":"tag","published_at":"2018-01-24T09:39:57.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/schema@0.3.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/schema@0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.3.2/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.19","sha":"121ac85aa8d140f95b6cf9c26905390f186cdab8","kind":"tag","published_at":"2018-01-24T09:39:57.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.19","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.19","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.19","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.19/manifests"},{"name":"@jupyter-widgets/output@1.0.15","sha":"121ac85aa8d140f95b6cf9c26905390f186cdab8","kind":"tag","published_at":"2018-01-24T09:39:57.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@1.0.15","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@1.0.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.15/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.18","sha":"cb23ea2b112955415a7327a5f81af4bd52568943","kind":"tag","published_at":"2018-01-10T23:14:29.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.18","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.18","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.18/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.1.8","sha":"cb23ea2b112955415a7327a5f81af4bd52568943","kind":"tag","published_at":"2018-01-10T23:14:29.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.1.8","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.1.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.1.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.1.8/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.33.0","sha":"cb23ea2b112955415a7327a5f81af4bd52568943","kind":"tag","published_at":"2018-01-10T23:14:29.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.33.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.33.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.33.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.33.0/manifests"},{"name":"@jupyter-widgets/html-manager@0.11.7","sha":"cb23ea2b112955415a7327a5f81af4bd52568943","kind":"tag","published_at":"2018-01-10T23:14:29.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.11.7","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.11.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.11.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.11.7/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.18","sha":"cb23ea2b112955415a7327a5f81af4bd52568943","kind":"tag","published_at":"2018-01-10T23:14:29.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.18","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.18","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.18/manifests"},{"name":"7.1.0","sha":"a7de13031fd05eeaeea66945515e9b60a13447c5","kind":"commit","published_at":"2017-12-27T15:01:51.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.1.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.1.0/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.1.7","sha":"3392ebb70141bccb0b378849aacf0b4c1e533e65","kind":"tag","published_at":"2017-12-27T14:54:01.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.1.7","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.1.7/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.32.3","sha":"c9ed9499ca6ad9d57c2e4f63e96c3919d33a8d8c","kind":"tag","published_at":"2017-12-26T21:31:25.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.32.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.32.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.32.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.32.3/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.17","sha":"c9ed9499ca6ad9d57c2e4f63e96c3919d33a8d8c","kind":"tag","published_at":"2017-12-26T21:31:25.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.17","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.17","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.17/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.1.6","sha":"c9ed9499ca6ad9d57c2e4f63e96c3919d33a8d8c","kind":"tag","published_at":"2017-12-26T21:31:25.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.1.6","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.1.6/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.17","sha":"c9ed9499ca6ad9d57c2e4f63e96c3919d33a8d8c","kind":"tag","published_at":"2017-12-26T21:31:25.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.17","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.17","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.17/manifests"},{"name":"@jupyter-widgets/output@1.0.14","sha":"c9ed9499ca6ad9d57c2e4f63e96c3919d33a8d8c","kind":"tag","published_at":"2017-12-26T21:31:25.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@1.0.14","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@1.0.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.14/manifests"},{"name":"@jupyter-widgets/html-manager@0.11.6","sha":"c9ed9499ca6ad9d57c2e4f63e96c3919d33a8d8c","kind":"tag","published_at":"2017-12-26T21:31:25.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.11.6","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.11.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.11.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.11.6/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.16","sha":"aa9a6917657e973a379cd6898530dde065f92f9d","kind":"tag","published_at":"2017-12-26T21:19:36.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.16","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.16","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.16/manifests"},{"name":"@jupyter-widgets/output@1.0.13","sha":"aa9a6917657e973a379cd6898530dde065f92f9d","kind":"tag","published_at":"2017-12-26T21:19:36.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@1.0.13","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@1.0.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.13/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.1.5","sha":"aa9a6917657e973a379cd6898530dde065f92f9d","kind":"tag","published_at":"2017-12-26T21:19:36.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.1.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.1.5/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.32.2","sha":"aa9a6917657e973a379cd6898530dde065f92f9d","kind":"tag","published_at":"2017-12-26T21:19:36.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.32.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.32.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.32.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.32.2/manifests"},{"name":"@jupyter-widgets/html-manager@0.11.5","sha":"aa9a6917657e973a379cd6898530dde065f92f9d","kind":"tag","published_at":"2017-12-26T21:19:36.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.11.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.11.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.11.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.11.5/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@2.0.16","sha":"aa9a6917657e973a379cd6898530dde065f92f9d","kind":"tag","published_at":"2017-12-26T21:19:36.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@2.0.16","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@2.0.16","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.16/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.16","sha":"aa9a6917657e973a379cd6898530dde065f92f9d","kind":"tag","published_at":"2017-12-26T21:19:36.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.16","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.16","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.16/manifests"},{"name":"@jupyter-widgets/example-web2@2.0.17","sha":"aa9a6917657e973a379cd6898530dde065f92f9d","kind":"tag","published_at":"2017-12-26T21:19:36.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.0.17","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.0.17","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.17/manifests"},{"name":"@jupyter-widgets/example-web1@2.0.16","sha":"aa9a6917657e973a379cd6898530dde065f92f9d","kind":"tag","published_at":"2017-12-26T21:19:36.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@2.0.16","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@2.0.16","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.16/manifests"},{"name":"@jupyter-widgets/controls@1.1.5","sha":"aa9a6917657e973a379cd6898530dde065f92f9d","kind":"tag","published_at":"2017-12-26T21:19:36.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.1.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.1.5/manifests"},{"name":"@jupyter-widgets/base@1.1.8","sha":"aa9a6917657e973a379cd6898530dde065f92f9d","kind":"tag","published_at":"2017-12-26T21:19:36.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@1.1.8","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@1.1.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.1.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.1.8/manifests"},{"name":"@jupyter-widgets/example-web2@2.0.16","sha":"7f8ea19d1ff0fa4b04c517f770e037d3274b1add","kind":"tag","published_at":"2017-12-26T21:14:37.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.0.16","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.0.16","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.16/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.15","sha":"7f8ea19d1ff0fa4b04c517f770e037d3274b1add","kind":"tag","published_at":"2017-12-26T21:14:37.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.15","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.15/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@2.0.15","sha":"7f8ea19d1ff0fa4b04c517f770e037d3274b1add","kind":"tag","published_at":"2017-12-26T21:14:37.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@2.0.15","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@2.0.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.15/manifests"},{"name":"@jupyter-widgets/example-web1@2.0.15","sha":"7f8ea19d1ff0fa4b04c517f770e037d3274b1add","kind":"tag","published_at":"2017-12-26T21:14:37.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@2.0.15","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@2.0.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.15/manifests"},{"name":"@jupyter-widgets/output@1.0.12","sha":"7f8ea19d1ff0fa4b04c517f770e037d3274b1add","kind":"tag","published_at":"2017-12-26T21:14:37.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@1.0.12","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@1.0.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.12/manifests"},{"name":"@jupyter-widgets/html-manager@0.11.4","sha":"7f8ea19d1ff0fa4b04c517f770e037d3274b1add","kind":"tag","published_at":"2017-12-26T21:14:37.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.11.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.11.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.11.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.11.4/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.32.1","sha":"7f8ea19d1ff0fa4b04c517f770e037d3274b1add","kind":"tag","published_at":"2017-12-26T21:14:37.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.32.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.32.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.32.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.32.1/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.15","sha":"7f8ea19d1ff0fa4b04c517f770e037d3274b1add","kind":"tag","published_at":"2017-12-26T21:14:37.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.15","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.15/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.1.4","sha":"7f8ea19d1ff0fa4b04c517f770e037d3274b1add","kind":"tag","published_at":"2017-12-26T21:14:37.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.1.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.1.4/manifests"},{"name":"@jupyter-widgets/controls@1.1.4","sha":"7f8ea19d1ff0fa4b04c517f770e037d3274b1add","kind":"tag","published_at":"2017-12-26T21:14:37.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.1.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.1.4/manifests"},{"name":"@jupyter-widgets/base@1.1.7","sha":"7f8ea19d1ff0fa4b04c517f770e037d3274b1add","kind":"tag","published_at":"2017-12-26T21:14:37.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@1.1.7","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@1.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.1.7/manifests"},{"name":"@jupyter-widgets/controls@1.1.3","sha":"d3865532608b95b5aa6bfcd6d692b9fd908abec4","kind":"tag","published_at":"2017-12-26T20:44:19.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.1.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.1.3/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@2.0.14","sha":"d3865532608b95b5aa6bfcd6d692b9fd908abec4","kind":"tag","published_at":"2017-12-26T20:44:19.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@2.0.14","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@2.0.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.14/manifests"},{"name":"@jupyter-widgets/base@1.1.6","sha":"d3865532608b95b5aa6bfcd6d692b9fd908abec4","kind":"tag","published_at":"2017-12-26T20:44:19.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@1.1.6","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@1.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.1.6/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.14","sha":"d3865532608b95b5aa6bfcd6d692b9fd908abec4","kind":"tag","published_at":"2017-12-26T20:44:19.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.14","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.14/manifests"},{"name":"@jupyter-widgets/output@1.0.11","sha":"d3865532608b95b5aa6bfcd6d692b9fd908abec4","kind":"tag","published_at":"2017-12-26T20:44:19.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@1.0.11","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@1.0.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.11/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.14","sha":"d3865532608b95b5aa6bfcd6d692b9fd908abec4","kind":"tag","published_at":"2017-12-26T20:44:19.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.14","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.14/manifests"},{"name":"@jupyter-widgets/example-web2@2.0.15","sha":"d3865532608b95b5aa6bfcd6d692b9fd908abec4","kind":"tag","published_at":"2017-12-26T20:44:19.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.0.15","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.0.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.15/manifests"},{"name":"@jupyter-widgets/example-web1@2.0.14","sha":"d3865532608b95b5aa6bfcd6d692b9fd908abec4","kind":"tag","published_at":"2017-12-26T20:44:19.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@2.0.14","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@2.0.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.14/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.32.0","sha":"d3865532608b95b5aa6bfcd6d692b9fd908abec4","kind":"tag","published_at":"2017-12-26T20:44:19.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.32.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.32.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.32.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.32.0/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.1.3","sha":"d3865532608b95b5aa6bfcd6d692b9fd908abec4","kind":"tag","published_at":"2017-12-26T20:44:19.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.1.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.1.3/manifests"},{"name":"@jupyter-widgets/html-manager@0.11.3","sha":"d3865532608b95b5aa6bfcd6d692b9fd908abec4","kind":"tag","published_at":"2017-12-26T20:44:19.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.11.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.11.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.11.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.11.3/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.31.3","sha":"a9c4069570aa92368f590296569e411d9c49e123","kind":"tag","published_at":"2017-12-07T12:46:35.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.31.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.31.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.31.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.31.3/manifests"},{"name":"7.1.0rc1","sha":"b4754e3c6cd14fa0b3b67f986f9ae8521d724977","kind":"commit","published_at":"2017-12-06T21:59:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.1.0rc1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.1.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.1.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.1.0rc1/manifests"},{"name":"@jupyter-widgets/controls@1.1.2","sha":"4d4978f4169caab581a175bc19244f0ebfff7faf","kind":"tag","published_at":"2017-12-06T21:49:59.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.1.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.1.2/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.1.2","sha":"4d4978f4169caab581a175bc19244f0ebfff7faf","kind":"tag","published_at":"2017-12-06T21:49:59.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.1.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.1.2/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.31.2","sha":"4d4978f4169caab581a175bc19244f0ebfff7faf","kind":"tag","published_at":"2017-12-06T21:49:59.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.31.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.31.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.31.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.31.2/manifests"},{"name":"@jupyter-widgets/html-manager@0.11.2","sha":"4d4978f4169caab581a175bc19244f0ebfff7faf","kind":"tag","published_at":"2017-12-06T21:49:59.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.11.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.11.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.11.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.11.2/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@2.0.13","sha":"4d4978f4169caab581a175bc19244f0ebfff7faf","kind":"tag","published_at":"2017-12-06T21:49:59.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@2.0.13","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@2.0.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.13/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.13","sha":"4d4978f4169caab581a175bc19244f0ebfff7faf","kind":"tag","published_at":"2017-12-06T21:49:59.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.13","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.13/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.13","sha":"4d4978f4169caab581a175bc19244f0ebfff7faf","kind":"tag","published_at":"2017-12-06T21:49:59.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.13","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.13/manifests"},{"name":"@jupyter-widgets/example-web2@2.0.14","sha":"4d4978f4169caab581a175bc19244f0ebfff7faf","kind":"tag","published_at":"2017-12-06T21:49:59.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.0.14","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.0.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.14/manifests"},{"name":"@jupyter-widgets/example-web1@2.0.13","sha":"4d4978f4169caab581a175bc19244f0ebfff7faf","kind":"tag","published_at":"2017-12-06T21:49:59.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@2.0.13","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@2.0.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.13/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.12","sha":"3e5b4da9182dca7b73c43a245510947636bb8ea8","kind":"tag","published_at":"2017-12-06T18:43:09.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.12","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.12/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.12","sha":"3e5b4da9182dca7b73c43a245510947636bb8ea8","kind":"tag","published_at":"2017-12-06T18:43:09.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.12","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.12/manifests"},{"name":"@jupyter-widgets/example-web2@2.0.13","sha":"3e5b4da9182dca7b73c43a245510947636bb8ea8","kind":"tag","published_at":"2017-12-06T18:43:09.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.0.13","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.0.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.13/manifests"},{"name":"@jupyter-widgets/html-manager@0.11.1","sha":"3e5b4da9182dca7b73c43a245510947636bb8ea8","kind":"tag","published_at":"2017-12-06T18:43:08.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.11.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.11.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.11.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.11.1/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@2.0.12","sha":"3e5b4da9182dca7b73c43a245510947636bb8ea8","kind":"tag","published_at":"2017-12-06T18:43:08.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@2.0.12","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@2.0.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.12/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.31.1","sha":"3e5b4da9182dca7b73c43a245510947636bb8ea8","kind":"tag","published_at":"2017-12-06T18:43:08.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.31.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.31.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.31.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.31.1/manifests"},{"name":"@jupyter-widgets/example-web1@2.0.12","sha":"3e5b4da9182dca7b73c43a245510947636bb8ea8","kind":"tag","published_at":"2017-12-06T18:43:08.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@2.0.12","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@2.0.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.12/manifests"},{"name":"@jupyter-widgets/controls@1.1.1","sha":"3e5b4da9182dca7b73c43a245510947636bb8ea8","kind":"tag","published_at":"2017-12-06T18:43:08.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.1.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.1.1/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.1.1","sha":"3e5b4da9182dca7b73c43a245510947636bb8ea8","kind":"tag","published_at":"2017-12-06T18:43:08.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.1.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.1.1/manifests"},{"name":"7.1.0rc0","sha":"c1c2730d50e3fcefe233ce4d21bf00e7056e3d3e","kind":"commit","published_at":"2017-12-05T22:41:03.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.1.0rc0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.1.0rc0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.1.0rc0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.1.0rc0/manifests"},{"name":"@jupyter-widgets/example-web2@2.0.12","sha":"ca101759ac45116e9cd0ea638ceccc2dff8eb9fe","kind":"tag","published_at":"2017-12-05T22:32:42.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.0.12","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.0.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.12/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.1.0","sha":"ca101759ac45116e9cd0ea638ceccc2dff8eb9fe","kind":"tag","published_at":"2017-12-05T22:32:42.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.1.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.1.0/manifests"},{"name":"@jupyter-widgets/example-web1@2.0.11","sha":"ca101759ac45116e9cd0ea638ceccc2dff8eb9fe","kind":"tag","published_at":"2017-12-05T22:32:42.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@2.0.11","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@2.0.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.11/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.11","sha":"ca101759ac45116e9cd0ea638ceccc2dff8eb9fe","kind":"tag","published_at":"2017-12-05T22:32:42.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.11","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.11/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.11","sha":"ca101759ac45116e9cd0ea638ceccc2dff8eb9fe","kind":"tag","published_at":"2017-12-05T22:32:42.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.11","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.11/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@2.0.11","sha":"ca101759ac45116e9cd0ea638ceccc2dff8eb9fe","kind":"tag","published_at":"2017-12-05T22:32:42.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@2.0.11","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@2.0.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.11/manifests"},{"name":"@jupyter-widgets/html-manager@0.11.0","sha":"ca101759ac45116e9cd0ea638ceccc2dff8eb9fe","kind":"tag","published_at":"2017-12-05T22:32:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.11.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.11.0/manifests"},{"name":"@jupyter-widgets/schema@0.3.1","sha":"ca101759ac45116e9cd0ea638ceccc2dff8eb9fe","kind":"tag","published_at":"2017-12-05T22:32:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/schema@0.3.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/schema@0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.3.1/manifests"},{"name":"@jupyter-widgets/output@1.0.10","sha":"ca101759ac45116e9cd0ea638ceccc2dff8eb9fe","kind":"tag","published_at":"2017-12-05T22:32:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@1.0.10","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@1.0.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.10/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.31.0","sha":"ca101759ac45116e9cd0ea638ceccc2dff8eb9fe","kind":"tag","published_at":"2017-12-05T22:32:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.31.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.31.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.31.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.31.0/manifests"},{"name":"@jupyter-widgets/controls@1.1.0","sha":"ca101759ac45116e9cd0ea638ceccc2dff8eb9fe","kind":"tag","published_at":"2017-12-05T22:32:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.1.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.1.0/manifests"},{"name":"@jupyter-widgets/base@1.1.5","sha":"ca101759ac45116e9cd0ea638ceccc2dff8eb9fe","kind":"tag","published_at":"2017-12-05T22:32:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@1.1.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@1.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.1.5/manifests"},{"name":"7.0.5","sha":"388d925fab0d775133e3f7ff6331361b4428f000","kind":"commit","published_at":"2017-11-17T01:39:56.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.0.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.0.5/manifests"},{"name":"@jupyter-widgets/controls@1.0.10","sha":"f1e1692b9950dadf9c7275d523521fe3abce2d17","kind":"tag","published_at":"2017-11-17T01:30:42.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.0.10","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.0.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.0.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.0.10/manifests"},{"name":"@jupyter-widgets/base@1.1.4","sha":"f1e1692b9950dadf9c7275d523521fe3abce2d17","kind":"tag","published_at":"2017-11-17T01:30:42.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@1.1.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@1.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.1.4/manifests"},{"name":"@jupyter-widgets/output@1.0.9","sha":"f1e1692b9950dadf9c7275d523521fe3abce2d17","kind":"tag","published_at":"2017-11-17T01:30:42.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@1.0.9","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@1.0.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.9/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@2.0.10","sha":"f1e1692b9950dadf9c7275d523521fe3abce2d17","kind":"tag","published_at":"2017-11-17T01:30:42.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@2.0.10","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@2.0.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.10/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.10","sha":"f1e1692b9950dadf9c7275d523521fe3abce2d17","kind":"tag","published_at":"2017-11-17T01:30:42.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.10","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.10/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.10","sha":"f1e1692b9950dadf9c7275d523521fe3abce2d17","kind":"tag","published_at":"2017-11-17T01:30:42.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.10","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.10/manifests"},{"name":"@jupyter-widgets/example-web2@2.0.11","sha":"f1e1692b9950dadf9c7275d523521fe3abce2d17","kind":"tag","published_at":"2017-11-17T01:30:42.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.0.11","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.0.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.11/manifests"},{"name":"@jupyter-widgets/example-web1@2.0.10","sha":"f1e1692b9950dadf9c7275d523521fe3abce2d17","kind":"tag","published_at":"2017-11-17T01:30:42.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@2.0.10","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@2.0.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.10/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.0.12","sha":"f1e1692b9950dadf9c7275d523521fe3abce2d17","kind":"tag","published_at":"2017-11-17T01:30:42.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.0.12","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.0.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.12/manifests"},{"name":"@jupyter-widgets/html-manager@0.10.10","sha":"f1e1692b9950dadf9c7275d523521fe3abce2d17","kind":"tag","published_at":"2017-11-17T01:30:42.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.10.10","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.10.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.10.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.10.10/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.30.1","sha":"f1e1692b9950dadf9c7275d523521fe3abce2d17","kind":"tag","published_at":"2017-11-17T01:30:42.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.30.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.30.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.30.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.30.1/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.0.11","sha":"8f909606fc5e5875a2ab27ec8c4b48ac5c0a77f9","kind":"tag","published_at":"2017-11-09T19:27:47.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.0.11","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.0.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.11/manifests"},{"name":"@jupyter-widgets/base@1.1.3","sha":"8f909606fc5e5875a2ab27ec8c4b48ac5c0a77f9","kind":"tag","published_at":"2017-11-09T19:27:47.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@1.1.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@1.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.1.3/manifests"},{"name":"@jupyter-widgets/controls@1.0.9","sha":"8f909606fc5e5875a2ab27ec8c4b48ac5c0a77f9","kind":"tag","published_at":"2017-11-09T19:27:47.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.0.9","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.0.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.0.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.0.9/manifests"},{"name":"@jupyter-widgets/example-web1@2.0.9","sha":"8f909606fc5e5875a2ab27ec8c4b48ac5c0a77f9","kind":"tag","published_at":"2017-11-09T19:27:47.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@2.0.9","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@2.0.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.9/manifests"},{"name":"@jupyter-widgets/example-web2@2.0.10","sha":"8f909606fc5e5875a2ab27ec8c4b48ac5c0a77f9","kind":"tag","published_at":"2017-11-09T19:27:47.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.0.10","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.0.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.10/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.9","sha":"8f909606fc5e5875a2ab27ec8c4b48ac5c0a77f9","kind":"tag","published_at":"2017-11-09T19:27:47.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.9","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.9/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.9","sha":"8f909606fc5e5875a2ab27ec8c4b48ac5c0a77f9","kind":"tag","published_at":"2017-11-09T19:27:47.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.9","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.9/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@2.0.9","sha":"8f909606fc5e5875a2ab27ec8c4b48ac5c0a77f9","kind":"tag","published_at":"2017-11-09T19:27:47.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@2.0.9","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@2.0.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.9/manifests"},{"name":"@jupyter-widgets/html-manager@0.10.9","sha":"8f909606fc5e5875a2ab27ec8c4b48ac5c0a77f9","kind":"tag","published_at":"2017-11-09T19:27:47.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.10.9","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.10.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.10.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.10.9/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.30.0","sha":"8f909606fc5e5875a2ab27ec8c4b48ac5c0a77f9","kind":"tag","published_at":"2017-11-09T19:27:47.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.30.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.30.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.30.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.30.0/manifests"},{"name":"@jupyter-widgets/output@1.0.8","sha":"8f909606fc5e5875a2ab27ec8c4b48ac5c0a77f9","kind":"tag","published_at":"2017-11-09T19:27:47.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@1.0.8","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@1.0.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.8/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.0.10","sha":"1eee3c60418c834df06f87c0e2290088d2cc4cfd","kind":"tag","published_at":"2017-11-07T23:21:44.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.0.10","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.0.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.10/manifests"},{"name":"@jupyter-widgets/html-manager@0.10.8","sha":"1eee3c60418c834df06f87c0e2290088d2cc4cfd","kind":"tag","published_at":"2017-11-07T23:21:44.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.10.8","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.10.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.10.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.10.8/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@2.0.8","sha":"1eee3c60418c834df06f87c0e2290088d2cc4cfd","kind":"tag","published_at":"2017-11-07T23:21:44.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@2.0.8","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@2.0.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.8/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.8","sha":"1eee3c60418c834df06f87c0e2290088d2cc4cfd","kind":"tag","published_at":"2017-11-07T23:21:44.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.8","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.8/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.8","sha":"1eee3c60418c834df06f87c0e2290088d2cc4cfd","kind":"tag","published_at":"2017-11-07T23:21:44.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.8","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.8/manifests"},{"name":"@jupyter-widgets/example-web2@2.0.9","sha":"1eee3c60418c834df06f87c0e2290088d2cc4cfd","kind":"tag","published_at":"2017-11-07T23:21:44.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.0.9","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.0.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.9/manifests"},{"name":"@jupyter-widgets/example-web1@2.0.8","sha":"1eee3c60418c834df06f87c0e2290088d2cc4cfd","kind":"tag","published_at":"2017-11-07T23:21:44.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@2.0.8","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@2.0.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.8/manifests"},{"name":"@jupyter-widgets/base@1.1.2","sha":"1eee3c60418c834df06f87c0e2290088d2cc4cfd","kind":"tag","published_at":"2017-11-07T23:21:44.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@1.1.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.1.2/manifests"},{"name":"@jupyter-widgets/controls@1.0.8","sha":"1eee3c60418c834df06f87c0e2290088d2cc4cfd","kind":"tag","published_at":"2017-11-07T23:21:44.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.0.8","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.0.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.0.8/manifests"},{"name":"@jupyter-widgets/output@1.0.7","sha":"1eee3c60418c834df06f87c0e2290088d2cc4cfd","kind":"tag","published_at":"2017-11-07T23:21:44.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@1.0.7","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@1.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.7/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.29.3","sha":"1eee3c60418c834df06f87c0e2290088d2cc4cfd","kind":"tag","published_at":"2017-11-07T23:21:44.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.29.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.29.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.29.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.29.3/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.29.2","sha":"952f0266dbc28d1caef43aaa8d9d2ba0eb755acc","kind":"tag","published_at":"2017-11-07T08:07:18.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.29.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.29.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.29.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.29.2/manifests"},{"name":"@jupyter-widgets/example-web2@2.0.8","sha":"0c5f96cd30e9c13fa1220075ad14355d96d501dd","kind":"tag","published_at":"2017-11-07T07:05:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.0.8","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.0.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.8/manifests"},{"name":"@jupyter-widgets/base@1.1.1","sha":"0c5f96cd30e9c13fa1220075ad14355d96d501dd","kind":"tag","published_at":"2017-11-07T07:05:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@1.1.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.1.1/manifests"},{"name":"@jupyter-widgets/html-manager@0.10.7","sha":"0c5f96cd30e9c13fa1220075ad14355d96d501dd","kind":"tag","published_at":"2017-11-07T07:05:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.10.7","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.10.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.10.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.10.7/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@2.0.7","sha":"0c5f96cd30e9c13fa1220075ad14355d96d501dd","kind":"tag","published_at":"2017-11-07T07:05:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@2.0.7","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@2.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.7/manifests"},{"name":"@jupyter-widgets/controls@1.0.7","sha":"0c5f96cd30e9c13fa1220075ad14355d96d501dd","kind":"tag","published_at":"2017-11-07T07:05:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.0.7","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.0.7/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.7","sha":"0c5f96cd30e9c13fa1220075ad14355d96d501dd","kind":"tag","published_at":"2017-11-07T07:05:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.7","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.7/manifests"},{"name":"@jupyter-widgets/output@1.0.6","sha":"0c5f96cd30e9c13fa1220075ad14355d96d501dd","kind":"tag","published_at":"2017-11-07T07:05:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@1.0.6","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@1.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.6/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.7","sha":"0c5f96cd30e9c13fa1220075ad14355d96d501dd","kind":"tag","published_at":"2017-11-07T07:05:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.7","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.7/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.29.1","sha":"0c5f96cd30e9c13fa1220075ad14355d96d501dd","kind":"tag","published_at":"2017-11-07T07:05:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.29.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.29.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.29.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.29.1/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.0.9","sha":"0c5f96cd30e9c13fa1220075ad14355d96d501dd","kind":"tag","published_at":"2017-11-07T07:05:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.0.9","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.0.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.9/manifests"},{"name":"@jupyter-widgets/example-web1@2.0.7","sha":"0c5f96cd30e9c13fa1220075ad14355d96d501dd","kind":"tag","published_at":"2017-11-07T07:05:41.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@2.0.7","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@2.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.7/manifests"},{"name":"@jupyter-widgets/base@1.1.0","sha":"f800c95081a8ea62a85f24f07f08511e6058d108","kind":"tag","published_at":"2017-11-02T23:52:06.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@1.1.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.1.0/manifests"},{"name":"@jupyter-widgets/output@1.0.5","sha":"f800c95081a8ea62a85f24f07f08511e6058d108","kind":"tag","published_at":"2017-11-02T23:52:06.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@1.0.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@1.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.5/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.0.8","sha":"f800c95081a8ea62a85f24f07f08511e6058d108","kind":"tag","published_at":"2017-11-02T23:52:06.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.0.8","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.0.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.8/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.29.0","sha":"f800c95081a8ea62a85f24f07f08511e6058d108","kind":"tag","published_at":"2017-11-02T23:52:06.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.29.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.29.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.29.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.29.0/manifests"},{"name":"@jupyter-widgets/html-manager@0.10.6","sha":"f800c95081a8ea62a85f24f07f08511e6058d108","kind":"tag","published_at":"2017-11-02T23:52:06.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.10.6","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.10.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.10.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.10.6/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@2.0.6","sha":"f800c95081a8ea62a85f24f07f08511e6058d108","kind":"tag","published_at":"2017-11-02T23:52:06.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@2.0.6","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@2.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.6/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.6","sha":"f800c95081a8ea62a85f24f07f08511e6058d108","kind":"tag","published_at":"2017-11-02T23:52:06.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.6","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.6/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.6","sha":"f800c95081a8ea62a85f24f07f08511e6058d108","kind":"tag","published_at":"2017-11-02T23:52:06.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.6","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.6/manifests"},{"name":"@jupyter-widgets/example-web2@2.0.7","sha":"f800c95081a8ea62a85f24f07f08511e6058d108","kind":"tag","published_at":"2017-11-02T23:52:06.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.0.7","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.7/manifests"},{"name":"@jupyter-widgets/example-web1@2.0.6","sha":"f800c95081a8ea62a85f24f07f08511e6058d108","kind":"tag","published_at":"2017-11-02T23:52:06.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@2.0.6","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@2.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.6/manifests"},{"name":"@jupyter-widgets/controls@1.0.6","sha":"f800c95081a8ea62a85f24f07f08511e6058d108","kind":"tag","published_at":"2017-11-02T23:52:06.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.0.6","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.0.6/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.0.7","sha":"0c35a28b847a19852a9ebffc9f4c477907ede3d4","kind":"tag","published_at":"2017-10-20T23:47:09.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.0.7","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.7/manifests"},{"name":"7.0.3","sha":"dcc418050d0cfdd7e235ed7929c377743dd6f85f","kind":"commit","published_at":"2017-10-20T20:18:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.0.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.0.3/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.5","sha":"3bfd8e2d2e3995c69bdf5c427f22051f7acf8327","kind":"tag","published_at":"2017-10-20T20:12:49.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.5/manifests"},{"name":"@jupyter-widgets/example-web2@2.0.6","sha":"3bfd8e2d2e3995c69bdf5c427f22051f7acf8327","kind":"tag","published_at":"2017-10-20T20:12:48.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.0.6","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.6/manifests"},{"name":"@jupyter-widgets/example-web1@2.0.5","sha":"3bfd8e2d2e3995c69bdf5c427f22051f7acf8327","kind":"tag","published_at":"2017-10-20T20:12:48.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@2.0.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@2.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.5/manifests"},{"name":"@jupyter-widgets/controls@1.0.5","sha":"3bfd8e2d2e3995c69bdf5c427f22051f7acf8327","kind":"tag","published_at":"2017-10-20T20:12:48.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.0.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.0.5/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.0.6","sha":"3bfd8e2d2e3995c69bdf5c427f22051f7acf8327","kind":"tag","published_at":"2017-10-20T20:12:48.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.0.6","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.6/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.28.2","sha":"3bfd8e2d2e3995c69bdf5c427f22051f7acf8327","kind":"tag","published_at":"2017-10-20T20:12:48.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.28.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.28.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.28.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.28.2/manifests"},{"name":"@jupyter-widgets/html-manager@0.10.5","sha":"3bfd8e2d2e3995c69bdf5c427f22051f7acf8327","kind":"tag","published_at":"2017-10-20T20:12:48.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.10.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.10.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.10.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.10.5/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@2.0.5","sha":"3bfd8e2d2e3995c69bdf5c427f22051f7acf8327","kind":"tag","published_at":"2017-10-20T20:12:48.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@2.0.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@2.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.5/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.5","sha":"3bfd8e2d2e3995c69bdf5c427f22051f7acf8327","kind":"tag","published_at":"2017-10-20T20:12:48.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.5/manifests"},{"name":"@jupyter-widgets/example-web2@2.0.5","sha":"2917d45c72d5e8c8c1d7e5a7e3974f28fe0d0512","kind":"tag","published_at":"2017-10-19T18:44:08.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.0.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.5/manifests"},{"name":"@jupyter-widgets/output@1.0.4","sha":"2917d45c72d5e8c8c1d7e5a7e3974f28fe0d0512","kind":"tag","published_at":"2017-10-19T18:44:08.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@1.0.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@1.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.4/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.0.5","sha":"2917d45c72d5e8c8c1d7e5a7e3974f28fe0d0512","kind":"tag","published_at":"2017-10-19T18:44:08.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.0.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.5/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.28.1","sha":"2917d45c72d5e8c8c1d7e5a7e3974f28fe0d0512","kind":"tag","published_at":"2017-10-19T18:44:08.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.28.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.28.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.28.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.28.1/manifests"},{"name":"@jupyter-widgets/html-manager@0.10.4","sha":"2917d45c72d5e8c8c1d7e5a7e3974f28fe0d0512","kind":"tag","published_at":"2017-10-19T18:44:08.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.10.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.10.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.10.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.10.4/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@2.0.4","sha":"2917d45c72d5e8c8c1d7e5a7e3974f28fe0d0512","kind":"tag","published_at":"2017-10-19T18:44:08.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@2.0.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@2.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.4/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.4","sha":"2917d45c72d5e8c8c1d7e5a7e3974f28fe0d0512","kind":"tag","published_at":"2017-10-19T18:44:08.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.4/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.4","sha":"2917d45c72d5e8c8c1d7e5a7e3974f28fe0d0512","kind":"tag","published_at":"2017-10-19T18:44:08.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.4/manifests"},{"name":"@jupyter-widgets/base@1.0.4","sha":"2917d45c72d5e8c8c1d7e5a7e3974f28fe0d0512","kind":"tag","published_at":"2017-10-19T18:44:08.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@1.0.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@1.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.0.4/manifests"},{"name":"@jupyter-widgets/controls@1.0.4","sha":"2917d45c72d5e8c8c1d7e5a7e3974f28fe0d0512","kind":"tag","published_at":"2017-10-19T18:44:08.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.0.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.0.4/manifests"},{"name":"@jupyter-widgets/example-web1@2.0.4","sha":"2917d45c72d5e8c8c1d7e5a7e3974f28fe0d0512","kind":"tag","published_at":"2017-10-19T18:44:08.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@2.0.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@2.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.4/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.4-0","sha":"8007e15a12297646e65004dea5755c83757161af","kind":"tag","published_at":"2017-10-19T18:20:32.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.4-0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.4-0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.4-0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.4-0/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.4-0","sha":"8007e15a12297646e65004dea5755c83757161af","kind":"tag","published_at":"2017-10-19T18:20:32.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.4-0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.4-0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.4-0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.4-0/manifests"},{"name":"@jupyter-widgets/output@1.0.4-0","sha":"8007e15a12297646e65004dea5755c83757161af","kind":"tag","published_at":"2017-10-19T18:20:31.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@1.0.4-0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@1.0.4-0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.4-0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.4-0/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.0.5-0","sha":"8007e15a12297646e65004dea5755c83757161af","kind":"tag","published_at":"2017-10-19T18:20:31.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.0.5-0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.0.5-0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.5-0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.5-0/manifests"},{"name":"@jupyter-widgets/base@1.0.4-0","sha":"8007e15a12297646e65004dea5755c83757161af","kind":"tag","published_at":"2017-10-19T18:20:31.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@1.0.4-0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@1.0.4-0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.0.4-0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.0.4-0/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.28.1-0","sha":"8007e15a12297646e65004dea5755c83757161af","kind":"tag","published_at":"2017-10-19T18:20:31.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.28.1-0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.28.1-0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.28.1-0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.28.1-0/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@2.0.4-0","sha":"8007e15a12297646e65004dea5755c83757161af","kind":"tag","published_at":"2017-10-19T18:20:31.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@2.0.4-0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@2.0.4-0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.4-0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.4-0/manifests"},{"name":"@jupyter-widgets/example-web2@2.0.5-0","sha":"8007e15a12297646e65004dea5755c83757161af","kind":"tag","published_at":"2017-10-19T18:20:31.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.0.5-0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.0.5-0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.5-0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.5-0/manifests"},{"name":"@jupyter-widgets/controls@1.0.4-0","sha":"8007e15a12297646e65004dea5755c83757161af","kind":"tag","published_at":"2017-10-19T18:20:31.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.0.4-0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.0.4-0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.0.4-0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.0.4-0/manifests"},{"name":"@jupyter-widgets/html-manager@0.10.4-0","sha":"8007e15a12297646e65004dea5755c83757161af","kind":"tag","published_at":"2017-10-19T18:20:31.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.10.4-0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.10.4-0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.10.4-0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.10.4-0/manifests"},{"name":"@jupyter-widgets/example-web1@2.0.4-0","sha":"8007e15a12297646e65004dea5755c83757161af","kind":"tag","published_at":"2017-10-19T18:20:31.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@2.0.4-0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@2.0.4-0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.4-0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.4-0/manifests"},{"name":"7.0.2","sha":"742350de3cd8cff0af16c9f2138aae5ae64b6d1c","kind":"commit","published_at":"2017-10-18T21:39:48.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.0.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.0.2/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.0.4","sha":"369150a0db5a7d6d34e73616000826a2f7b9cb80","kind":"tag","published_at":"2017-10-18T21:31:15.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.0.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.4/manifests"},{"name":"@jupyter-widgets/base@1.0.3","sha":"369150a0db5a7d6d34e73616000826a2f7b9cb80","kind":"tag","published_at":"2017-10-18T21:31:15.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@1.0.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@1.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.0.3/manifests"},{"name":"@jupyter-widgets/controls@1.0.3","sha":"369150a0db5a7d6d34e73616000826a2f7b9cb80","kind":"tag","published_at":"2017-10-18T21:31:15.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.0.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.0.3/manifests"},{"name":"@jupyter-widgets/example-web1@2.0.3","sha":"369150a0db5a7d6d34e73616000826a2f7b9cb80","kind":"tag","published_at":"2017-10-18T21:31:15.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@2.0.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@2.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.3/manifests"},{"name":"@jupyter-widgets/example-web2@2.0.4","sha":"369150a0db5a7d6d34e73616000826a2f7b9cb80","kind":"tag","published_at":"2017-10-18T21:31:15.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.0.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.4/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.3","sha":"369150a0db5a7d6d34e73616000826a2f7b9cb80","kind":"tag","published_at":"2017-10-18T21:31:15.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.3/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.3","sha":"369150a0db5a7d6d34e73616000826a2f7b9cb80","kind":"tag","published_at":"2017-10-18T21:31:15.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.3/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@2.0.3","sha":"369150a0db5a7d6d34e73616000826a2f7b9cb80","kind":"tag","published_at":"2017-10-18T21:31:15.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@2.0.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@2.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.3/manifests"},{"name":"@jupyter-widgets/html-manager@0.10.3","sha":"369150a0db5a7d6d34e73616000826a2f7b9cb80","kind":"tag","published_at":"2017-10-18T21:31:15.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.10.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.10.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.10.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.10.3/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.28.0","sha":"369150a0db5a7d6d34e73616000826a2f7b9cb80","kind":"tag","published_at":"2017-10-18T21:31:15.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.28.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.28.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.28.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.28.0/manifests"},{"name":"@jupyter-widgets/output@1.0.3","sha":"369150a0db5a7d6d34e73616000826a2f7b9cb80","kind":"tag","published_at":"2017-10-18T21:31:15.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@1.0.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@1.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.3/manifests"},{"name":"7.0.1","sha":"d19d7b612f5514e31a4dce9123ac782407003858","kind":"commit","published_at":"2017-09-16T03:34:09.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.0.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.0.1/manifests"},{"name":"@jupyter-widgets/output@1.0.2","sha":"b18cc61552006c83a0637fdb16de1ea497133fc7","kind":"tag","published_at":"2017-09-16T03:18:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@1.0.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.2/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.0.3","sha":"b18cc61552006c83a0637fdb16de1ea497133fc7","kind":"tag","published_at":"2017-09-16T03:18:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.0.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.3/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.27.1","sha":"b18cc61552006c83a0637fdb16de1ea497133fc7","kind":"tag","published_at":"2017-09-16T03:18:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.27.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.27.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.27.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.27.1/manifests"},{"name":"@jupyter-widgets/html-manager@0.10.2","sha":"b18cc61552006c83a0637fdb16de1ea497133fc7","kind":"tag","published_at":"2017-09-16T03:18:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.10.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.10.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.10.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.10.2/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@2.0.2","sha":"b18cc61552006c83a0637fdb16de1ea497133fc7","kind":"tag","published_at":"2017-09-16T03:18:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@2.0.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.2/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.2","sha":"b18cc61552006c83a0637fdb16de1ea497133fc7","kind":"tag","published_at":"2017-09-16T03:18:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.2/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.2","sha":"b18cc61552006c83a0637fdb16de1ea497133fc7","kind":"tag","published_at":"2017-09-16T03:18:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.2/manifests"},{"name":"@jupyter-widgets/example-web2@2.0.3","sha":"b18cc61552006c83a0637fdb16de1ea497133fc7","kind":"tag","published_at":"2017-09-16T03:18:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.0.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.3/manifests"},{"name":"@jupyter-widgets/example-web1@2.0.2","sha":"b18cc61552006c83a0637fdb16de1ea497133fc7","kind":"tag","published_at":"2017-09-16T03:18:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@2.0.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.2/manifests"},{"name":"@jupyter-widgets/controls@1.0.2","sha":"b18cc61552006c83a0637fdb16de1ea497133fc7","kind":"tag","published_at":"2017-09-16T03:18:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.0.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.0.2/manifests"},{"name":"@jupyter-widgets/base@1.0.2","sha":"b18cc61552006c83a0637fdb16de1ea497133fc7","kind":"tag","published_at":"2017-09-16T03:18:10.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@1.0.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.0.2/manifests"},{"name":"6.0.1","sha":"9a9906e75c8691cd8550add74c1a7fcce6794d08","kind":"commit","published_at":"2017-09-05T14:57:35.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/6.0.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/6.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/6.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/6.0.1/manifests"},{"name":"@jupyter-widgets/html-manager@0.10.1","sha":"cb435e7a1e5806638a4402b6c7275d0b9f43c7a2","kind":"tag","published_at":"2017-08-24T03:20:34.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.10.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.10.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.10.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.10.1/manifests"},{"name":"@jupyter-widgets/output@1.0.1","sha":"cb435e7a1e5806638a4402b6c7275d0b9f43c7a2","kind":"tag","published_at":"2017-08-24T03:20:34.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@1.0.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.1/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.0.2","sha":"cb435e7a1e5806638a4402b6c7275d0b9f43c7a2","kind":"tag","published_at":"2017-08-24T03:20:34.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.0.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.2/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@2.0.1","sha":"cb435e7a1e5806638a4402b6c7275d0b9f43c7a2","kind":"tag","published_at":"2017-08-24T03:20:34.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@2.0.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.1/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.27.0","sha":"cb435e7a1e5806638a4402b6c7275d0b9f43c7a2","kind":"tag","published_at":"2017-08-24T03:20:34.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.27.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.27.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.27.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.27.0/manifests"},{"name":"@jupyter-widgets/base@1.0.1","sha":"cb435e7a1e5806638a4402b6c7275d0b9f43c7a2","kind":"tag","published_at":"2017-08-24T03:20:34.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@1.0.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.0.1/manifests"},{"name":"@jupyter-widgets/controls@1.0.1","sha":"cb435e7a1e5806638a4402b6c7275d0b9f43c7a2","kind":"tag","published_at":"2017-08-24T03:20:34.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.0.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.0.1/manifests"},{"name":"@jupyter-widgets/example-web1@2.0.1","sha":"cb435e7a1e5806638a4402b6c7275d0b9f43c7a2","kind":"tag","published_at":"2017-08-24T03:20:34.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@2.0.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.1/manifests"},{"name":"@jupyter-widgets/example-web2@2.0.2","sha":"cb435e7a1e5806638a4402b6c7275d0b9f43c7a2","kind":"tag","published_at":"2017-08-24T03:20:34.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.0.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.2/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.1","sha":"cb435e7a1e5806638a4402b6c7275d0b9f43c7a2","kind":"tag","published_at":"2017-08-24T03:20:34.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.1/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.1","sha":"cb435e7a1e5806638a4402b6c7275d0b9f43c7a2","kind":"tag","published_at":"2017-08-24T03:20:34.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.1/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.0.1","sha":"87bbfbdab1c7f027bb39050987d166c6c26f082d","kind":"tag","published_at":"2017-08-22T12:40:08.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.0.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.1/manifests"},{"name":"7.0.0","sha":"67af059687205f10a339472f72cd86d2b34948c2","kind":"commit","published_at":"2017-08-18T18:34:51.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.0.0/manifests"},{"name":"@jupyter-widgets/example-web2@2.0.1","sha":"9fbb994da2b6248c0ef7b1894e3413c7bb2adaf3","kind":"tag","published_at":"2017-08-18T18:31:40.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.0.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.1/manifests"},{"name":"7.0.0rc3","sha":"0efdd4fe413d1199f49fa5fc66294c33c5f1abc9","kind":"commit","published_at":"2017-08-18T18:15:38.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.0.0rc3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.0.0rc3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.0.0rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.0.0rc3/manifests"},{"name":"7.0.0rc2","sha":"82e6d394fd92e6299c66ff21b93ae79f0c772de7","kind":"commit","published_at":"2017-08-18T17:08:20.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.0.0rc2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.0.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.0.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.0.0rc2/manifests"},{"name":"@jupyter-widgets/html-manager@0.10.0","sha":"98a434e705c7d6eed111682b9d2c99fb9d1bffdd","kind":"tag","published_at":"2017-08-18T17:00:43.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.10.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.10.0/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.0","sha":"98a434e705c7d6eed111682b9d2c99fb9d1bffdd","kind":"tag","published_at":"2017-08-18T17:00:43.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.0/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.0","sha":"98a434e705c7d6eed111682b9d2c99fb9d1bffdd","kind":"tag","published_at":"2017-08-18T17:00:43.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.0/manifests"},{"name":"@jupyter-widgets/base@1.0.0","sha":"98a434e705c7d6eed111682b9d2c99fb9d1bffdd","kind":"tag","published_at":"2017-08-18T17:00:43.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@1.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@1.0.0/manifests"},{"name":"@jupyter-widgets/controls@1.0.0","sha":"98a434e705c7d6eed111682b9d2c99fb9d1bffdd","kind":"tag","published_at":"2017-08-18T17:00:43.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@1.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@1.0.0/manifests"},{"name":"@jupyter-widgets/example-web1@2.0.0","sha":"98a434e705c7d6eed111682b9d2c99fb9d1bffdd","kind":"tag","published_at":"2017-08-18T17:00:43.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@2.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.0/manifests"},{"name":"@jupyter-widgets/example-web2@2.0.0","sha":"98a434e705c7d6eed111682b9d2c99fb9d1bffdd","kind":"tag","published_at":"2017-08-18T17:00:43.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.0/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.0.0","sha":"98a434e705c7d6eed111682b9d2c99fb9d1bffdd","kind":"tag","published_at":"2017-08-18T17:00:43.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.0/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.26.0","sha":"98a434e705c7d6eed111682b9d2c99fb9d1bffdd","kind":"tag","published_at":"2017-08-18T17:00:43.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.26.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.26.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.26.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.26.0/manifests"},{"name":"@jupyter-widgets/output@1.0.0","sha":"98a434e705c7d6eed111682b9d2c99fb9d1bffdd","kind":"tag","published_at":"2017-08-18T17:00:43.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@1.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@1.0.0/manifests"},{"name":"@jupyter-widgets/schema@0.3.0","sha":"98a434e705c7d6eed111682b9d2c99fb9d1bffdd","kind":"tag","published_at":"2017-08-18T17:00:43.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/schema@0.3.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/schema@0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.3.0/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@2.0.0","sha":"98a434e705c7d6eed111682b9d2c99fb9d1bffdd","kind":"tag","published_at":"2017-08-18T17:00:43.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@2.0.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.0/manifests"},{"name":"7.0.0rc1","sha":"d5544da32577f7bbd3aa594d9f222b9f8224f285","kind":"commit","published_at":"2017-08-18T14:34:32.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.0.0rc1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.0.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.0.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.0.0rc1/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.0.0-rc.1","sha":"f3b804bb5dd42bf9b31cedd0dc32a1de5e6b921c","kind":"tag","published_at":"2017-08-18T14:30:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.0.0-rc.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.0-rc.1/manifests"},{"name":"@jupyter-widgets/output@0.3.12","sha":"f3b804bb5dd42bf9b31cedd0dc32a1de5e6b921c","kind":"tag","published_at":"2017-08-18T14:30:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@0.3.12","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@0.3.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@0.3.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@0.3.12/manifests"},{"name":"@jupyter-widgets/example-web2@2.0.0-24","sha":"f3b804bb5dd42bf9b31cedd0dc32a1de5e6b921c","kind":"tag","published_at":"2017-08-18T14:30:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.0.0-24","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.0.0-24","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.0-24","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.0-24/manifests"},{"name":"@jupyter-widgets/example-web1@2.0.0-24","sha":"f3b804bb5dd42bf9b31cedd0dc32a1de5e6b921c","kind":"tag","published_at":"2017-08-18T14:30:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@2.0.0-24","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@2.0.0-24","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.0-24","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.0-24/manifests"},{"name":"@jupyter-widgets/controls@0.6.18","sha":"f3b804bb5dd42bf9b31cedd0dc32a1de5e6b921c","kind":"tag","published_at":"2017-08-18T14:30:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@0.6.18","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@0.6.18","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@0.6.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@0.6.18/manifests"},{"name":"@jupyter-widgets/base@0.6.12","sha":"f3b804bb5dd42bf9b31cedd0dc32a1de5e6b921c","kind":"tag","published_at":"2017-08-18T14:30:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@0.6.12","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@0.6.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@0.6.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@0.6.12/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@2.0.0-24","sha":"f3b804bb5dd42bf9b31cedd0dc32a1de5e6b921c","kind":"tag","published_at":"2017-08-18T14:30:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@2.0.0-24","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@2.0.0-24","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.0-24","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.0-24/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.0-31","sha":"f3b804bb5dd42bf9b31cedd0dc32a1de5e6b921c","kind":"tag","published_at":"2017-08-18T14:30:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.0-31","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.0-31","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.0-31","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.0-31/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.0-31","sha":"f3b804bb5dd42bf9b31cedd0dc32a1de5e6b921c","kind":"tag","published_at":"2017-08-18T14:30:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.0-31","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.0-31","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.0-31","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.0-31/manifests"},{"name":"@jupyter-widgets/html-manager@0.9.3","sha":"f3b804bb5dd42bf9b31cedd0dc32a1de5e6b921c","kind":"tag","published_at":"2017-08-18T14:30:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.9.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.9.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.9.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.9.3/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.25.12","sha":"f3b804bb5dd42bf9b31cedd0dc32a1de5e6b921c","kind":"tag","published_at":"2017-08-18T14:30:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.25.12","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.25.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.25.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.25.12/manifests"},{"name":"7.0.0rc0","sha":"a28007e3a298672ad03b863b2cf472d49b719f61","kind":"commit","published_at":"2017-08-16T00:49:27.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.0.0rc0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.0.0rc0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.0.0rc0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.0.0rc0/manifests"},{"name":"@jupyter-widgets/html-manager@0.9.2","sha":"3173f18282f5bd1fe3ddf3a80745fc66dcc52d64","kind":"tag","published_at":"2017-08-16T00:46:27.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.9.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.9.2/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.0-30","sha":"3173f18282f5bd1fe3ddf3a80745fc66dcc52d64","kind":"tag","published_at":"2017-08-16T00:46:27.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.0-30","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.0-30","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.0-30","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.0-30/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.0.0-rc.0","sha":"3173f18282f5bd1fe3ddf3a80745fc66dcc52d64","kind":"tag","published_at":"2017-08-16T00:46:27.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.0.0-rc.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.0-rc.0/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.0-30","sha":"3173f18282f5bd1fe3ddf3a80745fc66dcc52d64","kind":"tag","published_at":"2017-08-16T00:46:27.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.0-30","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.0-30","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.0-30","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.0-30/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.0-29","sha":"e5f525b13260c6cfbbbeef509b114f7b76f618b1","kind":"tag","published_at":"2017-08-15T11:44:11.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.0-29","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.0-29","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.0-29","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.0-29/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.0-29","sha":"e5f525b13260c6cfbbbeef509b114f7b76f618b1","kind":"tag","published_at":"2017-08-15T11:44:11.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.0-29","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.0-29","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.0-29","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.0-29/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.0.0-beta.18","sha":"e5f525b13260c6cfbbbeef509b114f7b76f618b1","kind":"tag","published_at":"2017-08-15T11:44:11.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.0.0-beta.18","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.0.0-beta.18","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.0-beta.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.0-beta.18/manifests"},{"name":"@jupyter-widgets/html-manager@0.9.1","sha":"e5f525b13260c6cfbbbeef509b114f7b76f618b1","kind":"tag","published_at":"2017-08-15T11:44:11.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.9.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.9.1/manifests"},{"name":"7.0.0b13","sha":"c61737a3383919c5a1507be58c0f66c4b32ef54b","kind":"commit","published_at":"2017-08-15T08:07:16.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.0.0b13","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.0.0b13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.0.0b13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.0.0b13/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.0-28","sha":"c056dea31f17b480bd1f28632aaa89402d9b00f3","kind":"tag","published_at":"2017-08-15T08:01:38.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.0-28","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.0-28","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.0-28","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.0-28/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.0.0-beta.17","sha":"c056dea31f17b480bd1f28632aaa89402d9b00f3","kind":"tag","published_at":"2017-08-15T08:01:38.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.0.0-beta.17","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.0.0-beta.17","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.0-beta.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.0-beta.17/manifests"},{"name":"@jupyter-widgets/html-manager@0.9.0","sha":"c056dea31f17b480bd1f28632aaa89402d9b00f3","kind":"tag","published_at":"2017-08-15T08:01:38.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.9.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.9.0/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.0-28","sha":"c056dea31f17b480bd1f28632aaa89402d9b00f3","kind":"tag","published_at":"2017-08-15T08:01:38.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.0-28","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.0-28","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.0-28","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.0-28/manifests"},{"name":"@jupyter-widgets/html-manager@0.8.2","sha":"b582066b905d43580087fe3487808199d4ed1523","kind":"tag","published_at":"2017-08-14T12:52:59.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.8.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.8.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.8.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.8.2/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.0.0-beta.16","sha":"b582066b905d43580087fe3487808199d4ed1523","kind":"tag","published_at":"2017-08-14T12:52:59.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.0.0-beta.16","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.0.0-beta.16","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.0-beta.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.0-beta.16/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.0-27","sha":"b582066b905d43580087fe3487808199d4ed1523","kind":"tag","published_at":"2017-08-14T12:52:59.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.0-27","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.0-27","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.0-27","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.0-27/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.0-27","sha":"b582066b905d43580087fe3487808199d4ed1523","kind":"tag","published_at":"2017-08-14T12:52:59.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.0-27","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.0-27","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.0-27","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.0-27/manifests"},{"name":"7.0.0b12","sha":"0aeefdd0f1b76edac3bffe0ac7d915b6601cd1d0","kind":"commit","published_at":"2017-08-12T03:44:38.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.0.0b12","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.0.0b12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.0.0b12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.0.0b12/manifests"},{"name":"@jupyter-widgets/output@0.3.11","sha":"145326ab3c22607d0977708a442d2f35a20fee55","kind":"tag","published_at":"2017-08-12T03:29:15.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@0.3.11","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@0.3.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@0.3.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@0.3.11/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.0.0-beta.15","sha":"145326ab3c22607d0977708a442d2f35a20fee55","kind":"tag","published_at":"2017-08-12T03:29:15.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.0.0-beta.15","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.0.0-beta.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.0-beta.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.0-beta.15/manifests"},{"name":"@jupyter-widgets/base@0.6.11","sha":"145326ab3c22607d0977708a442d2f35a20fee55","kind":"tag","published_at":"2017-08-12T03:29:15.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@0.6.11","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@0.6.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@0.6.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@0.6.11/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.25.11","sha":"145326ab3c22607d0977708a442d2f35a20fee55","kind":"tag","published_at":"2017-08-12T03:29:15.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.25.11","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.25.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.25.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.25.11/manifests"},{"name":"@jupyter-widgets/html-manager@0.8.1","sha":"145326ab3c22607d0977708a442d2f35a20fee55","kind":"tag","published_at":"2017-08-12T03:29:15.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.8.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.8.1/manifests"},{"name":"@jupyter-widgets/example-web2@2.0.0-23","sha":"145326ab3c22607d0977708a442d2f35a20fee55","kind":"tag","published_at":"2017-08-12T03:29:15.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.0.0-23","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.0.0-23","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.0-23","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.0-23/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@2.0.0-23","sha":"145326ab3c22607d0977708a442d2f35a20fee55","kind":"tag","published_at":"2017-08-12T03:29:15.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@2.0.0-23","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@2.0.0-23","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.0-23","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.0-23/manifests"},{"name":"@jupyter-widgets/controls@0.6.17","sha":"145326ab3c22607d0977708a442d2f35a20fee55","kind":"tag","published_at":"2017-08-12T03:29:15.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@0.6.17","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@0.6.17","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@0.6.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@0.6.17/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.0-26","sha":"145326ab3c22607d0977708a442d2f35a20fee55","kind":"tag","published_at":"2017-08-12T03:29:15.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.0-26","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.0-26","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.0-26","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.0-26/manifests"},{"name":"@jupyter-widgets/example-web1@2.0.0-23","sha":"145326ab3c22607d0977708a442d2f35a20fee55","kind":"tag","published_at":"2017-08-12T03:29:15.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@2.0.0-23","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@2.0.0-23","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.0-23","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.0-23/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.0-26","sha":"145326ab3c22607d0977708a442d2f35a20fee55","kind":"tag","published_at":"2017-08-12T03:29:15.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.0-26","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.0-26","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.0-26","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.0-26/manifests"},{"name":"7.0.0b11","sha":"09558f7636ff62bd238cc5066a9dd7ad5576ef79","kind":"commit","published_at":"2017-08-11T02:26:28.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.0.0b11","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.0.0b11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.0.0b11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.0.0b11/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.25.10","sha":"0baeeb96b72ecf97b28c416fbdf7c21b164773e1","kind":"tag","published_at":"2017-08-11T02:22:17.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.25.10","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.25.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.25.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.25.10/manifests"},{"name":"@jupyter-widgets/base@0.6.10","sha":"0baeeb96b72ecf97b28c416fbdf7c21b164773e1","kind":"tag","published_at":"2017-08-11T02:22:17.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@0.6.10","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@0.6.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@0.6.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@0.6.10/manifests"},{"name":"@jupyter-widgets/controls@0.6.16","sha":"0baeeb96b72ecf97b28c416fbdf7c21b164773e1","kind":"tag","published_at":"2017-08-11T02:22:17.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@0.6.16","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@0.6.16","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@0.6.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@0.6.16/manifests"},{"name":"@jupyter-widgets/example-web1@2.0.0-22","sha":"0baeeb96b72ecf97b28c416fbdf7c21b164773e1","kind":"tag","published_at":"2017-08-11T02:22:17.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@2.0.0-22","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@2.0.0-22","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.0-22","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.0-22/manifests"},{"name":"@jupyter-widgets/example-web2@2.0.0-22","sha":"0baeeb96b72ecf97b28c416fbdf7c21b164773e1","kind":"tag","published_at":"2017-08-11T02:22:17.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.0.0-22","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.0.0-22","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.0-22","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.0-22/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.0-25","sha":"0baeeb96b72ecf97b28c416fbdf7c21b164773e1","kind":"tag","published_at":"2017-08-11T02:22:17.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.0-25","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.0-25","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.0-25","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.0-25/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.0-25","sha":"0baeeb96b72ecf97b28c416fbdf7c21b164773e1","kind":"tag","published_at":"2017-08-11T02:22:17.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.0-25","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.0-25","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.0-25","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.0-25/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@2.0.0-22","sha":"0baeeb96b72ecf97b28c416fbdf7c21b164773e1","kind":"tag","published_at":"2017-08-11T02:22:17.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@2.0.0-22","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@2.0.0-22","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.0-22","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.0-22/manifests"},{"name":"@jupyter-widgets/html-manager@0.8.0","sha":"0baeeb96b72ecf97b28c416fbdf7c21b164773e1","kind":"tag","published_at":"2017-08-11T02:22:17.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.8.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.8.0/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.0.0-beta.14","sha":"0baeeb96b72ecf97b28c416fbdf7c21b164773e1","kind":"tag","published_at":"2017-08-11T02:22:17.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.0.0-beta.14","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.0.0-beta.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.0-beta.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.0-beta.14/manifests"},{"name":"@jupyter-widgets/output@0.3.10","sha":"0baeeb96b72ecf97b28c416fbdf7c21b164773e1","kind":"tag","published_at":"2017-08-11T02:22:17.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@0.3.10","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@0.3.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@0.3.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@0.3.10/manifests"},{"name":"7.0.0b10","sha":"c2b98c69efae65ec169b79b162d4e75e0cd99cac","kind":"commit","published_at":"2017-08-10T13:21:53.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.0.0b10","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.0.0b10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.0.0b10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.0.0b10/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.0-24","sha":"9dd4ed22909fde27391ff685cec15fdf8c1e0c00","kind":"tag","published_at":"2017-08-10T13:17:37.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.0-24","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.0-24","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.0-24","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.0-24/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.0.0-beta.13","sha":"9dd4ed22909fde27391ff685cec15fdf8c1e0c00","kind":"tag","published_at":"2017-08-10T13:17:37.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.0.0-beta.13","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.0.0-beta.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.0-beta.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.0-beta.13/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.25.9","sha":"9dd4ed22909fde27391ff685cec15fdf8c1e0c00","kind":"tag","published_at":"2017-08-10T13:17:37.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.25.9","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.25.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.25.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.25.9/manifests"},{"name":"@jupyter-widgets/html-manager@0.7.1","sha":"9dd4ed22909fde27391ff685cec15fdf8c1e0c00","kind":"tag","published_at":"2017-08-10T13:17:37.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.7.1","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.7.1/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.0-24","sha":"9dd4ed22909fde27391ff685cec15fdf8c1e0c00","kind":"tag","published_at":"2017-08-10T13:17:37.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.0-24","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.0-24","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.0-24","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.0-24/manifests"},{"name":"7.0.0b9","sha":"5c6eb5cf939e1169f93995efa672d85a67b79e9e","kind":"commit","published_at":"2017-08-09T20:43:47.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.0.0b9","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.0.0b9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.0.0b9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.0.0b9/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.0.0-beta.12","sha":"8b63820e4484cf5801097843533f4c17f114a769","kind":"tag","published_at":"2017-08-09T20:39:38.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.0.0-beta.12","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.0.0-beta.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.0-beta.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.0-beta.12/manifests"},{"name":"7.0.0b8","sha":"2dbcaa1fdc65949f002de1b81ca19a794fb5c020","kind":"commit","published_at":"2017-08-09T20:28:27.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.0.0b8","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.0.0b8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.0.0b8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.0.0b8/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.0-23","sha":"1b93a82c0e1e3f98eb82a5f1964edeabb5d00126","kind":"tag","published_at":"2017-08-09T20:25:09.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.0-23","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.0-23","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.0-23","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.0-23/manifests"},{"name":"@jupyter-widgets/schema@0.3.0-beta.7","sha":"1b93a82c0e1e3f98eb82a5f1964edeabb5d00126","kind":"tag","published_at":"2017-08-09T20:25:09.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/schema@0.3.0-beta.7","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/schema@0.3.0-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.3.0-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.3.0-beta.7/manifests"},{"name":"@jupyter-widgets/output@0.3.9","sha":"1b93a82c0e1e3f98eb82a5f1964edeabb5d00126","kind":"tag","published_at":"2017-08-09T20:25:09.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@0.3.9","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@0.3.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@0.3.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@0.3.9/manifests"},{"name":"@jupyter-widgets/base@0.6.9","sha":"1b93a82c0e1e3f98eb82a5f1964edeabb5d00126","kind":"tag","published_at":"2017-08-09T20:25:09.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@0.6.9","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@0.6.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@0.6.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@0.6.9/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.0.0-beta.11","sha":"1b93a82c0e1e3f98eb82a5f1964edeabb5d00126","kind":"tag","published_at":"2017-08-09T20:25:09.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.0.0-beta.11","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.0.0-beta.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.0-beta.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.0-beta.11/manifests"},{"name":"@jupyter-widgets/controls@0.6.15","sha":"1b93a82c0e1e3f98eb82a5f1964edeabb5d00126","kind":"tag","published_at":"2017-08-09T20:25:09.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@0.6.15","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@0.6.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@0.6.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@0.6.15/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.25.8","sha":"1b93a82c0e1e3f98eb82a5f1964edeabb5d00126","kind":"tag","published_at":"2017-08-09T20:25:09.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.25.8","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.25.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.25.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.25.8/manifests"},{"name":"@jupyter-widgets/example-web1@2.0.0-21","sha":"1b93a82c0e1e3f98eb82a5f1964edeabb5d00126","kind":"tag","published_at":"2017-08-09T20:25:09.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@2.0.0-21","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@2.0.0-21","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.0-21","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.0-21/manifests"},{"name":"@jupyter-widgets/html-manager@0.7.0","sha":"1b93a82c0e1e3f98eb82a5f1964edeabb5d00126","kind":"tag","published_at":"2017-08-09T20:25:09.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.7.0","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.7.0/manifests"},{"name":"@jupyter-widgets/example-web2@2.0.0-21","sha":"1b93a82c0e1e3f98eb82a5f1964edeabb5d00126","kind":"tag","published_at":"2017-08-09T20:25:09.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.0.0-21","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.0.0-21","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.0-21","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.0-21/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@2.0.0-21","sha":"1b93a82c0e1e3f98eb82a5f1964edeabb5d00126","kind":"tag","published_at":"2017-08-09T20:25:09.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@2.0.0-21","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@2.0.0-21","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.0-21","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.0-21/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.0-23","sha":"1b93a82c0e1e3f98eb82a5f1964edeabb5d00126","kind":"tag","published_at":"2017-08-09T20:25:09.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.0-23","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.0-23","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.0-23","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.0-23/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.0-22","sha":"f6c4ad40f3f1b11a8df5cc0a7fbc20e6e7ae9b45","kind":"tag","published_at":"2017-08-07T18:59:54.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.0-22","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.0-22","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.0-22","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.0-22/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.0-22","sha":"f6c4ad40f3f1b11a8df5cc0a7fbc20e6e7ae9b45","kind":"tag","published_at":"2017-08-07T18:59:54.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.0-22","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.0-22","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.0-22","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.0-22/manifests"},{"name":"@jupyter-widgets/html-manager@0.6.6","sha":"f6c4ad40f3f1b11a8df5cc0a7fbc20e6e7ae9b45","kind":"tag","published_at":"2017-08-07T18:59:54.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.6.6","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.6.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.6.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.6.6/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.0-21","sha":"f72141ac4323990fdd7046d7d8a276cc4cca5199","kind":"tag","published_at":"2017-08-05T01:51:00.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.0-21","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.0-21","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.0-21","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.0-21/manifests"},{"name":"@jupyter-widgets/html-manager@0.6.5","sha":"f72141ac4323990fdd7046d7d8a276cc4cca5199","kind":"tag","published_at":"2017-08-05T01:51:00.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.6.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.6.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.6.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.6.5/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.0-21","sha":"f72141ac4323990fdd7046d7d8a276cc4cca5199","kind":"tag","published_at":"2017-08-05T01:51:00.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.0-21","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.0-21","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.0-21","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.0-21/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@2.0.0-20","sha":"ed57faf1af0bb6b0d54d71fc81d24075d2635237","kind":"tag","published_at":"2017-08-05T01:31:17.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@2.0.0-20","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@2.0.0-20","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.0-20","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.0-20/manifests"},{"name":"@jupyter-widgets/html-manager@0.6.4","sha":"ed57faf1af0bb6b0d54d71fc81d24075d2635237","kind":"tag","published_at":"2017-08-05T01:31:17.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.6.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.6.4/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.25.7","sha":"ed57faf1af0bb6b0d54d71fc81d24075d2635237","kind":"tag","published_at":"2017-08-05T01:31:17.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.25.7","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.25.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.25.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.25.7/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.0.0-beta.10","sha":"ed57faf1af0bb6b0d54d71fc81d24075d2635237","kind":"tag","published_at":"2017-08-05T01:31:17.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.0.0-beta.10","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.0.0-beta.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.0-beta.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.0-beta.10/manifests"},{"name":"@jupyter-widgets/controls@0.6.14","sha":"ed57faf1af0bb6b0d54d71fc81d24075d2635237","kind":"tag","published_at":"2017-08-05T01:31:17.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@0.6.14","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@0.6.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@0.6.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@0.6.14/manifests"},{"name":"@jupyter-widgets/example-web1@2.0.0-20","sha":"ed57faf1af0bb6b0d54d71fc81d24075d2635237","kind":"tag","published_at":"2017-08-05T01:31:17.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@2.0.0-20","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@2.0.0-20","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.0-20","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.0-20/manifests"},{"name":"@jupyter-widgets/example-web2@2.0.0-20","sha":"ed57faf1af0bb6b0d54d71fc81d24075d2635237","kind":"tag","published_at":"2017-08-05T01:31:17.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.0.0-20","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.0.0-20","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.0-20","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.0-20/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.0-20","sha":"ed57faf1af0bb6b0d54d71fc81d24075d2635237","kind":"tag","published_at":"2017-08-05T01:31:17.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.0-20","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.0-20","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.0-20","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.0-20/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.0-20","sha":"ed57faf1af0bb6b0d54d71fc81d24075d2635237","kind":"tag","published_at":"2017-08-05T01:31:17.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.0-20","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.0-20","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.0-20","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.0-20/manifests"},{"name":"7.0.0b7","sha":"2cb7eb03c350637fb12a57ed20ab478879c85b46","kind":"commit","published_at":"2017-08-04T20:52:17.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.0.0b7","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.0.0b7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.0.0b7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.0.0b7/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@2.0.0-19","sha":"355eed47d0276090b37946ff168ffa6d136676db","kind":"tag","published_at":"2017-08-04T20:48:48.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@2.0.0-19","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@2.0.0-19","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.0-19","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.0-19/manifests"},{"name":"@jupyter-widgets/example-web1@2.0.0-19","sha":"355eed47d0276090b37946ff168ffa6d136676db","kind":"tag","published_at":"2017-08-04T20:48:48.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@2.0.0-19","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@2.0.0-19","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.0-19","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.0-19/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.0-19","sha":"355eed47d0276090b37946ff168ffa6d136676db","kind":"tag","published_at":"2017-08-04T20:48:48.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.0-19","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.0-19","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.0-19","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.0-19/manifests"},{"name":"@jupyter-widgets/example-web2@2.0.0-19","sha":"355eed47d0276090b37946ff168ffa6d136676db","kind":"tag","published_at":"2017-08-04T20:48:48.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.0.0-19","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.0.0-19","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.0-19","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.0-19/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.0-19","sha":"355eed47d0276090b37946ff168ffa6d136676db","kind":"tag","published_at":"2017-08-04T20:48:48.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.0-19","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.0-19","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.0-19","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.0-19/manifests"},{"name":"@jupyter-widgets/output@0.3.8","sha":"355eed47d0276090b37946ff168ffa6d136676db","kind":"tag","published_at":"2017-08-04T20:48:47.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@0.3.8","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@0.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@0.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@0.3.8/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.0.0-beta.9","sha":"355eed47d0276090b37946ff168ffa6d136676db","kind":"tag","published_at":"2017-08-04T20:48:47.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.0.0-beta.9","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.0.0-beta.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.0-beta.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.0-beta.9/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.25.6","sha":"355eed47d0276090b37946ff168ffa6d136676db","kind":"tag","published_at":"2017-08-04T20:48:47.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.25.6","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.25.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.25.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.25.6/manifests"},{"name":"@jupyter-widgets/html-manager@0.6.3","sha":"355eed47d0276090b37946ff168ffa6d136676db","kind":"tag","published_at":"2017-08-04T20:48:47.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.6.3","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.6.3/manifests"},{"name":"@jupyter-widgets/controls@0.6.13","sha":"355eed47d0276090b37946ff168ffa6d136676db","kind":"tag","published_at":"2017-08-04T20:48:47.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@0.6.13","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@0.6.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@0.6.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@0.6.13/manifests"},{"name":"@jupyter-widgets/base@0.6.8","sha":"355eed47d0276090b37946ff168ffa6d136676db","kind":"tag","published_at":"2017-08-04T20:48:47.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@0.6.8","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@0.6.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@0.6.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@0.6.8/manifests"},{"name":"7.0.0b6","sha":"9ff6369a4db3869cf61cce44aed136d0ccd93651","kind":"commit","published_at":"2017-08-04T03:56:49.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.0.0b6","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.0.0b6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.0.0b6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.0.0b6/manifests"},{"name":"@jupyter-widgets/schema@0.3.0-beta.6","sha":"e4b15885983be9f632f155af1a4f0fe956b1ff59","kind":"tag","published_at":"2017-08-04T03:52:39.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/schema@0.3.0-beta.6","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/schema@0.3.0-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.3.0-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fschema@0.3.0-beta.6/manifests"},{"name":"@jupyter-widgets/output@0.3.7","sha":"e4b15885983be9f632f155af1a4f0fe956b1ff59","kind":"tag","published_at":"2017-08-04T03:52:39.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/output@0.3.7","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/output@0.3.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@0.3.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Foutput@0.3.7/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.0.0-beta.8","sha":"e4b15885983be9f632f155af1a4f0fe956b1ff59","kind":"tag","published_at":"2017-08-04T03:52:39.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.0.0-beta.8","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.0.0-beta.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.0-beta.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.0-beta.8/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.25.5","sha":"e4b15885983be9f632f155af1a4f0fe956b1ff59","kind":"tag","published_at":"2017-08-04T03:52:39.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.25.5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.25.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.25.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.25.5/manifests"},{"name":"@jupyter-widgets/html-manager@0.6.2","sha":"e4b15885983be9f632f155af1a4f0fe956b1ff59","kind":"tag","published_at":"2017-08-04T03:52:39.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/html-manager@0.6.2","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/html-manager@0.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fhtml-manager@0.6.2/manifests"},{"name":"@jupyter-widgets/example-web-tmpnb@2.0.0-18","sha":"e4b15885983be9f632f155af1a4f0fe956b1ff59","kind":"tag","published_at":"2017-08-04T03:52:39.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web-tmpnb@2.0.0-18","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web-tmpnb@2.0.0-18","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.0-18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web-tmpnb@2.0.0-18/manifests"},{"name":"@jupyter-widgets/example-web4@2.0.0-18","sha":"e4b15885983be9f632f155af1a4f0fe956b1ff59","kind":"tag","published_at":"2017-08-04T03:52:39.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web4@2.0.0-18","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web4@2.0.0-18","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.0-18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web4@2.0.0-18/manifests"},{"name":"@jupyter-widgets/example-web3@2.0.0-18","sha":"e4b15885983be9f632f155af1a4f0fe956b1ff59","kind":"tag","published_at":"2017-08-04T03:52:39.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web3@2.0.0-18","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web3@2.0.0-18","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.0-18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web3@2.0.0-18/manifests"},{"name":"@jupyter-widgets/example-web2@2.0.0-18","sha":"e4b15885983be9f632f155af1a4f0fe956b1ff59","kind":"tag","published_at":"2017-08-04T03:52:39.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web2@2.0.0-18","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web2@2.0.0-18","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.0-18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web2@2.0.0-18/manifests"},{"name":"@jupyter-widgets/example-web1@2.0.0-18","sha":"e4b15885983be9f632f155af1a4f0fe956b1ff59","kind":"tag","published_at":"2017-08-04T03:52:39.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/example-web1@2.0.0-18","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/example-web1@2.0.0-18","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.0-18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fexample-web1@2.0.0-18/manifests"},{"name":"@jupyter-widgets/controls@0.6.12","sha":"e4b15885983be9f632f155af1a4f0fe956b1ff59","kind":"tag","published_at":"2017-08-04T03:52:39.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@0.6.12","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@0.6.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@0.6.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@0.6.12/manifests"},{"name":"@jupyter-widgets/base@0.6.7","sha":"e4b15885983be9f632f155af1a4f0fe956b1ff59","kind":"tag","published_at":"2017-08-04T03:52:39.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/base@0.6.7","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/base@0.6.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@0.6.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fbase@0.6.7/manifests"},{"name":"7.0.0b5","sha":"8a8da01c0a251648932825925446e3f97b97b72f","kind":"commit","published_at":"2017-08-03T23:22:47.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/7.0.0b5","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/7.0.0b5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.0.0b5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/7.0.0b5/manifests"},{"name":"@jupyter-widgets/controls@0.6.11","sha":"084b9376abff629783d63fa8b0bcb89aef89adf0","kind":"tag","published_at":"2017-08-03T23:20:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/controls@0.6.11","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/controls@0.6.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@0.6.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fcontrols@0.6.11/manifests"},{"name":"@jupyter-widgets/notebook-manager@3.0.0-beta.7","sha":"084b9376abff629783d63fa8b0bcb89aef89adf0","kind":"tag","published_at":"2017-08-03T23:20:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/notebook-manager@3.0.0-beta.7","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/notebook-manager@3.0.0-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.0-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fnotebook-manager@3.0.0-beta.7/manifests"},{"name":"@jupyter-widgets/jupyterlab-manager@0.25.4","sha":"084b9376abff629783d63fa8b0bcb89aef89adf0","kind":"tag","published_at":"2017-08-03T23:20:30.000Z","download_url":"https://codeload.github.com/jupyter-widgets/ipywidgets/tar.gz/@jupyter-widgets/jupyterlab-manager@0.25.4","html_url":"https://github.com/jupyter-widgets/ipywidgets/releases/tag/@jupyter-widgets/jupyterlab-manager@0.25.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.25.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyter-widgets%2Fipywidgets/tags/@jupyter-widgets%2Fjupyterlab-manager@0.25.4/manifests"}]},"repo_metadata_updated_at":"2024-10-29T21:57:12.647Z","dependent_packages_count":1502,"downloads":24643871,"downloads_period":"last-month","dependent_repos_count":53390,"rankings":{"downloads":0.06676363289539569,"dependent_repos_count":0.025861736918271407,"dependent_packages_count":0.016324075076072024,"stargazers_count":1.9067987021443231,"forks_count":1.8055527533578988,"docker_downloads_count":0.29841876571650766,"average":0.6866199443514115},"purl":"pkg:pypi/ipywidgets","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/ipywidgets","docker_dependents_count":3711,"docker_downloads_count":464884080,"usage_url":"https://repos.ecosyste.ms/usage/pypi/ipywidgets","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/ipywidgets/dependencies","status":null,"funding_links":[],"critical":true,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/ipywidgets/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/ipywidgets/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/ipywidgets/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/ipywidgets/related_packages","maintainers":[{"uuid":"martinRenou","login":"martinRenou","name":null,"email":null,"url":null,"packages_count":67,"html_url":"https://pypi.org/user/martinRenou/","role":"Owner","created_at":"2023-07-12T06:21:28.826Z","updated_at":"2023-07-12T06:21:28.826Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/martinRenou/packages"},{"uuid":"bgranger","login":"bgranger","name":null,"email":null,"url":null,"packages_count":31,"html_url":"https://pypi.org/user/bgranger/","role":null,"created_at":"2022-12-07T12:41:59.507Z","updated_at":"2022-12-07T12:41:59.507Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/bgranger/packages"},{"uuid":"fperez","login":"fperez","name":null,"email":null,"url":null,"packages_count":24,"html_url":"https://pypi.org/user/fperez/","role":null,"created_at":"2022-12-07T12:41:59.526Z","updated_at":"2022-12-07T12:41:59.526Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/fperez/packages"},{"uuid":"jasongrout","login":"jasongrout","name":null,"email":null,"url":null,"packages_count":24,"html_url":"https://pypi.org/user/jasongrout/","role":null,"created_at":"2022-12-07T12:41:59.538Z","updated_at":"2022-12-07T12:41:59.538Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/jasongrout/packages"},{"uuid":"mbussonn","login":"mbussonn","name":null,"email":null,"url":null,"packages_count":110,"html_url":"https://pypi.org/user/mbussonn/","role":null,"created_at":"2022-12-07T12:41:59.606Z","updated_at":"2022-12-07T12:41:59.606Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/mbussonn/packages"},{"uuid":"minrk","login":"minrk","name":null,"email":null,"url":null,"packages_count":98,"html_url":"https://pypi.org/user/minrk/","role":null,"created_at":"2022-12-07T12:41:59.623Z","updated_at":"2022-12-07T12:41:59.623Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/minrk/packages"},{"uuid":"takowl","login":"takowl","name":null,"email":null,"url":null,"packages_count":115,"html_url":"https://pypi.org/user/takowl/","role":null,"created_at":"2022-12-07T12:41:59.651Z","updated_at":"2022-12-07T12:41:59.651Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/takowl/packages"},{"uuid":"Sylvain.Corlay","login":"Sylvain.Corlay","name":null,"email":null,"url":null,"packages_count":57,"html_url":"https://pypi.org/user/Sylvain.Corlay/","role":null,"created_at":"2022-12-07T12:41:59.634Z","updated_at":"2022-12-07T12:41:59.634Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/Sylvain.Corlay/packages"},{"uuid":"Jonathan.Frederic","login":"Jonathan.Frederic","name":null,"email":null,"url":null,"packages_count":13,"html_url":"https://pypi.org/user/Jonathan.Frederic/","role":null,"created_at":"2022-12-07T12:41:59.560Z","updated_at":"2022-12-07T12:41:59.560Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/Jonathan.Frederic/packages"},{"uuid":"maartenbreddels","login":"maartenbreddels","name":null,"email":null,"url":null,"packages_count":55,"html_url":"https://pypi.org/user/maartenbreddels/","role":null,"created_at":"2022-12-07T12:41:59.599Z","updated_at":"2022-12-07T12:41:59.599Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/maartenbreddels/packages"},{"uuid":"itayd","login":"itayd","name":null,"email":null,"url":null,"packages_count":5,"html_url":"https://pypi.org/user/itayd/","role":null,"created_at":"2022-12-07T12:41:59.676Z","updated_at":"2022-12-07T12:41:59.676Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/itayd/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":690055,"maintainers_count":292646,"namespaces_count":0,"keywords_count":228482,"github":"pypi","metadata":{"funded_packages_count":48953},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-06-05T05:19:27.498Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}},"unique_repositories_count":89,"unique_repositories_count_past_30_days":1,"recent_issues":[{"uuid":"4334173061","node_id":"PR_kwDOLhR7X87V4QkQ","number":62,"state":"open","title":"chore(deps): update ipywidgets requirement from \u003e=8.0 to \u003e=8.1.8","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-27T08:15:00.000Z","updated_at":"2026-04-27T08:15:01.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): update","packages":[{"name":"ipywidgets","old_version":"\u003e=8.0","new_version":"\u003e=8.1.8","repository_url":"https://github.com/jupyter-widgets/ipywidgets"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/releases\"\u003eipywidgets's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd JupyterCon banner and jupyter colors by \u003ca href=\"https://github.com/choldgraf\"\u003e\u003ccode\u003e@​choldgraf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3998\"\u003ejupyter-widgets/ipywidgets#3998\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix badge formatting in README.md by \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4000\"\u003ejupyter-widgets/ipywidgets#4000\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Plausible web stats by \u003ca href=\"https://github.com/jasongrout\"\u003e\u003ccode\u003e@​jasongrout\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4003\"\u003ejupyter-widgets/ipywidgets#4003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate jupyterlab_widgets metadata to indicate it works with JupyterLab 4 by \u003ca href=\"https://github.com/jasongrout\"\u003e\u003ccode\u003e@​jasongrout\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4004\"\u003ejupyter-widgets/ipywidgets#4004\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/choldgraf\"\u003e\u003ccode\u003e@​choldgraf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3998\"\u003ejupyter-widgets/ipywidgets#3998\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\"\u003ehttps://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\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/jupyter-widgets/ipywidgets/commit/3171b1c746643a3893987190dc505661c5562877\"\u003e\u003ccode\u003e3171b1c\u003c/code\u003e\u003c/a\u003e Update Output Widget.ipynb (\u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/issues/3881\"\u003e#3881\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commit/cd817839ab8b6ef80c8e2b7a94c8f1df1de29734\"\u003e\u003ccode\u003ecd81783\u003c/code\u003e\u003c/a\u003e update image processing example notebok imports and function call (\u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/issues/3896\"\u003e#3896\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commit/cecd2b0d0314a92b71dce364e3db7a06af8cf64a\"\u003e\u003ccode\u003ececd2b0\u003c/code\u003e\u003c/a\u003e specify Jupyterlab (version 3.x or above) (\u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/issues/3880\"\u003e#3880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commit/0aa1efb563edeb3564f5738dfbee630fd6e4ed6f\"\u003e\u003ccode\u003e0aa1efb\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003einteract\u003c/code\u003e to use basic type hint annotations (\u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/issues/3908\"\u003e#3908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commit/2e15cfc030b8f6c319114be23b4f95efb537fd4d\"\u003e\u003ccode\u003e2e15cfc\u003c/code\u003e\u003c/a\u003e Update Widget List.ipynb\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commit/06ed868181a3192067ffcff0ed94815f72a1f7bf\"\u003e\u003ccode\u003e06ed868\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/issues/3793\"\u003e#3793\u003c/a\u003e from ferdnyc/mappings-work-again\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commit/31259ca8ba33c44a29ba8ffede9de0eece61fb44\"\u003e\u003ccode\u003e31259ca\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/issues/3801\"\u003e#3801\u003c/a\u003e from warrickball/patch-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commit/dd250bfacd875561ad05f692d39c41f350a56b42\"\u003e\u003ccode\u003edd250bf\u003c/code\u003e\u003c/a\u003e Handle Notebook 7 in dev install script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commit/a1282ec692b35d91e0b3062016962634c7a8012e\"\u003e\u003ccode\u003ea1282ec\u003c/code\u003e\u003c/a\u003e Fix link to \u0026quot;Output widget examples\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commit/b6b3051e0b89c1086ea79327d3e957af7da957fd\"\u003e\u003ccode\u003eb6b3051\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add note on removal of mapping types in documentation\u0026quot;\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.0.0...8.1.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/veillette/hands-on/pull/62","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/veillette%2Fhands-on/issues/62","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/62/packages"},{"uuid":"3883926074","node_id":"PR_kwDOAt0r8c7Az4Kv","number":3687,"state":"closed","title":"Bump the requirements group with 11 updates","user":"dependabot[bot]","labels":["dependencies","python","needs release notes"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-02T19:15:31.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-02T04:34:24.000Z","updated_at":"2026-02-02T19:15:42.000Z","time_to_close":52867,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"requirements","update_count":11,"packages":[{"name":"numpy","old_version":"2.3.2","new_version":"2.4.2","repository_url":"https://github.com/numpy/numpy"},{"name":"ipywidgets","old_version":"8.1.7","new_version":"8.1.8","repository_url":"https://github.com/jupyter-widgets/ipywidgets"},{"name":"setuptools-scm","old_version":"8.3.1","new_version":"9.2.2","repository_url":"https://github.com/pypa/setuptools-scm"},{"name":"lmdb","old_version":"1.7.3","new_version":"1.7.5","repository_url":"https://github.com/jnwatson/py-lmdb"},{"name":"redis","old_version":"6.4.0","new_version":"7.1.0","repository_url":"https://github.com/redis/redis-py"},{"name":"pymongo","old_version":"4.14.0","new_version":"4.16.0","repository_url":"https://github.com/mongodb/mongo-python-driver"},{"name":"pytest-cov","old_version":"6.2.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-doctestplus","old_version":"1.4.0","new_version":"1.7.1","repository_url":"https://github.com/scientific-python/pytest-doctestplus"},{"name":"h5py","old_version":"3.14.0","new_version":"3.15.1","repository_url":"https://github.com/h5py/h5py"},{"name":"fasteners","old_version":"0.19","new_version":"0.20","repository_url":"https://github.com/harlowja/fasteners"},{"name":"pytest","old_version":"8.4.1","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"}],"path":null,"ecosystem":"pip"},"body":"Bumps the requirements group with 11 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [numpy](https://github.com/numpy/numpy) | `2.3.2` | `2.4.2` |\n| [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) | `8.1.7` | `8.1.8` |\n| [setuptools-scm](https://github.com/pypa/setuptools-scm) | `8.3.1` | `9.2.2` |\n| [lmdb](https://github.com/jnwatson/py-lmdb) | `1.7.3` | `1.7.5` |\n| [redis](https://github.com/redis/redis-py) | `6.4.0` | `7.1.0` |\n| [pymongo](https://github.com/mongodb/mongo-python-driver) | `4.14.0` | `4.16.0` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.2.1` | `7.0.0` |\n| [pytest-doctestplus](https://github.com/scientific-python/pytest-doctestplus) | `1.4.0` | `1.7.1` |\n| [h5py](https://github.com/h5py/h5py) | `3.14.0` | `3.15.1` |\n| [fasteners](https://github.com/harlowja/fasteners) | `0.19` | `0.20` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.1` | `9.0.2` |\n\nUpdates `numpy` from 2.3.2 to 2.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.2 (Feb 1, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.2 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.2 is a patch release that fixes bugs discovered after the\n2.4.1 release. Highlights are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixes memory leaks\u003c/li\u003e\n\u003cli\u003eUpdates OpenBLAS to fix hangs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release supports Python versions 3.11-3.14\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eA total of 9 people contributed to this release. People with a \u0026quot;+\u0026quot; by their\nnames contributed a patch for the first time.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eDaniel Tang +\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eKumar Aditya\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003eRalf Gommers\u003c/li\u003e\n\u003cli\u003eSebastian Berg\u003c/li\u003e\n\u003cli\u003eVikram Kumar +\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 12 pull requests were merged for this release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30629\"\u003e#30629\u003c/a\u003e: MAINT: Prepare 2.4.x for further development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30636\"\u003e#30636\u003c/a\u003e: TYP: \u003ccode\u003earange\u003c/code\u003e: accept datetime strings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30657\"\u003e#30657\u003c/a\u003e: MAINT: avoid possible race condition by not touching \u003ccode\u003eos.environ\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30700\"\u003e#30700\u003c/a\u003e: BUG: validate contraction axes in tensordot (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30521\"\u003e#30521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30701\"\u003e#30701\u003c/a\u003e: DOC: __array_namespace__info__: set_module not __module__ (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30679\"\u003e#30679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30702\"\u003e#30702\u003c/a\u003e: BUG: fix free-threaded PyObject layout in replace_scalar_type_names...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30703\"\u003e#30703\u003c/a\u003e: TST: fix limited API example in tests for latest Cython\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30709\"\u003e#30709\u003c/a\u003e: BUG: Fix some bugs found via valgrind (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30680\"\u003e#30680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30712\"\u003e#30712\u003c/a\u003e: MAINT: replace ob_type access with Py_TYPE in PyArray_CheckExact\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30713\"\u003e#30713\u003c/a\u003e: BUG: Fixup the quantile promotion fixup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30736\"\u003e#30736\u003c/a\u003e: BUG: fix thread safety of \u003ccode\u003earray_getbuffer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30667\"\u003e#30667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30737\"\u003e#30737\u003c/a\u003e: backport scipy-openblas version change\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.4.1 (Jan 10, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.1 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.1 is a patch release that fixes bugs discoved after the\n2.4.0 release. In particular, the typo \u003ccode\u003eSeedlessSequence\u003c/code\u003e is preserved to\nenable wheels using the random Cython API and built against NumPy \u0026lt; 2.4.0\nto run without errors.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst\"\u003enumpy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eThis is a walkthrough of the NumPy 2.4.0 release on Linux, which will be the\nfirst feature release using the \u003ccode\u003enumpy/numpy-release \u0026lt;https://github.com/numpy/numpy-release\u0026gt;\u003c/code\u003e__ repository.\u003c/p\u003e\n\u003cp\u003eThe commands can be copied into the command line, but be sure to replace 2.4.0\nwith the correct version. This should be read together with the\n:ref:\u003ccode\u003egeneral release guide \u0026lt;prepare_release\u0026gt;\u003c/code\u003e.\u003c/p\u003e\n\u003ch1\u003eFacility preparation\u003c/h1\u003e\n\u003cp\u003eBefore beginning to make a release, use the \u003ccode\u003erequirements/*_requirements.txt\u003c/code\u003e files to\nensure that you have the needed software. Most software can be installed with\npip, but some will require apt-get, dnf, or whatever your system uses for\nsoftware. You will also need a GitHub personal access token (PAT) to push the\ndocumentation. There are a few ways to streamline things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGit can be set up to use a keyring to store your GitHub personal access token.\nSearch online for the details.\u003c/li\u003e\n\u003cli\u003eYou can use the \u003ccode\u003ekeyring\u003c/code\u003e app to store the PyPI password for twine. See the\nonline twine documentation for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ePrior to release\u003c/h1\u003e\n\u003ch2\u003eAdd/drop Python versions\u003c/h2\u003e\n\u003cp\u003eWhen adding or dropping Python versions, multiple config and CI files need to\nbe edited in addition to changing the minimum version in \u003ccode\u003epyproject.toml\u003c/code\u003e.\nMake these changes in an ordinary PR against main and backport if necessary.\nWe currently release wheels for new Python versions after the first Python RC\nonce manylinux and cibuildwheel support that new Python version.\u003c/p\u003e\n\u003ch2\u003eBackport pull requests\u003c/h2\u003e\n\u003cp\u003eChanges that have been marked for this release must be backported to the\nmaintenance/2.4.x branch.\u003c/p\u003e\n\u003ch2\u003eUpdate 2.4.0 milestones\u003c/h2\u003e\n\u003cp\u003eLook at the issues/prs with 2.4.0 milestones and either push them off to a\nlater version, or maybe remove the milestone. You may need to add a milestone.\u003c/p\u003e\n\u003cp\u003eCheck the numpy-release repo\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/c81c49f77451340651a751e76bca607d85e4fd55\"\u003e\u003ccode\u003ec81c49f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30757\"\u003e#30757\u003c/a\u003e from charris/prepare-2.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/b3ae9c59de627110458653836f1be81280222f85\"\u003e\u003ccode\u003eb3ae9c5\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/9de89843c3918fa133f1aab9fb4435c38a3b0ba6\"\u003e\u003ccode\u003e9de8984\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30737\"\u003e#30737\u003c/a\u003e from mattip/scipy-openblas-backport\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/b7be329895e32de44578742b2745fb307cdf8625\"\u003e\u003ccode\u003eb7be329\u003c/code\u003e\u003c/a\u003e backport scipy-openblas version change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7ff98637f80dc1ff7a18fce8025ffabdded76094\"\u003e\u003ccode\u003e7ff9863\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30736\"\u003e#30736\u003c/a\u003e from charris/backport-30667\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/431fffbe91d86c04738f039e0048441f8f9b5fff\"\u003e\u003ccode\u003e431fffb\u003c/code\u003e\u003c/a\u003e MAINT: Skip tests that require \u003cstrong\u003ebuffer\u003c/strong\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/127235fcd9b2e80764da8f6c64f942a6bddb093a\"\u003e\u003ccode\u003e127235f\u003c/code\u003e\u003c/a\u003e BUG: fix thread safety of \u003ccode\u003earray_getbuffer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30667\"\u003e#30667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/18bdb2e675b68daa5afc3250c41982ff77b3867f\"\u003e\u003ccode\u003e18bdb2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30713\"\u003e#30713\u003c/a\u003e from charris/backport-30710\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/41dd7512de6dc3dd665b71d4e3a321aa1150dc48\"\u003e\u003ccode\u003e41dd751\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30712\"\u003e#30712\u003c/a\u003e from charris/backport-30705\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7a278da99943376313b8f631905c3baaa7a82a30\"\u003e\u003ccode\u003e7a278da\u003c/code\u003e\u003c/a\u003e BUG: Fixup the quantile promotion fixup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.3.2...v2.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ipywidgets` from 8.1.7 to 8.1.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/releases\"\u003eipywidgets's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd JupyterCon banner and jupyter colors by \u003ca href=\"https://github.com/choldgraf\"\u003e\u003ccode\u003e@​choldgraf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3998\"\u003ejupyter-widgets/ipywidgets#3998\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix badge formatting in README.md by \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4000\"\u003ejupyter-widgets/ipywidgets#4000\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Plausible web stats by \u003ca href=\"https://github.com/jasongrout\"\u003e\u003ccode\u003e@​jasongrout\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4003\"\u003ejupyter-widgets/ipywidgets#4003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate jupyterlab_widgets metadata to indicate it works with JupyterLab 4 by \u003ca href=\"https://github.com/jasongrout\"\u003e\u003ccode\u003e@​jasongrout\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4004\"\u003ejupyter-widgets/ipywidgets#4004\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/choldgraf\"\u003e\u003ccode\u003e@​choldgraf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3998\"\u003ejupyter-widgets/ipywidgets#3998\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\"\u003ehttps://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\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\u003eSee full diff in \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `setuptools-scm` from 8.3.1 to 9.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/setuptools-scm/releases\"\u003esetuptools-scm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.2.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: don't warn about tool.setuptools.dynamic.version when only using file finder by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1232\"\u003epypa/setuptools-scm#1232\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/setuptools-scm/compare/v9.2.1...v9.2.2\"\u003ehttps://github.com/pypa/setuptools-scm/compare/v9.2.1...v9.2.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev9.2.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMark recently yanked versions in changelog by \u003ca href=\"https://github.com/seifertm\"\u003e\u003ccode\u003e@​seifertm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1209\"\u003epypa/setuptools-scm#1209\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix 1216 explicitly deprecate setuptools dynamic version when active by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1219\"\u003epypa/setuptools-scm#1219\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eprepare Release v9.2.1 by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1226\"\u003epypa/setuptools-scm#1226\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/seifertm\"\u003e\u003ccode\u003e@​seifertm\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1209\"\u003epypa/setuptools-scm#1209\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/setuptools-scm/compare/v9.2.0...v9.2.1\"\u003ehttps://github.com/pypa/setuptools-scm/compare/v9.2.0...v9.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev9.2.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereiterate version inference by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1202\"\u003epypa/setuptools-scm#1202\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003esimple activation now requires a extra instead of setting up many pre-existing projects for failure/error\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/setuptools-scm/compare/v9.1.1...v9.2.0\"\u003ehttps://github.com/pypa/setuptools-scm/compare/v9.1.1...v9.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev9.1.1 (yanked)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ehandle missing pyproject config in case version keyword is used by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1195\"\u003epypa/setuptools-scm#1195\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/setuptools-scm/compare/v9.1.0...v9.1.1\"\u003ehttps://github.com/pypa/setuptools-scm/compare/v9.1.0...v9.1.1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eyanked after hitting regressions wrt legcy project setups triggering auto activate\u003c/p\u003e\n\u003ch2\u003ev9.1.0 (yanked)\u003c/h2\u003e\n\u003ch1\u003eyanked\u003c/h1\u003e\n\u003cp\u003ea regression makes some sdists report version 0.0.0\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereiterate version inference logic by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1193\"\u003epypa/setuptools-scm#1193\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/pypa/setuptools-scm/blob/main/CHANGELOG.md\"\u003esetuptools-scm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.2.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1231\"\u003e#1231\u003c/a\u003e: don't warn about \u003ccode\u003etool.setuptools.dynamic.version\u003c/code\u003e when only using file finder.\nThe warning about combining version guessing with setuptools dynamic versions should only\nbe issued when setuptools-scm is performing version inference, not when it's only being\nused for its file finder functionality.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.2.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1216\"\u003e#1216\u003c/a\u003e: accept and create a warning for usages of \u003ccode\u003eversion = attr:\u003c/code\u003e in setuptools config.\nunfortunately dozens of projects cargo-culted that antipattern\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.2.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eadd simplified activation via \u003ccode\u003esetuptools-scm[simple]\u003c/code\u003e extra\u003c/p\u003e\n\u003cp\u003eA new streamlined way to enable version inference without requiring a \u003ccode\u003e[tool.setuptools_scm]\u003c/code\u003e section.\nWhen \u003ccode\u003esetuptools-scm[simple]\u003c/code\u003e is in \u003ccode\u003ebuild-system.requires\u003c/code\u003e and \u003ccode\u003eversion\u003c/code\u003e is in \u003ccode\u003eproject.dynamic\u003c/code\u003e,\nversion inference is automatically enabled with default settings.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eunchecked simplified activation - too many projects use setups where it would fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefine activation logic and add unittest for the relevant cases instead of trying to speedrun setuptools\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.1.1 (yanked)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1194\"\u003e#1194\u003c/a\u003e: correctly handle version keyword when pyproject metadata is missing\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.1.0 (yanked)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecomplete reiteration of the decision logic for enabling version inference on setuptools_scm\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/e56b78fcd4c1e79aa36c1e4700fca34c8ff540fe\"\u003e\u003ccode\u003ee56b78f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1232\"\u003e#1232\u003c/a\u003e from RonnyPfannschmidt/fix-1231-dont-warn-when-no-guess\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/4f55e9585e398e13103112a6fd488109d9da4ead\"\u003e\u003ccode\u003e4f55e95\u003c/code\u003e\u003c/a\u003e docs: update changelog for v9.2.2 patch release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/95a0c47553ea0b373238bb64aa344b2c2547c849\"\u003e\u003ccode\u003e95a0c47\u003c/code\u003e\u003c/a\u003e fix: don't warn about tool.setuptools.dynamic.version when only using file fi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/338f562e6a38f8d32fd5aeb4677b3f87fc5a0122\"\u003e\u003ccode\u003e338f562\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1226\"\u003e#1226\u003c/a\u003e from RonnyPfannschmidt/prepare-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/a893634c36a074052ed3f6d0e77b076b582c72ab\"\u003e\u003ccode\u003ea893634\u003c/code\u003e\u003c/a\u003e Prepare release v9.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/ad83282242e96fe11c958227740ee03a7a2ed0fe\"\u003e\u003ccode\u003ead83282\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1225\"\u003e#1225\u003c/a\u003e from pypa/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/20a44648f299f64b1241a448bdbafde9b1871ebf\"\u003e\u003ccode\u003e20a4464\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/70f69429c40f8c8d3c4e0eec2d8b4a6794671c88\"\u003e\u003ccode\u003e70f6942\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1219\"\u003e#1219\u003c/a\u003e from RonnyPfannschmidt/fix-1216-explicitly-deprecate...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/14d85c0fb8fa9efd1ec4bac3413f48aea0e319f5\"\u003e\u003ccode\u003e14d85c0\u003c/code\u003e\u003c/a\u003e Install Mercurial on Windows runners via Chocolatey\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/8c5cec917123e4cc87b490f56b6e7af27a3b0399\"\u003e\u003ccode\u003e8c5cec9\u003c/code\u003e\u003c/a\u003e Fix API stability check workflow to install griffe and improve reporting\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/setuptools-scm/compare/v8.3.1...v9.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lmdb` from 1.7.3 to 1.7.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jnwatson/py-lmdb/blob/master/ChangeLog\"\u003elmdb's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e2025-10-14 1.7.5\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCI-only: Fix generation of 3.14 binaries.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e2025-10-14 1.7.4 -- yanked\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCI-only: Generate Python 3.14 binaries.\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/jnwatson/py-lmdb/commit/4e5c2ebf47ff1da60c01254bfdcac116c893abfc\"\u003e\u003ccode\u003e4e5c2eb\u003c/code\u003e\u003c/a\u003e Bump version to 1.7.5 for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnwatson/py-lmdb/commit/9c7dd9212d20512ced2c5aae593508ab592433bd\"\u003e\u003ccode\u003e9c7dd92\u003c/code\u003e\u003c/a\u003e Update cibuildwheel version to build 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnwatson/py-lmdb/commit/aa5a921430374e9ee11f5d36d0c3f408a494e9a0\"\u003e\u003ccode\u003eaa5a921\u003c/code\u003e\u003c/a\u003e Fix android issue (\u003ca href=\"https://redirect.github.com/jnwatson/py-lmdb/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnwatson/py-lmdb/commit/d46f05741b2d8d60a3b8b07d6550de356075149d\"\u003e\u003ccode\u003ed46f057\u003c/code\u003e\u003c/a\u003e Bump version to 1.7.4 for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnwatson/py-lmdb/commit/28105a344da9e99078994277ed4dc0f13249fcc8\"\u003e\u003ccode\u003e28105a3\u003c/code\u003e\u003c/a\u003e Update CI for Python 3.14\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jnwatson/py-lmdb/compare/py-lmdb_1.7.3...py-lmdb_1.7.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `redis` from 6.4.0 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/redis/redis-py/releases\"\u003eredis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.1.0\u003c/h2\u003e\n\u003ch1\u003eChanges\u003c/h1\u003e\n\u003ch2\u003e🚀 New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdding MSETEX command support. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3823\"\u003e#3823\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding CLAIM option to XREADGROUP command + unit tests (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3825\"\u003e#3825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eApply routing and response aggregation policies in OSS Cluster mode (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3834\"\u003e#3834\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Experimental Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdding support for CAS/CAD commands. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3837\"\u003e#3837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding support for HYBRID search. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3813\"\u003e#3813\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3843\"\u003e#3843\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🔥 Breaking changes (in experimental features)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace default health check and failure detector with custom (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3822\"\u003e#3822\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd **options to parse functions for sentinel (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3831\"\u003e#3831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenerating unique command cache key (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3765\"\u003e#3765\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdding Redis 8.4 RC1 image to test matrix. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3820\"\u003e#3820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove Python 3.9 support. Add Python 3.14 support. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3814\"\u003e#3814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSync readme with 7.0.1 and update lib version to latest stable released version - 7.0.1 (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3821\"\u003e#3821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump rojopolis/spellcheck-github-actions from 0.52.0 to 0.53.0 (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3827\"\u003e#3827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump actions/upload-artifact from 4 to 5 (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3828\"\u003e#3828\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump github/codeql-action from 3 to 4 (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3829\"\u003e#3829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixing flaky tests (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3833\"\u003e#3833\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3838\"\u003e#3838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate 8.4 RC image tag to 8.4-RC1-pre.2 for pipeline test matrix (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3832\"\u003e#3832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing f-string when returning an error. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3841\"\u003e#3841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding latest 8.4 image to test matrix. Updating the Hybrid VSIM query format to be in sync with spec after srv issue was fixed. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3843\"\u003e#3843\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand cluster READ_COMMANDS with additional read-only commands and reorganize the list of commands by category (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3845\"\u003e#3845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Type Hints for List Command Parameters from str to KeyT (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3848\"\u003e#3848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanging log level to be debug for failed maintenance notification enablement when enabled='auto' (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3851\"\u003e#3851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded custom event handler section (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3853\"\u003e#3853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanging current version to 8.4 as it is already GA (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3854\"\u003e#3854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWe'd like to thank all the contributors who worked on this release!\n\u003ca href=\"https://github.com/ShubhamKaudewar\"\u003e\u003ccode\u003e@​ShubhamKaudewar\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/matthewwiese\"\u003e\u003ccode\u003e@​matthewwiese\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/peperon\"\u003e\u003ccode\u003e@​peperon\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vladvildanov\"\u003e\u003ccode\u003e@​vladvildanov\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/petyaslavova\"\u003e\u003ccode\u003e@​petyaslavova\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e7.0.1\u003c/h2\u003e\n\u003ch1\u003eChanges\u003c/h1\u003e\n\u003cp\u003eThis release adds small fixes related to documentation.\u003c/p\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd 'multi_database' section to documentation index (313d93f)\u003c/li\u003e\n\u003cli\u003eRevised multi-database client documentation(78df745)\u003c/li\u003e\n\u003cli\u003eAdding info about Multi-database client in README.md (3f7a55e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/f7c1755d732a677e0eb05e74e46520115c087153\"\u003e\u003ccode\u003ef7c1755\u003c/code\u003e\u003c/a\u003e Changing current version to 8.4 as it is already GA (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3854\"\u003e#3854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/2235cc76d59a009d546e773d959261503ec3568e\"\u003e\u003ccode\u003e2235cc7\u003c/code\u003e\u003c/a\u003e Added custom event handler section (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3853\"\u003e#3853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/8cc50a5bc9cb972354e17fd9cd8b8542a6f1e4f5\"\u003e\u003ccode\u003e8cc50a5\u003c/code\u003e\u003c/a\u003e Changing log level to be debug for failed maintenance notification enablement...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/d1769a2e2b66c7cd0067358db10db1cc26b2967a\"\u003e\u003ccode\u003ed1769a2\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3612\"\u003e#3612\u003c/a\u003e Generating unique command cache key (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3765\"\u003e#3765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/b49dce1ff0f38c38a5fb89b3f332e84eae8186cb\"\u003e\u003ccode\u003eb49dce1\u003c/code\u003e\u003c/a\u003e Update Type Hints for List Command Parameters from str to KeyT (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3848\"\u003e#3848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/46ff0426550d65e51c7686fa0e12e8954d5d1bcd\"\u003e\u003ccode\u003e46ff042\u003c/code\u003e\u003c/a\u003e Expand cluster READ_COMMANDS with additional read-only commands and reorganiz...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/dc476754600e480dd29a16a2290db5a442114b33\"\u003e\u003ccode\u003edc47675\u003c/code\u003e\u003c/a\u003e Updating lib version to 7.1.0 and added note in README that Python 3.9 suppor...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/f026c1e66be68dc18d89e60bd54c5032bd927680\"\u003e\u003ccode\u003ef026c1e\u003c/code\u003e\u003c/a\u003e Adding latest 8.4 image to test matrix. Updating the Hybrid VSIM query format...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/a5ab18fb76522cb1341c81e0032d29df87c85013\"\u003e\u003ccode\u003ea5ab18f\u003c/code\u003e\u003c/a\u003e Adding support for HYBRID search. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3813\"\u003e#3813\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/e6fb50506967dbdd6e8c334190c32651ebea1506\"\u003e\u003ccode\u003ee6fb505\u003c/code\u003e\u003c/a\u003e Adding support for CAS/CAD commands. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3837\"\u003e#3837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/redis/redis-py/compare/v6.4.0...v7.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymongo` from 4.14.0 to 4.16.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mongodb/mongo-python-driver/releases\"\u003epymongo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePyMongo 4.16.0\u003c/h2\u003e\n\u003cp\u003eCommunity notes: \u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch2\u003ePyMongo 4.15.5\u003c/h2\u003e\n\u003cp\u003eCommunity notes: \u003ca href=\"https://www.mongodb.com/community/forums/t/pymongo-4-15-5-released/332185\"\u003ehttps://www.mongodb.com/community/forums/t/pymongo-4-15-5-released/332185\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePyMongo 4.15.4\u003c/h2\u003e\n\u003cp\u003eCommunity notes: \u003ca href=\"https://www.mongodb.com/community/forums/t/pymongo-4-15-4-released/331292\"\u003ehttps://www.mongodb.com/community/forums/t/pymongo-4-15-4-released/331292\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePyMongo 4.15.3\u003c/h2\u003e\n\u003cp\u003eCommunity notes: \u003ca href=\"https://www.mongodb.com/community/forums/t/pymongo-4-15-3-released/329778\"\u003ehttps://www.mongodb.com/community/forums/t/pymongo-4-15-3-released/329778\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePyMongo 4.15.2\u003c/h2\u003e\n\u003cp\u003eCommunity notes: \u003ca href=\"https://www.mongodb.com/community/forums/t/pymongo-4-15-2-released/329543\"\u003ehttps://www.mongodb.com/community/forums/t/pymongo-4-15-2-released/329543\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePyMongo 4.15.1\u003c/h2\u003e\n\u003cp\u003eCommunity notes: \u003ca href=\"https://www.mongodb.com/community/forums/t/pymongo-4-15-1-released/328837\"\u003ehttps://www.mongodb.com/community/forums/t/pymongo-4-15-1-released/328837\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePyMongo 4.15.0\u003c/h2\u003e\n\u003cp\u003eCommunity notes: \u003ca href=\"https://www.mongodb.com/community/forums/t/pymongo-4-15-released/328574\"\u003ehttps://www.mongodb.com/community/forums/t/pymongo-4-15-released/328574\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePyMongo 4.14.1\u003c/h2\u003e\n\u003cp\u003eCommunity notes: \u003ca href=\"https://www.mongodb.com/community/forums/t/pymongo-4-14-1-released/327511\"\u003ehttps://www.mongodb.com/community/forums/t/pymongo-4-14-1-released/327511\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/mongodb/mongo-python-driver/blob/master/doc/changelog.rst\"\u003epymongo's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges in Version 4.16.0 (2026/01/07)\u003c/h2\u003e\n\u003cp\u003ePyMongo 4.16 brings a number of changes including:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved invalid documents from :class:\u003ccode\u003ebson.errors.InvalidDocument\u003c/code\u003e error messages as\ndoing so may leak sensitive user data.\nInstead, invalid documents are stored in :attr:\u003ccode\u003ebson.errors.InvalidDocument.document\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003ePyMongo now requires \u003ccode\u003ednspython\u0026gt;=2.6.1\u003c/code\u003e, since \u003ccode\u003ednspython\u003c/code\u003e 1.0 is no longer maintained.\nThe minimum version is \u003ccode\u003e2.6.1\u003c/code\u003e to account for \u003ccode\u003eCVE-2023-29483 \u0026lt;https://www.cve.org/CVERecord?id=CVE-2023-29483\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eRemoved support for Eventlet.\nEventlet is actively being sunset by its maintainers and has compatibility issues with PyMongo's dnspython dependency.\u003c/li\u003e\n\u003cli\u003eUse Zstandard support from the standard library for Python 3.14+, and use \u003ccode\u003ebackports.zstd\u003c/code\u003e for older versions.\u003c/li\u003e\n\u003cli\u003eFixed return type annotation for \u003ccode\u003efind_one_and_*\u003c/code\u003e methods on :class:\u003ccode\u003e~pymongo.asynchronous.collection.AsyncCollection\u003c/code\u003e\nand :class:\u003ccode\u003e~pymongo.synchronous.collection.Collection\u003c/code\u003e to include \u003ccode\u003eNone\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded support for NumPy 1D-arrays in :class:\u003ccode\u003ebson.binary.BinaryVector\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003ePrevented :class:\u003ccode\u003e~pymongo.encryption.ClientEncryption\u003c/code\u003e from loading the crypt\nshared library to fix \u0026quot;MongoCryptError: An existing crypt_shared library is\nloaded by the application\u0026quot; unless the linked library search path is set.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges in Version 4.15.5 (2025/12/02)\u003c/h2\u003e\n\u003cp\u003eVersion 4.15.5 is a bug fix release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a bug that could cause \u003ccode\u003eAutoReconnect(\u0026quot;connection pool paused\u0026quot;)\u003c/code\u003e errors when cursors fetched more documents from the database after SDAM heartbeat failures.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges in Version 4.15.4 (2025/10/21)\u003c/h2\u003e\n\u003cp\u003eVersion 4.15.4 is a bug fix release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRelaxed the callback type of :meth:\u003ccode\u003e~pymongo.asynchronous.client_session.AsyncClientSession.with_transaction\u003c/code\u003e to allow the broader Awaitable type rather than only Coroutine objects.\u003c/li\u003e\n\u003cli\u003eAdded the missing Python 3.14 trove classifier to the package metadata.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIssues Resolved\n...............\u003c/p\u003e\n\u003cp\u003eSee the \u003ccode\u003ePyMongo 4.15.4 release notes in JIRA\u003c/code\u003e_ for the list of resolved issues\nin this release.\u003c/p\u003e\n\u003cp\u003e.. _PyMongo 4.15.4 release notes in JIRA: \u003ca href=\"https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004\u0026amp;version=47237\"\u003ehttps://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004\u0026amp;version=47237\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eChanges in Version 4.15.3 (2025/10/07)\u003c/h2\u003e\n\u003cp\u003eVersion 4.15.3 is a bug fix release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a memory leak when raising :class:\u003ccode\u003ebson.errors.InvalidDocument\u003c/code\u003e with C extensions.\u003c/li\u003e\n\u003cli\u003eFixed the return type of the  :meth:\u003ccode\u003e~pymongo.asynchronous.collection.AsyncCollection.distinct\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/mongodb/mongo-python-driver/commit/32901018ca14d9acb05004a88d65b6ab0b29c877\"\u003e\u003ccode\u003e3290101\u003c/code\u003e\u003c/a\u003e Prepare 4.16.0 release (\u003ca href=\"https://redirect.github.com/mongodb/mongo-python-driver/issues/2672\"\u003e#2672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mongodb/mongo-python-driver/commit/1be94d262dd0281b032b6f9e56d381cac3a7a6d9\"\u003e\u003ccode\u003e1be94d2\u003c/code\u003e\u003c/a\u003e PYTHON-5685 Fix unified spec sync metadata for csot and sessions tests (\u003ca href=\"https://redirect.github.com/mongodb/mongo-python-driver/issues/2669\"\u003e#2669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mongodb/mongo-python-driver/commit/6585d9cb51d5c9b2d85eec4f49b8196612d9e8ee\"\u003e\u003ccode\u003e6585d9c\u003c/code\u003e\u003c/a\u003e PYTHON-2442: Refactor: use _asdict() in _options_dict() (\u003ca href=\"https://redirect.github.com/mongodb/mongo-python-driver/issues/2670\"\u003e#2670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mongodb/mongo-python-driver/commit/fdb1f7ea4abe128ae4e59e3d063fd95d7daaa964\"\u003e\u003ccode\u003efdb1f7e\u003c/code\u003e\u003c/a\u003e PYTHON-5677 Prevent ClientEncryption from loading crypt shared library (\u003ca href=\"https://redirect.github.com/mongodb/mongo-python-driver/issues/2659\"\u003e#2659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mongodb/mongo-python-driver/commit/0cd9763423b85cd37779ea934bf7b1f8be8bbf8e\"\u003e\u003ccode\u003e0cd9763\u003c/code\u003e\u003c/a\u003e Bump zizmorcore/zizmor-action from cb3d8e846e148d1111d90b03375b9c03deceda37 t...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mongodb/mongo-python-driver/commit/2f263d4d3f11eb4a2b32ace467fd2767c371f4d7\"\u003e\u003ccode\u003e2f263d4\u003c/code\u003e\u003c/a\u003e PYTHON-5680 Fix handling of expectedDocuments in Unified Test Runner (\u003ca href=\"https://redirect.github.com/mongodb/mongo-python-driver/issues/2665\"\u003e#2665\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mongodb/mongo-python-driver/commit/e9658b2406232b6bd6ac1d961b368142f8819479\"\u003e\u003ccode\u003ee9658b2\u003c/code\u003e\u003c/a\u003e Add 4.15.5 release date to changelog (\u003ca href=\"https://redirect.github.com/mongodb/mongo-python-driver/issues/2666\"\u003e#2666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mongodb/mongo-python-driver/commit/10dd20405ba19c643a1b305ff84f742b19c40daf\"\u003e\u003ccode\u003e10dd204\u003c/code\u003e\u003c/a\u003e Update coverage[toml] requirement from \u0026lt;=7.10.6,\u0026gt;=5 to \u0026gt;=5,\u0026lt;=7.10.7 (\u003ca href=\"https://redirect.github.com/mongodb/mongo-python-driver/issues/2662\"\u003e#2662\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mongodb/mongo-python-driver/commit/130067799cc671d4dcc2f34dafff73c4ef5ddeaf\"\u003e\u003ccode\u003e1300677\u003c/code\u003e\u003c/a\u003e [Spec Resync] 12-22-2025 (\u003ca href=\"https://redirect.github.com/mongodb/mongo-python-driver/issues/2663\"\u003e#2663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mongodb/mongo-python-driver/commit/18c1f142b5b3fd179a677b2736332dc17770b7c2\"\u003e\u003ccode\u003e18c1f14\u003c/code\u003e\u003c/a\u003e PYTHON-5529 Introduce optin setting to await for MinPoolSize population (\u003ca href=\"https://redirect.github.com/mongodb/mongo-python-driver/issues/2664\"\u003e#2664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mongodb/mongo-python-driver/compare/4.14.0...4.16.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-cov` from 6.2.1 to 7.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst\"\u003epytest-cov's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.0 (2025-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDropped support for subprocesses measurement.\u003c/p\u003e\n\u003cp\u003eIt was a feature added long time ago when coverage lacked a nice way to measure subprocesses created in tests.\nIt relied on a \u003ccode\u003e.pth\u003c/code\u003e file, there was no way to opt-out and it created bad interations\nwith \u003ccode\u003ecoverage's new patch system \u0026lt;https://coverage.readthedocs.io/en/latest/config.html#run-patch\u0026gt;\u003c/code\u003e_ added\nin \u003ccode\u003e7.10 \u0026lt;https://coverage.readthedocs.io/en/7.10.6/changes.html#version-7-10-0-2025-07-24\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003cp\u003eTo migrate to this release you might need to enable the suprocess patch, example for \u003ccode\u003e.coveragerc\u003c/code\u003e:\u003c/p\u003e\n\u003cp\u003e.. code-block:: ini\u003c/p\u003e\n\u003cp\u003e[run]\npatch = subprocess\u003c/p\u003e\n\u003cp\u003eThis release also requires at least coverage 7.10.6.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSwitched packaging to have metadata completely in \u003ccode\u003epyproject.toml\u003c/code\u003e and use \u003ccode\u003ehatchling \u0026lt;https://pypi.org/project/hatchling/\u0026gt;\u003c/code\u003e_ for\nbuilding.\nContributed by Ofek Lev in \u003ccode\u003e[#551](https://github.com/pytest-dev/pytest-cov/issues/551) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/551\u0026gt;\u003c/code\u003e_\nwith some extras in \u003ccode\u003e[#716](https://github.com/pytest-dev/pytest-cov/issues/716) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/716\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemoved some not really necessary testing deps like \u003ccode\u003esix\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.3.0 (2025-09-06)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for markdown reports.\nContributed by Marcos Boger in \u003ccode\u003e[#712](https://github.com/pytest-dev/pytest-cov/issues/712) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/712\u0026gt;\u003c/code\u003e_\nand \u003ccode\u003e[#714](https://github.com/pytest-dev/pytest-cov/issues/714) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/714\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eFixed some formatting issues in docs.\nAnonymous contribution in \u003ccode\u003e[#706](https://github.com/pytest-dev/pytest-cov/issues/706) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/706\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/224d8964caad90074a8cf6dc8720b8f70f31629b\"\u003e\u003ccode\u003e224d896\u003c/code\u003e\u003c/a\u003e Bump version: 6.3.0 → 7.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/73424e3999f865eac72e27f09d5fe11b9703cfd6\"\u003e\u003ccode\u003e73424e3\u003c/code\u003e\u003c/a\u003e Cleanup the docs a bit.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/36f1cc2967831dbd4c8aa70086fc86dc495f8b9a\"\u003e\u003ccode\u003e36f1cc2\u003c/code\u003e\u003c/a\u003e Bump pins in template.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/f299c590a63a48e51e3ae949993dc7bb1f1d480d\"\u003e\u003ccode\u003ef299c59\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/25f0b2e0cdbc345c0d3e49170f7a328c3e0d805f\"\u003e\u003ccode\u003e25f0b2e\u003c/code\u003e\u003c/a\u003e Update docs/config.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/bb23eacc5531fb8f499213d8420407e0d72f88e3\"\u003e\u003ccode\u003ebb23eac\u003c/code\u003e\u003c/a\u003e Improve configuration docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/a19531e91e1ab753ccf648a2d9bab08a6fddebb9\"\u003e\u003ccode\u003ea19531e\u003c/code\u003e\u003c/a\u003e Switch from build/pre-commit to uv/prek - this should make this faster.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/82f999391073f2fb8ae422af452602f310086a2a\"\u003e\u003ccode\u003e82f9993\u003c/code\u003e\u003c/a\u003e Update changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/211b5cd41c29916bc643b4a11b00578ba4fd6fe8\"\u003e\u003ccode\u003e211b5cd\u003c/code\u003e\u003c/a\u003e Fix links.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/97aadd74bcbc00a2078d240e8fe871dd62b83d80\"\u003e\u003ccode\u003e97aadd7\u003c/code\u003e\u003c/a\u003e Update some ci config, reformat and apply some lint fixes.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-cov/compare/v6.2.1...v7.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-doctestplus` from 1.4.0 to 1.7.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/releases\"\u003epytest-doctestplus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.7.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBUG: fix \u003cstrong\u003edoctest_requires\u003c/strong\u003e when constraint is present by \u003ca href=\"https://github.com/KostaIlic2\"\u003e\u003ccode\u003e@​KostaIlic2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/319\"\u003escientific-python/pytest-doctestplus#319\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/KostaIlic2\"\u003e\u003ccode\u003e@​KostaIlic2\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/319\"\u003escientific-python/pytest-doctestplus#319\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/compare/v1.7.0...v1.7.1\"\u003ehttps://github.com/scientific-python/pytest-doctestplus/compare/v1.7.0...v1.7.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.7.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMAINT: dropping python 3.9 support and pytest\u0026lt;7 by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/313\"\u003escientific-python/pytest-doctestplus#313\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest multiple directives by \u003ca href=\"https://github.com/mkelley\"\u003e\u003ccode\u003e@​mkelley\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/316\"\u003escientific-python/pytest-doctestplus#316\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/mkelley\"\u003e\u003ccode\u003e@​mkelley\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/316\"\u003escientific-python/pytest-doctestplus#316\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/compare/v1.6.0...v1.7.0\"\u003ehttps://github.com/scientific-python/pytest-doctestplus/compare/v1.6.0...v1.7.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.6.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTST: Catch ResourceWarning under bad combo by \u003ca href=\"https://github.com/pllim\"\u003e\u003ccode\u003e@​pllim\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/307\"\u003escientific-python/pytest-doctestplus#307\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: move on from deprecated macos image by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/309\"\u003escientific-python/pytest-doctestplus#309\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTST: Debug and fix new Windows + Python 3.14 failure (try 2) by \u003ca href=\"https://github.com/pllim\"\u003e\u003ccode\u003e@​pllim\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/310\"\u003escientific-python/pytest-doctestplus#310\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBUG: Fix directives that do not have any content by \u003ca href=\"https://github.com/seberg\"\u003e\u003ccode\u003e@​seberg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/311\"\u003escientific-python/pytest-doctestplus#311\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure skipped doctest are visible by \u003ca href=\"https://github.com/lagru\"\u003e\u003ccode\u003e@​lagru\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/312\"\u003escientific-python/pytest-doctestplus#312\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/lagru\"\u003e\u003ccode\u003e@​lagru\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/312\"\u003escientific-python/pytest-doctestplus#312\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/compare/v1.5.0...v1.6.0\"\u003ehttps://github.com/scientific-python/pytest-doctestplus/compare/v1.5.0...v1.6.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.5.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eintroduced option to specify file encoding by \u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/284\"\u003escientific-python/pytest-doctestplus#284\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTST: adding new python version to the fail list by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/289\"\u003escientific-python/pytest-doctestplus#289\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: exclude bots from release notes by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/290\"\u003escientific-python/pytest-doctestplus#290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: xfailing test now passes with new version by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/293\"\u003escientific-python/pytest-doctestplus#293\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: adding deprecation filterwarning for pytest-asyncio by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/294\"\u003escientific-python/pytest-doctestplus#294\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTST: new python version out, new xfail for the test by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/295\"\u003escientific-python/pytest-doctestplus#295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: adding Python 3.14 for testing by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/300\"\u003escientific-python/pytest-doctestplus#300\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: adding more versions to the matrix by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/306\"\u003escientific-python/pytest-doctestplus#306\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/scientific-python/pytest-doctestplus/blob/main/CHANGES.rst\"\u003epytest-doctestplus's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.7.1 (2026-01-26)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFixing bug where \u003ccode\u003e__doctest_requires__\u003c/code\u003e with version specifiers (e.g.,\n\u003ccode\u003enumpy\u0026gt;=2.0\u003c/code\u003e) incorrectly skipped tests even when dependencies were\nsatisfied. \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/issues/319\"\u003e#319\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.7.0 (2026-01-07)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixing crashing sphinx builds where multiple directives are used with the\nfirst one expecting content. The order of the directives used does not\nmatter after this fix. \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/issues/316\"\u003e#316\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eVersions of Python \u0026lt;3.10 and pytest\u0026lt;7 are no longer supported. \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/issues/313\"\u003e#313\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.6.0 (2025-11-20)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixing directives that should not have any content and therefore fixing\npreviously crashing sphinx builds. Using these directives with a content\nnow results an error. \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/issues/311\"\u003e#311\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure that tests skipped with \u003ccode\u003e__doctest_skip__\u003c/code\u003e and\n\u003ccode\u003e__doctest_requires__\u003c/code\u003e show up as skipped tests in Pytest's output. \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/issues/312\"\u003e#312\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.5.0 (2025-10-17)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdding the usage of the \u003ccode\u003edoctest_encoding\u003c/code\u003e ini option when overwriting\nfiles with the \u003ccode\u003edoctest-plus-generate-diff\u003c/code\u003e option. \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/issues/284\"\u003e#284\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/scientific-python/pytest-doctestplus/commit/9c3698d35336d2356e23fb49c3fabfc2e28fda34\"\u003e\u003ccode\u003e9c3698d\u003c/code\u003e\u003c/a\u003e Finalizing changelog for v1.7.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/commit/44de19cfd86863d4ca5256f51762fd2d4d1b064b\"\u003e\u003ccode\u003e44de19c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/issues/319\"\u003e#319\u003c/a\u003e from KostaIlic2/fix-issue-318\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/commit/299dfbf2e0ade89461da1d5fbbbde7e099e8123d\"\u003e\u003ccode\u003e299dfbf\u003c/code\u003e\u003c/a\u003e Minor typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/commit/223289805bf129d4ae18088c22a49c199826a9dc\"\u003e\u003ccode\u003e2232898\u003c/code\u003e\u003c/a\u003e Update CHANGES.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/commit/8d97d4a5cece711830940d9036d25a56e1bfc95c\"\u003e\u003ccode\u003e8d97d4a\u003c/code\u003e\u003c/a\u003e TST: use pass instead of skip in test_requires_module_variable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/commit/789ba6e8c29c8d55c2b8a77aaf767d1cb6e22917\"\u003e\u003ccode\u003e789ba6e\u003c/code\u003e\u003c/a\u003e DOC: update changelist\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/commit/4cb058c426d2e9b985201dfbf7be00d5e534d9a5\"\u003e\u003ccode\u003e4cb058c\u003c/code\u003e\u003c/a\u003e BUG: fix \u003cstrong\u003edoctest_requires\u003c/strong\u003e when constraint is present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/commit/d51d45aa0d8a7e53c80382dbeded78ae4e9cde1a\"\u003e\u003ccode\u003ed51d45a\u003c/code\u003e\u003c/a\u003e TST: add test that shows \u003cstrong\u003edoctest_requires\u003c/strong\u003e fails with contraint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/commit/0d8d511692941c012b3361303f34bc01fa7cac9d\"\u003e\u003ccode\u003e0d8d511\u003c/code\u003e\u003c/a\u003e Back to development: v1.8.0.dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/commit/8248fb7509993fbcdd1ac4b0f83c1b46deaabcce\"\u003e\u003ccode\u003e8248fb7\u003c/code\u003e\u003c/a\u003e Finalizing changelog for v1.7.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/compare/v1.4.0...v1.7.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `h5py` from 3.14.0 to 3.15.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/h5py/h5py/releases\"\u003eh5py's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.15.1\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003e3.15.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.h5py.org/en/latest/whatsnew/3.15.html\"\u003ehttps://docs.h5py.org/en/latest/whatsnew/3.15.html\u003c/a\u003e for release notes\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/h5py/h5py/commit/fad034c16f595cb24f4393bbd0dcd23c53bc9a33\"\u003e\u003ccode\u003efad034c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/h5py/h5py/issues/2727\"\u003e#2727\u003c/a\u003e from takluyver/prepare-3.15.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/435015dd3b3ff0ed1f9eb785fb3c42852b0120df\"\u003e\u003ccode\u003e435015d\u003c/code\u003e\u003c/a\u003e Version number -\u0026gt; 3.15.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/3cf3343435316f72e9e6dace114caf3c3c01e12a\"\u003e\u003ccode\u003e3cf3343\u003c/code\u003e\u003c/a\u003e Add release note for 3.15.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/c4d3394a422e5c4d0cc1374e491d180d9faacbfc\"\u003e\u003ccode\u003ec4d3394\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/h5py/h5py/issues/2725\"\u003e#2725\u003c/a\u003e from crusaderky/test_lowlevel_vds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/a0a707f3bc8c280492b70e0ea2b065b35d851f2c\"\u003e\u003ccode\u003ea0a707f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/h5py/h5py/issues/2722\"\u003e#2722\u003c/a\u003e from neutrinoceros/whl/fix-hdf5-macosx-deployment-ta...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/b30f4fa7b4731e41ac42d040ecfa242f34d9bba3\"\u003e\u003ccode\u003eb30f4fa\u003c/code\u003e\u003c/a\u003e WHL: build HDF5 with backward compatible system APIs on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/eff7fa8a5973fb7893c1e99ef1db491c626cc749\"\u003e\u003ccode\u003eeff7fa8\u003c/code\u003e\u003c/a\u003e TST: File hygiene in test_lowlevel_vds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/dffdd1a7c0f514a7fef5865e58bd3b0269447b3f\"\u003e\u003ccode\u003edffdd1a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/h5py/h5py/issues/2723\"\u003e#2723\u003c/a\u003e from takluyver/ci/gh-release-non-draft\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/9f675940af1d385fe0cb244c3ed43b1d101d19c3\"\u003e\u003ccode\u003e9f67594\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/h5py/h5py/issues/2724\"\u003e#2724\u003c/a\u003e from h5py/dependabot/github_actions/actions-e74af9633e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/0e8285793020c391eb774686e6fab5e07154404d\"\u003e\u003ccode\u003e0e82857\u003c/code\u003e\u003c/a\u003e Build(deps): Bump softprops/action-gh-release in the actions group\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/h5py/h5py/compare/3.14.0...3.15.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fasteners` from 0.19 to 0.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/harlowja/fasteners/releases\"\u003efasteners's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInterProcessLock now catches OSError and handles BlockingIOError correctly.\u003c/li\u003e\n\u003cli\u003eRemove support for python 3.8, python 3.9 and pypy 3.9. It should still work,\nbut is no longer tested.\u003c/li\u003e\n\u003cli\u003eAdd support for python 3.12, 3.13 and pypy 3.11.\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/harlowja/fasteners/blob/main/CHANGELOG.md\"\u003efasteners's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.20]\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInterProcessLock now catches OSError and handles BlockingIOError correctly.\u003c/li\u003e\n\u003cli\u003eRemove support for python 3.8, python 3.9 and pypy 3.9. It should still work,\nbut is no longer tested.\u003c/li\u003e\n\u003cli\u003eAdd support for python 3.12, 3.13 and pypy 3.11.\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/harlowja/fasteners/commit/87839f4acc6660856c67963b128dedd84e94907d\"\u003e\u003ccode\u003e87839f4\u003c/code\u003e\u003c/a\u003e Release 0.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/harlowja/fasteners/commit/559e58654a5587dd5a8247e979179f80af1ba727\"\u003e\u003ccode\u003e559e586\u003c/code\u003e\u003c/a\u003e Use uv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/harlowja/fasteners/commit/59edee2438b89f54eb0e372441face03a97c6689\"\u003e\u003ccode\u003e59edee2\u003c/code\u003e\u003c/a\u003e Update licence fields in pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/harlowja/fasteners/commit/433df5df95de7c79f3d993e5f0511e3bfa2752a5\"\u003e\u003ccode\u003e433df5d\u003c/code\u003e\u003c/a\u003e update docs build github action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/harlowja/fasteners/commit/fb2206259297ef70cccaa679499582dfbbea2fd5\"\u003e\u003ccode\u003efb22062\u003c/code\u003e\u003c/a\u003e Catch OSError in the InterProcessLock (\u003ca href=\"https://redirect.github.com/harlowja/fasteners/issues/123\"\u003e#123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/harlowja/fasteners/commit/3f114f01ca775db3e78b20a0e54ca561c5d31eb0\"\u003e\u003ccode\u003e3f114f0\u003c/code\u003e\u003c/a\u003e Update CI python versions (\u003ca href=\"https://redirect.github.com/harlowja/fasteners/issues/120\"\u003e#120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/harlowja/fasteners/compare/0.19...0.20\"\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.1 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.1...9.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/zarr-developers/zarr-python/pull/3687","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/zarr-developers%2Fzarr-python/issues/3687","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3687/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":"3881651866","node_id":"PR_kwDOAVOy2c7Ashnb","number":657,"state":"closed","title":"Bump the pip group across 1 directory with 38 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-01T09:23:54.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-01T09:27:06.000Z","updated_at":"2026-03-01T09:23:55.000Z","time_to_close":2419008,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"pip","update_count":38,"packages":[{"name":"beautifulsoup4","old_version":"4.13.3","new_version":"4.14.3"},{"name":"biopython","old_version":"1.85","new_version":"1.86","repository_url":"https://github.com/biopython/biopython"},{"name":"bokeh","old_version":"3.6.2","new_version":"3.8.2","repository_url":"https://github.com/bokeh/bokeh"},{"name":"certifi","old_version":"2025.1.31","new_version":"2026.1.4","repository_url":"https://github.com/certifi/python-certifi"},{"name":"cryptography","old_version":"44.0.1","new_version":"46.0.4","repository_url":"https://github.com/pyca/cryptography"},{"name":"idna","old_version":"3.10","new_version":"3.11","repository_url":"https://github.com/kjd/idna"},{"name":"jsonschema","old_version":"4.23.0","new_version":"4.26.0","repository_url":"https://github.com/python-jsonschema/jsonschema"},{"name":"markdown","old_version":"3.7","new_version":"3.10.1","repository_url":"https://github.com/Python-Markdown/markdown"},{"name":"markupsafe","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/pallets/markupsafe"},{"name":"networkx","old_version":"3.4.2","new_version":"3.6.1","repository_url":"https://github.com/networkx/networkx"},{"name":"numpy","old_version":"2.2.3","new_version":"2.4.2","repository_url":"https://github.com/numpy/numpy"},{"name":"pillow","old_version":"11.1.0","new_version":"12.1.0","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"plotly","old_version":"5.24.1","new_version":"6.5.2","repository_url":"https://github.com/plotly/plotly.py"},{"name":"pyasn1","old_version":"0.6.1","new_version":"0.6.2","repository_url":"https://github.com/pyasn1/pyasn1"},{"name":"pycurl","old_version":"7.45.4","new_version":"7.45.7","repository_url":"https://github.com/pycurl/pycurl"},{"name":"pygments","old_version":"2.19.1","new_version":"2.19.2","repository_url":"https://github.com/pygments/pygments"},{"name":"pyopenssl","old_version":"25.0.0","new_version":"25.3.0","repository_url":"https://github.com/pyca/pyopenssl"},{"name":"rsa","old_version":"4.9","new_version":"4.9.1","repository_url":"https://github.com/sybrenstuvel/python-rsa"},{"name":"scipy","old_version":"1.15.2","new_version":"1.17.0","repository_url":"https://github.com/scipy/scipy"},{"name":"setuptools","old_version":"75.8.2","new_version":"80.10.2","repository_url":"https://github.com/pypa/setuptools"},{"name":"sympy","old_version":"1.13.3","new_version":"1.14.0","repository_url":"https://github.com/sympy/sympy"},{"name":"wordcloud","old_version":"1.9.4","new_version":"1.9.6","repository_url":"https://github.com/amueller/word_cloud"},{"name":"ipython","old_version":"8.33.0","new_version":"9.9.0","repository_url":"https://github.com/ipython/ipython"},{"name":"ipywidgets","old_version":"8.1.5","new_version":"8.1.8","repository_url":"https://github.com/jupyter-widgets/ipywidgets"},{"name":"jinja2","old_version":"3.1.5","new_version":"3.1.6","repository_url":"https://github.com/pallets/jinja"},{"name":"pandas","old_version":"2.2.3","new_version":"3.0.0","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"pymongo","old_version":"4.11.1","new_version":"4.16.0","repository_url":"https://github.com/mongodb/mongo-python-driver"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"requests","old_version":"2.32.3","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"scikit-learn","old_version":"1.6.1","new_version":"1.8.0","repository_url":"https://github.com/scikit-learn/scikit-learn"},{"name":"statsmodels","old_version":"0.14.4","new_version":"0.14.6","repository_url":"https://github.com/statsmodels/statsmodels"},{"name":"tornado","old_version":"6.4.2","new_version":"6.5.4","repository_url":"https://github.com/tornadoweb/tornado"},{"name":"coverage","old_version":"7.6.12","new_version":"7.13.2","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"pytest","old_version":"8.3.4","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"6.0.0","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-recording","old_version":"0.13.2","new_version":"0.13.4","repository_url":"https://github.com/kiwicom/pytest-recording"},{"name":"ruff","old_version":"0.9.9","new_version":"0.14.14","repository_url":"https://github.com/astral-sh/ruff"},{"name":"vcrpy","old_version":"7.0.0","new_version":"8.1.1","repository_url":"https://github.com/kevin1024/vcrpy"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 38 updates in the /src directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.13.3` | `4.14.3` |\n| [biopython](https://github.com/biopython/biopython) | `1.85` | `1.86` |\n| [bokeh](https://github.com/bokeh/bokeh) | `3.6.2` | `3.8.2` |\n| [certifi](https://github.com/certifi/python-certifi) | `2025.1.31` | `2026.1.4` |\n| [cryptography](https://github.com/pyca/cryptography) | `44.0.1` | `46.0.4` |\n| [idna](https://github.com/kjd/idna) | `3.10` | `3.11` |\n| [jsonschema](https://github.com/python-jsonschema/jsonschema) | `4.23.0` | `4.26.0` |\n| [markdown](https://github.com/Python-Markdown/markdown) | `3.7` | `3.10.1` |\n| [markupsafe](https://github.com/pallets/markupsafe) | `3.0.2` | `3.0.3` |\n| [networkx](https://github.com/networkx/networkx) | `3.4.2` | `3.6.1` |\n| [numpy](https://github.com/numpy/numpy) | `2.2.3` | `2.4.2` |\n| [pillow](https://github.com/python-pillow/Pillow) | `11.1.0` | `12.1.0` |\n| [plotly](https://github.com/plotly/plotly.py) | `5.24.1` | `6.5.2` |\n| [pyasn1](https://github.com/pyasn1/pyasn1) | `0.6.1` | `0.6.2` |\n| [pycurl](https://github.com/pycurl/pycurl) | `7.45.4` | `7.45.7` |\n| [pygments](https://github.com/pygments/pygments) | `2.19.1` | `2.19.2` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `25.0.0` | `25.3.0` |\n| [rsa](https://github.com/sybrenstuvel/python-rsa) | `4.9` | `4.9.1` |\n| [scipy](https://github.com/scipy/scipy) | `1.15.2` | `1.17.0` |\n| [setuptools](https://github.com/pypa/setuptools) | `75.8.2` | `80.10.2` |\n| [sympy](https://github.com/sympy/sympy) | `1.13.3` | `1.14.0` |\n| [wordcloud](https://github.com/amueller/word_cloud) | `1.9.4` | `1.9.6` |\n| [ipython](https://github.com/ipython/ipython) | `8.33.0` | `9.9.0` |\n| [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) | `8.1.5` | `8.1.8` |\n| [jinja2](https://github.com/pallets/jinja) | `3.1.5` | `3.1.6` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.2.3` | `3.0.0` |\n| [pymongo](https://github.com/mongodb/mongo-python-driver) | `4.11.1` | `4.16.0` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.32.5` |\n| [scikit-learn](https://github.com/scikit-learn/scikit-learn) | `1.6.1` | `1.8.0` |\n| [statsmodels](https://github.com/statsmodels/statsmodels) | `0.14.4` | `0.14.6` |\n| [tornado](https://github.com/tornadoweb/tornado) | `6.4.2` | `6.5.4` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.6.12` | `7.13.2` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.3.4` | `9.0.2` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.0.0` | `7.0.0` |\n| [pytest-recording](https://github.com/kiwicom/pytest-recording) | `0.13.2` | `0.13.4` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.9.9` | `0.14.14` |\n| [vcrpy](https://github.com/kevin1024/vcrpy) | `7.0.0` | `8.1.1` |\n\n\nUpdates `beautifulsoup4` from 4.13.3 to 4.14.3\n\nUpdates `biopython` from 1.85 to 1.86\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/biopython/biopython/blob/master/NEWS.rst\"\u003ebiopython's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e28 October 2025: Biopython 1.86\u003c/h1\u003e\n\u003cp\u003eThis release of Biopython supports Python 3.10, 3.11, 3.12, 3.13 and 3.14.  It\nhas also been tested on PyPy3.10 v7.3.19.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.SearchIO\u003c/code\u003e now supports parsing the tabular and plain text output of\n\u003ccode\u003eInfernal \u0026lt;http://eddylab.org/infernal/\u0026gt;\u003c/code\u003e (v1.0.0+) RNA search tool. The\nformat names are \u003ccode\u003einfernal-tab\u003c/code\u003e and \u003ccode\u003einfernal-text\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe default value of the gap score of a \u003ccode\u003ePairwiseAligner\u003c/code\u003e object was changed\nin this release.  Previously, for consistency with \u003ccode\u003eBio.pairwise2\u003c/code\u003e, the\ndefault value for gap score was 0.  However, this means that a mismatch, an\ninsertion followed by a deletion, and a deletion followed by an insertion all\nget assigned a score of 0.  The aligner then finds a large number of alignments\nthat are logically the same, but have trivial differences between them.  For\nexample, aligning AAACAAA to AAAGAAA previously yielded the following three\nalignments, all with score 6::\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e AAACAAA        AAAC-AAA        AAA-CAAA\n AAAGAAA        AAA-GAAA        AAAG-AAA\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eWith the new default parameter for the gap score, only the first alignment is\nreturned.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.PDB.PDBIO\u003c/code\u003e now ensures that b-factor values are always at most 6 characters to\nensure that we do not violate the wwPDB specification. This should not have an impact\non the majority of uses, as b-factor values are generally small (less than 100). When\n1000 \u0026lt;= b-factor \u0026lt; 10_000, the value is rounded to a single decimal place. When,\n10_000 \u0026lt;= b-factor \u0026lt; 999_999, the value is rounded to zero decimal places. Values\nabove 999_999 are now clamped. The justification for this is the rise in the b-factor\nfield being used for additional metadata, typically from computational tools.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.Align\u003c/code\u003e now provides a method \u003ccode\u003eAlignment.from_alignments_with_same_reference\u003c/code\u003e\nto construct a multiple sequence alignment from a collection of alignments\nthat share the same reference sequence.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.PDB.PDBIO\u003c/code\u003e will now raise module specific warnings:\n\u003ccode\u003eBio.PDB.PDBExceptions.PDBIOWarning\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.PDB.SCADIO\u003c/code\u003e now supports object selection by color in the OpenSCAD\noutput file.  This enables generation of separate STL files for each color for\nprinting protein structures on multi-material 3D printers.\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003eiplotx\u003c/code\u003e library is mentioned in the Tutorial as an option to visualise\ntrees using complex style options.\u003c/p\u003e\n\u003cp\u003eMany thanks to the Biopython developers and community for making this release\npossible, especially the following contributors:\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\u003eSee full diff in \u003ca href=\"https://github.com/biopython/biopython/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bokeh` from 3.6.2 to 3.8.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bokeh/bokeh/blob/3.8.2/docs/CHANGELOG\"\u003ebokeh's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2026-01-06    3.8.2:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ebugfixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14768\"\u003e#14768\u003c/a\u003e [component: server] Incomplete Origin Validation in WebSockets in Bokeh server applications\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003etasks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14767\"\u003e#14767\u003c/a\u003e Backports for 3.8.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2025-11-07    3.8.1:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ebugfixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14618\"\u003e#14618\u003c/a\u003e [component: docs] Local documentation build fails with \u003ccode\u003eExtension error (sphinxext.opengraph)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14626\"\u003e#14626\u003c/a\u003e [component: docs] Local documentation fails on Windows because of missing svg icons\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14651\"\u003e#14651\u003c/a\u003e [component: bokehjs] HoverTool parameter @$name for stacked bar chart not working in version 3.8.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003etasks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14704\"\u003e#14704\u003c/a\u003e Backports for 3.8.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2025-08-29      3.8:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebugfixes:\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/12430\"\u003e#12430\u003c/a\u003e [component: bokehjs] [BUG] Step glyphs do not support linked brushing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/12994\"\u003e#12994\u003c/a\u003e [component: bokehjs] [BUG] Patch does not output under certain conditions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/13616\"\u003e#13616\u003c/a\u003e [component: bokehjs] [BUG] DateRangePicker value does not reflect value in browser when selection is aborted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14334\"\u003e#14334\u003c/a\u003e js_on_change not firing when range is updated in range tool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14352\"\u003e#14352\u003c/a\u003e [component: bokehjs] Log Axis and Range1d \u0026lt; 1 failing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14383\"\u003e#14383\u003c/a\u003e [component: bokehjs] \u003ccode\u003eSerializationError: circular reference\u003c/code\u003e When Passing List of Renderers to CustomJS Callbacks, but not when passing renderers sperately.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14396\"\u003e#14396\u003c/a\u003e [component: examples] Remove context from time of day in span example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14399\"\u003e#14399\u003c/a\u003e Bad typings for \u003ccode\u003elist_attr_splat\u003c/code\u003e (e.g. \u003ccode\u003ePlot.axis\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14413\"\u003e#14413\u003c/a\u003e [component: bokehjs] \u003ccode\u003eValueRef\u003c/code\u003e \u003ccode\u003eformatter\u003c/code\u003e does not handle datetime nullable well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14420\"\u003e#14420\u003c/a\u003e [component: bokehjs] Enhance performance of WebGL multi_marker\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14422\"\u003e#14422\u003c/a\u003e [component: bokehjs] Legend renderer not correctly positioned when saved with SaveTool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14424\"\u003e#14424\u003c/a\u003e [component: bokehjs] Patches with no data does not show plot with Bokeh 3.7+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14458\"\u003e#14458\u003c/a\u003e [component: bokehjs] Removing and re-adding DOM nodes causes React problems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14461\"\u003e#14461\u003c/a\u003e [component: tests] The regression test for issue \u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14207\"\u003e#14207\u003c/a\u003e is unreliable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14468\"\u003e#14468\u003c/a\u003e [component: docs] Try on CodePen link does not work in documentation /docs/user_guide/advanced/bokehjs.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14469\"\u003e#14469\u003c/a\u003e [component: bokehjs] Canvas2D: Multiple readback operations using getImageData are faster with the willReadFrequently attribute set to true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14476\"\u003e#14476\u003c/a\u003e Improve handling of pd.NA in Property.matches\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14497\"\u003e#14497\u003c/a\u003e mypy 1.15.0 fails in CI but not locally\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14499\"\u003e#14499\u003c/a\u003e [component: docs] IndexError on importing bokeh.sphinxext.bokeh_plot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14520\"\u003e#14520\u003c/a\u003e [component: bokehjs] BokehJS complains about categorical factors for the BoxAnnotation widget\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14536\"\u003e#14536\u003c/a\u003e Flex layouts need to apply \u003ccode\u003emin_width\u003c/code\u003e and \u003ccode\u003emin_height\u003c/code\u003e selectively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14540\"\u003e#14540\u003c/a\u003e [component: tests] Tests are failing on Windows and Python 3.10 after PR \u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14531\"\u003e#14531\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14541\"\u003e#14541\u003c/a\u003e New SVG icons have inconsistent line widths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14554\"\u003e#14554\u003c/a\u003e Add support for scalar uint32 color input.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14565\"\u003e#14565\u003c/a\u003e [component: bokehjs] DataTable source update broken\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14574\"\u003e#14574\u003c/a\u003e [component: build] grammar build script failing with whitespace in path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14597\"\u003e#14597\u003c/a\u003e [component: bokehjs] \u003ccode\u003edocument_ready\u003c/code\u003e even trigger twice with Bokeh 3.4.0.dev4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14602\"\u003e#14602\u003c/a\u003e [component: bokehjs] Layoutable components in side panels don't appear in exported images\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14620\"\u003e#14620\u003c/a\u003e Re-connect race condition on page reload\u003c/li\u003e\n\u003c/ul\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/bokeh/bokeh/commit/e5ce879c388a990e2977d126be14db5f642cf540\"\u003e\u003ccode\u003ee5ce879\u003c/code\u003e\u003c/a\u003e Deployment updates for release 3.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/2b3ee1081a7622d49daefea3214f1c6b07ad602c\"\u003e\u003ccode\u003e2b3ee10\u003c/code\u003e\u003c/a\u003e Don't validate npm credentials due to OICD limitations in npm (\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14769\"\u003e#14769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/756e3aef85e95330c49f997d6936bf0bd522393e\"\u003e\u003ccode\u003e756e3ae\u003c/code\u003e\u003c/a\u003e Migrate from NPM tokens to trusted providers for publishing in CI (\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14766\"\u003e#14766\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/2f225a1dbbc8ae74425b4e5acedf56aedc3f9d1d\"\u003e\u003ccode\u003e2f225a1\u003c/code\u003e\u003c/a\u003e Update dependencies in build environment (\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14758\"\u003e#14758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/69d197c318da7dd1a67d7f2a101f21fcdd0065f0\"\u003e\u003ccode\u003e69d197c\u003c/code\u003e\u003c/a\u003e update switcher.json\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/d915c8b9f42c67a90ac52f4a8d21be5e14e1e0af\"\u003e\u003ccode\u003ed915c8b\u003c/code\u003e\u003c/a\u003e update to latest ruff (\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14661\"\u003e#14661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/5f9f7b66bdd09cfac086da212d134a7654dfdab2\"\u003e\u003ccode\u003e5f9f7b6\u003c/code\u003e\u003c/a\u003e update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/cedd113b0e271b439dce768671685cf5f861812e\"\u003e\u003ccode\u003ecedd113\u003c/code\u003e\u003c/a\u003e handle wildcard host with port correctly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/a961ab7aad2a7d5d0350e861368e3d4294732caa\"\u003e\u003ccode\u003ea961ab7\u003c/code\u003e\u003c/a\u003e small CI fixes for advisory fork merge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/d62939a6f9515d86010cf564ef6e256b62636725\"\u003e\u003ccode\u003ed62939a\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bokeh/bokeh/compare/3.6.2...3.8.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2025.1.31 to 2026.1.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/c64d9f3a8496c0195548697f2080e716af66dd6a\"\u003e\u003ccode\u003ec64d9f3\u003c/code\u003e\u003c/a\u003e 2026.01.04 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/389\"\u003e#389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/4ac232f05a547071543d2fb069aa3c62b1dc79f3\"\u003e\u003ccode\u003e4ac232f\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 6.0.0 to 7.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/387\"\u003e#387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/95ae4b20e8abb7fa708e751e346466d16b36211a\"\u003e\u003ccode\u003e95ae4b2\u003c/code\u003e\u003c/a\u003e Update CI workflow to use Ubuntu 24.04 and Python 3.14 stable (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/386\"\u003e#386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/b72a7b1a40ae20755338d3132d8f880427b3b6fc\"\u003e\u003ccode\u003eb72a7b1\u003c/code\u003e\u003c/a\u003e Bump dessant/lock-threads from 5.0.1 to 6.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/ecc267216fbdcecb1b2aa2aa175152b773cc5ced\"\u003e\u003ccode\u003eecc2672\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 5.0.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/6a897dbc1124b17f179ef225742fcda481ec96f3\"\u003e\u003ccode\u003e6a897db\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 7.0.11 to 8.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/383\"\u003e#383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/27ca98ad845ee6d130a88301622c137893f71620\"\u003e\u003ccode\u003e27ca98a\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 7.0.9 to 7.0.11 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/381\"\u003e#381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/56c59a63909cfd3162b37e7bc16956e64df0f737\"\u003e\u003ccode\u003e56c59a6\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.0 to 6.0.1 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/ae0021cd43a77bfba67d20a041469cdf6996570e\"\u003e\u003ccode\u003eae0021c\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 6.0.0 to 6.1.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/380\"\u003e#380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/ddf5d0b5d2a3d55fd92a79f141dbb5e074caf924\"\u003e\u003ccode\u003eddf5d0b\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5.0.1 to 6.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/378\"\u003e#378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2025.01.31...2026.01.04\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 44.0.1 to 46.0.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e46.0.4 - 2026-01-27\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* `Dropped support for win_arm64 wheels`_.\n* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.5.\n\u003cp\u003e.. _v46-0-3:\u003c/p\u003e\n\u003cp\u003e46.0.3 - 2025-10-15\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed compilation when using LibreSSL 4.2.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-2:\u003c/p\u003e\n\u003cp\u003e46.0.2 - 2025-09-30\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.4.\n\u003cp\u003e.. _v46-0-1:\u003c/p\u003e\n\u003cp\u003e46.0.1 - 2025-09-16\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where users installing via \u003ccode\u003epip\u003c/code\u003e on Python 3.14 development\nversions would not properly install a dependency.\u003c/li\u003e\n\u003cli\u003eFixed an issue building the free-threaded macOS 3.14 wheels.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-0:\u003c/p\u003e\n\u003cp\u003e46.0.0 - 2025-09-16\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* **BACKWARDS INCOMPATIBLE:** Support for Python 3.7 has been removed.\n* Support for OpenSSL \u0026lt; 3.0 is deprecated and will be removed in the next\n  release.\n* Support for ``x86_64`` macOS (including publishing wheels) is deprecated\n  and will be removed in two releases. We will switch to publishing an\n  ``arm64`` only wheel for macOS.\n* Support for 32-bit Windows (including publishing wheels) is deprecated\n  and will be removed in two releases. Users should move to a 64-bit\n  Python installation.\n* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.3.\n* We now build ``ppc64le`` ``manylinux`` wheels and publish them to PyPI.\n* We now build ``win_arm64`` (Windows on Arm) wheels and publish them to PyPI.\n* Added support for free-threaded Python 3.14.\n* Removed the deprecated ``get_attribute_for_oid`` method on\n  :class:`~cryptography.x509.CertificateSigningRequest`. Users should use\n  :meth:`~cryptography.x509.Attributes.get_attribute_for_oid` instead.\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e6f44fc8e6391f05d719fb9d369692325b87a471\"\u003e\u003ccode\u003ee6f44fc\u003c/code\u003e\u003c/a\u003e bump for 46.0.4 and drop win arm64 due to CI issues (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14217\"\u003e#14217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/c0af4dd7b75921bbe9f1d41a03dbd4b64a9e3403\"\u003e\u003ccode\u003ec0af4dd\u003c/code\u003e\u003c/a\u003e release 46.0.3 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13681\"\u003e#13681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/99efe5ad150a56efadafacaffd0e3ee319373904\"\u003e\u003ccode\u003e99efe5a\u003c/code\u003e\u003c/a\u003e bump version for 46.0.2 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13531\"\u003e#13531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e735cfc27502320101c130335c556394a125ba52\"\u003e\u003ccode\u003ee735cfc\u003c/code\u003e\u003c/a\u003e release 46.0.1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13450\"\u003e#13450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/4e457ffba43a6d87efc63c33041e2081438dd8a4\"\u003e\u003ccode\u003e4e457ff\u003c/code\u003e\u003c/a\u003e Explicitly specify python in mac uv build invocation (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13447\"\u003e#13447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/2726efdb6d67f1c90cf9c6062d9fe051965586f8\"\u003e\u003ccode\u003e2726efd\u003c/code\u003e\u003c/a\u003e Depend on CFFI 2.0.0 or newer on Python \u0026gt; 3.8 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13448\"\u003e#13448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/62230623d183706632c0eb7822c96ac95e3710a8\"\u003e\u003ccode\u003e6223062\u003c/code\u003e\u003c/a\u003e release 46.0.0 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13446\"\u003e#13446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/563c4915b0931455706f761a4579c26698824eae\"\u003e\u003ccode\u003e563c491\u003c/code\u003e\u003c/a\u003e Update comment for pyopenssl-release tag (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13445\"\u003e#13445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/d2f6f7faced35b73277bc624ff496f8af696b172\"\u003e\u003ccode\u003ed2f6f7f\u003c/code\u003e\u003c/a\u003e Bump downstream dependencies in CI (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13439\"\u003e#13439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e7ab02bd679d0b4f55d93486fe27e62554ef15d4\"\u003e\u003ccode\u003ee7ab02b\u003c/code\u003e\u003c/a\u003e we'll ship this with 3.5.3 why not (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13442\"\u003e#13442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/cryptography/compare/44.0.1...46.0.4\"\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 `jsonschema` from 4.23.0 to 4.26.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/releases\"\u003ejsonschema's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.26.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1400\"\u003epython-jsonschema/jsonschema#1400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1405\"\u003epython-jsonschema/jsonschema#1405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 6.5.0 to 6.6.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1406\"\u003epython-jsonschema/jsonschema#1406\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1407\"\u003epython-jsonschema/jsonschema#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1413\"\u003epython-jsonschema/jsonschema#1413\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 6.6.0 to 6.6.1 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/python-jsonschema/jsonschema/pull/1412\"\u003epython-jsonschema/jsonschema#1412\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1410\"\u003epython-jsonschema/jsonschema#1410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release from 2.3.2 to 2.3.3 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/python-jsonschema/jsonschema/pull/1409\"\u003epython-jsonschema/jsonschema#1409\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/python-jsonschema/jsonschema/pull/1411\"\u003epython-jsonschema/jsonschema#1411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003evalidators: avoid \u003ccode\u003eurllib.request\u003c/code\u003e at import-time by \u003ca href=\"https://github.com/gudnimg\"\u003e\u003ccode\u003e@​gudnimg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1416\"\u003epython-jsonschema/jsonschema#1416\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 6.6.1 to 6.8.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1417\"\u003epython-jsonschema/jsonschema#1417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release from 2.3.3 to 2.3.4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1418\"\u003epython-jsonschema/jsonschema#1418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1415\"\u003epython-jsonschema/jsonschema#1415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release from 2.3.4 to 2.4.1 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/python-jsonschema/jsonschema/pull/1419\"\u003epython-jsonschema/jsonschema#1419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump github/codeql-action from 3 to 4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1420\"\u003epython-jsonschema/jsonschema#1420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 6.8.0 to 7.1.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1421\"\u003epython-jsonschema/jsonschema#1421\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1424\"\u003epython-jsonschema/jsonschema#1424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 7.1.0 to 7.1.1 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/python-jsonschema/jsonschema/pull/1423\"\u003epython-jsonschema/jsonschema#1423\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1425\"\u003epython-jsonschema/jsonschema#1425\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1429\"\u003epython-jsonschema/jsonschema#1429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1431\"\u003epython-jsonschema/jsonschema#1431\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release from 2.4.1 to 2.4.2 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/python-jsonschema/jsonschema/pull/1432\"\u003epython-jsonschema/jsonschema#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 7.1.1 to 7.1.2 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/python-jsonschema/jsonschema/pull/1430\"\u003epython-jsonschema/jsonschema#1430\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1434\"\u003epython-jsonschema/jsonschema#1434\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 7.1.2 to 7.1.4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1435\"\u003epython-jsonschema/jsonschema#1435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1436\"\u003epython-jsonschema/jsonschema#1436\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1437\"\u003epython-jsonschema/jsonschema#1437\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release from 2.4.2 to 2.5.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1438\"\u003epython-jsonschema/jsonschema#1438\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1439\"\u003epython-jsonschema/jsonschema#1439\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument \u003ccode\u003euuid\u003c/code\u003e format by \u003ca href=\"https://github.com/sim642\"\u003e\u003ccode\u003e@​sim642\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1440\"\u003epython-jsonschema/jsonschema#1440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1441\"\u003epython-jsonschema/jsonschema#1441\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 7.1.4 to 7.1.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/python-jsonschema/jsonschema/pull/1442\"\u003epython-jsonschema/jsonschema#1442\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1443\"\u003epython-jsonschema/jsonschema#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/gudnimg\"\u003e\u003ccode\u003e@​gudnimg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1416\"\u003epython-jsonschema/jsonschema#1416\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sim642\"\u003e\u003ccode\u003e@​sim642\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1440\"\u003epython-jsonschema/jsonschema#1440\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-jsonschema/jsonschema/compare/v4.25.1...v4.26.0\"\u003ehttps://github.com/python-jsonschema/jsonschema/compare/v4.25.1...v4.26.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.25.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidator\u003c/code\u003e protocol init to match runtime by \u003ca href=\"https://github.com/sirosen\"\u003e\u003ccode\u003e@​sirosen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1396\"\u003epython-jsonschema/jsonschema#1396\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/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst\"\u003ejsonschema's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev4.26.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDecrease import time by delaying importing of \u003ccode\u003eurllib.request\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1416\"\u003e#1416\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev4.25.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix an incorrect required argument in the \u003ccode\u003eValidator\u003c/code\u003e protocol's type annotations (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1396\"\u003e#1396\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev4.25.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003eiri\u003c/code\u003e and \u003ccode\u003eiri-reference\u003c/code\u003e formats to the \u003ccode\u003eformat-nongpl\u003c/code\u003e extra via the MIT-licensed \u003ccode\u003erfc3987-syntax\u003c/code\u003e.\nThey were alread supported by the \u003ccode\u003eformat\u003c/code\u003e extra. (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1388\"\u003e#1388\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev4.24.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eProperly escape segments in \u003ccode\u003eValidationError.json_path\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/139\"\u003e#139\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev4.24.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix improper handling of \u003ccode\u003eunevaluatedProperties\u003c/code\u003e in the presence of \u003ccode\u003eadditionalProperties\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1351\"\u003e#1351\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eSupport for Python 3.8 has been dropped, as it is end-of-life.\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-jsonschema/jsonschema/commit/a7277432b0f7bcd0551f6e589d30457017125df4\"\u003e\u003ccode\u003ea727743\u003c/code\u003e\u003c/a\u003e Add a changelog entry for 4.26.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/6d28c13efbbd6cf136143fdbb18f79d4476091f6\"\u003e\u003ccode\u003e6d28c13\u003c/code\u003e\u003c/a\u003e Update the lockfile.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/739499edc33c007ff62180c9fef61dbf5480bb7b\"\u003e\u003ccode\u003e739499e\u003c/code\u003e\u003c/a\u003e Update pre-commit hooks.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/cb2d77980713577f65cc7e7c7c115932206393fd\"\u003e\u003ccode\u003ecb2d779\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1443\"\u003e#1443\u003c/a\u003e from python-jsonschema/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/e6bbbb7c5bcdb32a654572d17bfce264aefd1f9d\"\u003e\u003ccode\u003ee6bbbb7\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/d56037a88faac4881214c6674a785b4abd428617\"\u003e\u003ccode\u003ed56037a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1442\"\u003e#1442\u003c/a\u003e from python-jsonschema/dependabot/github_actions/ast...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/e54ce13fb590a5c17fb702431598a382de6e68f9\"\u003e\u003ccode\u003ee54ce13\u003c/code\u003e\u003c/a\u003e Bump astral-sh/setup-uv from 7.1.4 to 7.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/1f7c9fbd01d9c2f8ddd98065324062f7e122dbe1\"\u003e\u003ccode\u003e1f7c9fb\u003c/code\u003e\u003c/a\u003e Partially update docs requirements.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/241aec982bc8c867f276779faf20d49d9774532f\"\u003e\u003ccode\u003e241aec9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1441\"\u003e#1441\u003c/a\u003e from python-jsonschema/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/2818efb4fa446ed4fa7815b4e09a7b4b7c633852\"\u003e\u003ccode\u003e2818efb\u003c/code\u003e\u003c/a\u003e Apache-2.0 -\u0026gt; nongpl\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.23.0...v4.26.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `markdown` from 3.7 to 3.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Python-Markdown/markdown/releases\"\u003emarkdown's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 3.10.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure nested elements inside inline comments are properly unescaped (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1571\"\u003e#1571\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMake the docs build successfully with mkdocstrings-python 2.0 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1575\"\u003e#1575\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix infinite loop when multiple bogus or unclosed HTML comments appear in input (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1578\"\u003e#1578\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix another infinite loop when handling bad comments (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1586\"\u003e#1586\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.10.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOfficially support Python 3.14 and PyPy 3.11 and drop support for Python 3.9\nand PyPy 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix an HTML comment parsing case in some Python versions that can cause an\ninfinite loop (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1554\"\u003e#1554\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRevert the default behavior of \u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e (to \u003ccode\u003eTrue\u003c/code\u003e). The new\nbehavior introduced in 3.9.0 is experimental and results are inconsistent.\nIt should not have been made the default behavior (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1561\"\u003e#1561\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.9.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFootnotes are now ordered by the occurrence of their references in the\ndocument. A new configuration option for the footnotes extension,\n\u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e, has been added to support restoring the previous\nbehavior of ordering footnotes by the occurrence of definitions (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1367\"\u003e#1367\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure inline processing iterates through elements in document order (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1546\"\u003e#1546\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix handling of incomplete HTML tags in code spans in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1547\"\u003e#1547\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.8.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003ecodecs\u003c/code\u003e deprecation in Python 3.14.\u003c/li\u003e\n\u003cli\u003eFix issue with unclosed comment parsing in Python 3.14.\u003c/li\u003e\n\u003cli\u003eFix issue with unclosed declarations in Python 3.14.\u003c/li\u003e\n\u003cli\u003eFix issue with unclosed HTML tag \u003ccode\u003e\u0026lt;foo\u003c/code\u003e and Python 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.8.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure incomplete markup declaration in raw HTML doesn't crash parser (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1534\"\u003e#1534\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed dropped content in \u003ccode\u003emd_in_html\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1526\"\u003e#1526\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed HTML handling corner case that prevented some content from not being rendered (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1528\"\u003e#1528\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/Python-Markdown/markdown/blob/master/docs/changelog.md\"\u003emarkdown's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.10.1] - 2026-01-21\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure nested elements inside inline comments are properly unescaped (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1571\"\u003e#1571\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMake the docs build successfully with mkdocstrings-python 2.0 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1575\"\u003e#1575\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix infinite loop when multiple bogus or unclosed HTML comments appear in input (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1578\"\u003e#1578\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix another infinite loop when handling bad comments (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1586\"\u003e#1586\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.10.0] - 2025-11-03\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOfficially support Python 3.14 and PyPy 3.11 and drop support for Python 3.9\nand PyPy 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix an HTML comment parsing case in some Python versions that can cause an\ninfinite loop (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1554\"\u003e#1554\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRevert the default behavior of \u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e (to \u003ccode\u003eTrue\u003c/code\u003e). The new\nbehavior introduced in 3.9.0 is experimental and results are inconsistent.\nIt should not have been made the default behavior (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1561\"\u003e#1561\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.9.0] - 2025-09-04\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFootnotes are now ordered by the occurrence of their references in the\ndocument. A new configuration option for the footnotes extension,\n\u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e, has been added to support restoring the previous\nbehavior of ordering footnotes by the occurrence of definitions (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1367\"\u003e#1367\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure inline processing iterates through elements in document order (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1546\"\u003e#1546\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix handling of incomplete HTML tags in code spans in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1547\"\u003e#1547\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.8.2] - 2025-06-19\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003ecodecs\u003c/code\u003e deprecation in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1537\"\u003e#1537\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix issue with unclosed comment parsing in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1537\"\u003e#1537\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix issue with unclosed declarations in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1537\"\u003e#1537\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix issue with unclosed HTML tag \u003ccode\u003e\u0026lt;foo\u003c/code\u003e and Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1537\"\u003e#1537\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.8.1] - 2025-06-18\u003c/h2\u003e\n\u003ch3\u003eFixed\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/Python-Markdown/markdown/commit/e5fa5b86e8ec380cbc520cfc637d72c779e5c601\"\u003e\u003ccode\u003ee5fa5b8\u003c/code\u003e\u003c/a\u003e Bump version to 3.10.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/f9253495f5d9919f2fdd5e147832b5fc21330f65\"\u003e\u003ccode\u003ef925349\u003c/code\u003e\u003c/a\u003e More HTML fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/9933a0a4699f3dea91f46528a2bf54863f531c08\"\u003e\u003ccode\u003e9933a0a\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Allow reference links with backticks\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/07dfa4eb43f7a2ab3181b4f842a960a03a6c1221\"\u003e\u003ccode\u003e07dfa4e\u003c/code\u003e\u003c/a\u003e Allow reference links with backticks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/fb6b27a6ff90980b5bcb0cd51528a7c9dc3a93ca\"\u003e\u003ccode\u003efb6b27a\u003c/code\u003e\u003c/a\u003e Fix infinite loop when text contains multiple unclosed comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/89112c293f7b399ae8808f3a06306f46601e9684\"\u003e\u003ccode\u003e89112c2\u003c/code\u003e\u003c/a\u003e Make the docs build successfully with mkdocstrings-python 2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/961856ceb30623b929d8b7abdf5ed7074db7184c\"\u003e\u003ccode\u003e961856c\u003c/code\u003e\u003c/a\u003e Update link\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/2b49115b1002142afbd84b3002f13c0e98a0f487\"\u003e\u003ccode\u003e2b49115\u003c/code\u003e\u003c/a\u003e Ensure nested elements inside inline comments are properly unescaped.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/22e89c1fc346f72218a10e392a0c3b4731912522\"\u003e\u003ccode\u003e22e89c1\u003c/code\u003e\u003c/a\u003e Bump version to 3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/c138aea5139a6aceae05bb957e866d9ce7577b94\"\u003e\u003ccode\u003ec138aea\u003c/code\u003e\u003c/a\u003e + PY314 - PY39\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Python-Markdown/markdown/compare/3.7...3.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `markupsafe` from 3.0.2 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/markupsafe/releases\"\u003emarkupsafe's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003cp\u003eThis is the MarkupSafe 3.0.3 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/MarkupSafe/3.0.3/\"\u003ehttps://pypi.org/project/MarkupSafe/3.0.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://markupsafe.palletsprojects.com/page/changes/#version-3-0-3\"\u003ehttps://markupsafe.palletsprojects.com/page/changes/#version-3-0-3\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/markupsafe/milestone/15?closed=1\"\u003ehttps://github.com/pallets/markupsafe/milestone/15?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e__version__\u003c/code\u003e raises \u003ccode\u003eDeprecationWarning\u003c/code\u003e instead of \u003ccode\u003eUserWarning\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/487\"\u003e#487\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdopt multi-phase initialization PEP 489 for the C extension. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/494\"\u003e#494\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild Windows ARM64 wheels. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/485\"\u003e#485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild Python 3.14 wheels. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/503\"\u003e#503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild riscv64 wheels. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/505\"\u003e#505\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/markupsafe/blob/main/CHANGES.rst\"\u003emarkupsafe's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.0.3\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-27\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e__version__\u003c/code\u003e raises \u003ccode\u003eDeprecationWarning\u003c/code\u003e instead of \u003ccode\u003eUserWarning\u003c/code\u003e.\n:issue:\u003ccode\u003e487\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdopt multi-phase initialisation (:pep:\u003ccode\u003e489\u003c/code\u003e) for the C extension.\n:issue:\u003ccode\u003e494\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eBuild Windows ARM64 wheels. :issue:\u003ccode\u003e485\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eBuild Python 3.14 wheels. :issue:\u003ccode\u003e503\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eBuild riscv64 wheels. :issue:\u003ccode\u003e505\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/297fc8e356e6836a62087949245d09a28e9f1b13\"\u003e\u003ccode\u003e297fc8e\u003c/code\u003e\u003c/a\u003e release version 3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/7e4e6ce249107c5f27fa6fe890e29da7a8dc8f0c\"\u003e\u003ccode\u003e7e4e6ce\u003c/code\u003e\u003c/a\u003e Free-threading: run with pytest-run-paralell (\u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/507\"\u003e#507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/6100b9c0d466495a08d55b33cb172d7b5d8e9aa1\"\u003e\u003ccode\u003e6100b9c\u003c/code\u003e\u003c/a\u003e enable riscv64 wheels (\u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/506\"\u003e#506\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/c9d5ecfc7eec6f611b19cdc8e1cde1aaa65cb8eb\"\u003e\u003ccode\u003ec9d5ecf\u003c/code\u003e\u003c/a\u003e enable riscv64 wheels\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/2f9b33753052e7c6df1464a7c900787d04ae9daf\"\u003e\u003ccode\u003e2f9b337\u003c/code\u003e\u003c/a\u003e tox for 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/78d951a9549dee9fc901c55fc79a74a5f01e96fc\"\u003e\u003ccode\u003e78d951a\u003c/code\u003e\u003c/a\u003e update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/bb6744e392e79611b110c5ba022238eb1b855cc2\"\u003e\u003ccode\u003ebb6744e\u003c/code\u003e\u003c/a\u003e add entry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/65c4134ab16a3faccbcac2cba90da0db2b799542\"\u003e\u003ccode\u003e65c4134\u003c/code\u003e\u003c/a\u003e upgrade cibuildwheel, add \u003ccode\u003ecp314\u003c/code\u003e wheels and test on CPython 3.14 (\u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/504\"\u003e#504\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/3a9bd88b84c9edba8b922bb12b84a59feed98788\"\u003e\u003ccode\u003e3a9bd88\u003c/code\u003e\u003c/a\u003e add cp314 wheels\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/aafe44d87bd7974bc82af8c4010dea9938441edf\"\u003e\u003ccode\u003eaafe44d\u003c/code\u003e\u003c/a\u003e remove slsa provenance (\u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/501\"\u003e#501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/markupsafe/compare/3.0.2...3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `networkx` from 3.4.2 to 3.6.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/networkx/networkx/releases\"\u003enetworkx's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eNetworkX 3.6.1\u003c/h2\u003e\n\u003ch1\u003enetworkx 3.6.1\u003c/h1\u003e\n\u003cp\u003eWe're happy to announce the release of networkx 3.6.1!\u003c/p\u003e\n\u003ch2\u003eAPI Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd spectral bipartition community finding and greedy bipartition using node swaps (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8347\"\u003e#8347\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNodelists for \u003ccode\u003efrom_biadjacency_matrix\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/7993\"\u003e#7993\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd spectral bipartition community finding and greedy bipartition using node swaps (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8347\"\u003e#8347\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix draw_networkx_nodes with list node_shape and add regression test (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8363\"\u003e#8363\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: allow graph subclasses to have additional arguments (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8369\"\u003e#8369\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDOC: Improve benchmarking readme (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8358\"\u003e#8358\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: More details re: RC releases in the release process devdocs (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8346\"\u003e#8346\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: clarify difference between G.nodes/G.nodes() and G.edges/G.edges() in tutorial (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8300\"\u003e#8300\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: Add blurb to contributor guide about drawing tests (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8370\"\u003e#8370\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: Fix underline lens in docstrings (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8371\"\u003e#8371\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRolling back shortest paths links (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8373\"\u003e#8373\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMaintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMAINT: Replace string literal with comment (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8359\"\u003e#8359\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 in the actions group (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8360\"\u003e#8360\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003epin python 3.14 to be version 3.14.0 until dataclasses are fixed (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8365\"\u003e#8365\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBlocklist Python 3.14.1 (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8372\"\u003e#8372\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTST: add tests for unsupported graph types in MST algorithms (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8353\"\u003e#8353\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eTST: clean up isomorphism tests (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8364\"\u003e#8364\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003e10 authors added to this release (alphabetically):\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Aka2210\"\u003e\u003ccode\u003e@​Aka2210\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jfinkels\"\u003e\u003ccode\u003e@​jfinkels\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaorTIRAM\"\u003e\u003ccode\u003e@​NaorTIRAM\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAditi Juneja (\u003ca href=\"https://github.com/Schefflera-Arboricola\"\u003e\u003ccode\u003e@​Schefflera-Arboricola\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAlejandro Candioti (\u003ca href=\"https://github.com/amcandio\"\u003e\u003ccode\u003e@​amcandio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eColman Bouton (\u003ca href=\"https://github.com/LorentzFactor\"\u003e\u003ccode\u003e@​LorentzFactor\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/7530809bfa1ea7ed6fdf918a4d1431488953cb1f\"\u003e\u003ccode\u003e7530809\u003c/code\u003e\u003c/a\u003e Designate 3.6.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/4788eb08f2492dd6bf6f97ce8ee07cd52aa6cf89\"\u003e\u003ccode\u003e4788eb0\u003c/code\u003e\u003c/a\u003e Rolling back shortest paths links (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8373\"\u003e#8373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/696edb6efbbbb622959e96f1276fc0db68dc0954\"\u003e\u003ccode\u003e696edb6\u003c/code\u003e\u003c/a\u003e Fix draw_networkx_nodes with list node_shape and add regression test  (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8363\"\u003e#8363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/c38830c61a6fee3ee10f216071bb63cb9b92bfb9\"\u003e\u003ccode\u003ec38830c\u003c/code\u003e\u003c/a\u003e Blocklist Python 3.14.1 (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8372\"\u003e#8372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/81d231141b08600ebfd1c781e28ecbf791e94016\"\u003e\u003ccode\u003e81d2311\u003c/code\u003e\u003c/a\u003e DOC: Fix underline lens in docstrings. (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8371\"\u003e#8371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/a6e2bfadef51dda47df6466b32642e0d428c5801\"\u003e\u003ccode\u003ea6e2bfa\u003c/code\u003e\u003c/a\u003e DOC: Add blurb to contributor guide about drawing tests. (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8370\"\u003e#8370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/96b628295eff29d266e1c75355556fc9fe58cc16\"\u003e\u003ccode\u003e96b6282\u003c/code\u003e\u003c/a\u003e DOC: clarify difference between G.nodes/G.nodes() and G.edges/G.edges() in tu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/75bdd737ca8382d06eb76ff9018a81870c9f3443\"\u003e\u003ccode\u003e75bdd73\u003c/code\u003e\u003c/a\u003e Fix: allow graph subclasses to have additional arguments (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8369\"\u003e#8369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/7663fa5e5fd73d6921410a18c7ac4116ffa04f4d\"\u003e\u003ccode\u003e7663fa5\u003c/code\u003e\u003c/a\u003e TST: clean up isomorphism tests (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8364\"\u003e#8364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/3dacd1bdcbd976b9e148a60ddebafd868c0a52f3\"\u003e\u003ccode\u003e3dacd1b\u003c/code\u003e\u003c/a\u003e Add spectral bipartition community finding and greedy bipartition using node ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/networkx/networkx/compare/networkx-3.4.2...networkx-3.6.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.2.3 to 2.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.1 (Jan 10, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.1 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.1 is a patch release that fixes bugs discoved after the\n2.4.0 release. In particular, the typo \u003ccode\u003eSeedlessSequence\u003c/code\u003e is preserved to\nenable wheels using the random Cython API and built against NumPy \u0026lt; 2.4.0\nto run without errors.\u003c/p\u003e\n\u003cp\u003eThis release supports Python versions 3.11-3.14\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eA total of 9 people contributed to this release. People with a \u0026quot;+\u0026quot; by their\nnames contributed a patch for the first time.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAlexander Shadchin\u003c/li\u003e\n\u003cli\u003eBill Tompkins +\u003c/li\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eMarten van Kerkwijk\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003eRaghuveer Devulapalli\u003c/li\u003e\n\u003cli\u003eRalf Gommers\u003c/li\u003e\n\u003cli\u003eSebastian Berg\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 15 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/30490\"\u003e#30490\u003c/a\u003e: MAINT: Prepare 2.4.x for further development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30503\"\u003e#30503\u003c/a\u003e: DOC: \u003ccode\u003enumpy.select\u003c/code\u003e: fix \u003ccode\u003edefault\u003c/code\u003e parameter docstring...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30504\"\u003e#30504\u003c/a\u003e: REV: Revert part of \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30164\"\u003e#30164\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30500\"\u003e#30500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30506\"\u003e#30506\u003c/a\u003e: TYP: \u003ccode\u003enumpy.select\u003c/code\u003e: allow passing array-like \u003ccode\u003edefault\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30507\"\u003e#30507\u003c/a\u003e: MNT: use if constexpr for compile-time branch selection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30513\"\u003e#30513\u003c/a\u003e: BUG: Fix leak in flat assignment iterator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30516\"\u003e#30516\u003c/a\u003e: BUG: fix heap overflow in fixed-width string multiply (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30511\"\u003e#30511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30523\"\u003e#30523\u003c/a\u003e: BUG: Ensure summed weights returned by np.average always are...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30527\"\u003e#30527\u003c/a\u003e: TYP: Fix return type of histogram2d\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30594\"\u003e#30594\u003c/a\u003e: MAINT: avoid passing ints to random functions that take double...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30595\"\u003e#30595\u003c/a\u003e: BLD: Avoiding conflict with pygit2 for static build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30596\"\u003e#30596\u003c/a\u003e: MAINT: Fix msvccompiler missing error on FreeBSD\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30608\"\u003e#30608\u003c/a\u003e: BLD: update vendored Meson to 1.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30620\"\u003e#30620\u003c/a\u003e: ENH: use more fine-grained critical sections in array coercion...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30623\"\u003e#30623\u003c/a\u003e: BUG: Undo result type change of quantile/percentile but keep...\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.4.0 (Dec 20, 2025)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.0 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.0 release continues the work to improve free threaded Python\nsupport, user dtypes implementation, and annotations. There are many expired\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst\"\u003enumpy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eThis is a walkthrough of the NumPy 2.4.0 release on Linux, which will be the\nfirst feature release using the \u003ccode\u003enumpy/numpy-release \u0026lt;https://github.com/numpy/numpy-release\u0026gt;\u003c/code\u003e__ repository.\u003c/p\u003e\n\u003cp\u003eThe commands can be copied into the command line, but be sure to replace 2.4.0\nwith the correct version. This should be read together with the\n:ref:\u003ccode\u003egeneral release guide \u0026lt;prepare_release\u0026gt;\u003c/code\u003e.\u003c/p\u003e\n\u003ch1\u003eFacility preparation\u003c/h1\u003e\n\u003cp\u003eBefore beginning to make a release, use the \u003ccode\u003erequirements/*_requirements.txt\u003c/code\u003e files to\nensure that you have the needed software. Most software can be installed with\npip, but some will require apt-get, dnf, or whatever your system uses for\nsoftware. You will also need a GitHub personal access token (PAT) to push the\ndocumentation. There are a few ways to streamline things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGit can be set up to use a keyring to store your GitHub personal access token.\nSearch online for the details.\u003c/li\u003e\n\u003cli\u003eYou can use the \u003ccode\u003ekeyring\u003c/code\u003e app to store the PyPI password for twine. See the\nonline twine documentation for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ePrior to release\u003c/h1\u003e\n\u003ch2\u003eAdd/drop Python versions\u003c/h2\u003e\n\u003cp\u003eWhen adding or dropping Python versions, multiple config and CI files need to\nbe edited in addition to changing the minimum version in \u003ccode\u003epyproject.toml\u003c/code\u003e.\nMake these changes in an ordinary PR against main and backport if necessary.\nWe currently release wheels for new Python versions after the first Python RC\nonce manylinux and cibuildwheel support that new Python version.\u003c/p\u003e\n\u003ch2\u003eBackport pull requests\u003c/h2\u003e\n\u003cp\u003eChanges that have been marked for this release must be backported to the\nmaintenance/2.4.x branch.\u003c/p\u003e\n\u003ch2\u003eUpdate 2.4.0 milestones\u003c/h2\u003e\n\u003cp\u003eLook at the issues/prs with 2.4.0 milestones and either push them off to a\nlater version, or maybe remove the milestone. You may need to add a milestone.\u003c/p\u003e\n\u003cp\u003eCheck the numpy-release repo\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/c81c49f77451340651a751e76bca607d85e4fd55\"\u003e\u003ccode\u003ec81c49f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30757\"\u003e#30757\u003c/a\u003e from charris/prepare-2.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/b3ae9c59de627110458653836f1be81280222f85\"\u003e\u003ccode\u003eb3ae9c5\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/9de89843c3918fa133f1aab9fb4435c38a3b0ba6\"\u003e\u003ccode\u003e9de8984\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30737\"\u003e#30737\u003c/a\u003e from mattip/scipy-openblas-backport\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/b7be329895e32de44578742b2745fb307cdf8625\"\u003e\u003ccode\u003eb7be329\u003c/code\u003e\u003c/a\u003e backport scipy-openblas version change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7ff98637f80dc1ff7a18fce8025ffabdded76094\"\u003e\u003ccode\u003e7ff9863\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30736\"\u003e#30736\u003c/a\u003e from charris/backport-30667\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/431fffbe91d86c04738f039e0048441f8f9b5fff\"\u003e\u003ccode\u003e431fffb\u003c/code\u003e\u003c/a\u003e MAINT: Skip tests that require \u003cstrong\u003ebuffer\u003c/strong\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/127235fcd9b2e80764da8f6c64f942a6bddb093a\"\u003e\u003ccode\u003e127235f\u003c/code\u003e\u003c/a\u003e BUG: fix thread safety of \u003ccode\u003earray_getbuffer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30667\"\u003e#30667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/18bdb2e675b68daa5afc3250c41982ff77b3867f\"\u003e\u003ccode\u003e18bdb2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30713\"\u003e#30713\u003c/a\u003e from charris/backport-30710\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/41dd7512de6dc3dd665b71d4e3a321aa1150dc48\"\u003e\u003ccode\u003e41dd751\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30712\"\u003e#30712\u003c/a\u003e from charris/backport-30705\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7a278da99943376313b8f631905c3baaa7a82a30\"\u003e\u003ccode\u003e7a278da\u003c/code\u003e\u003c/a\u003e BUG: Fixup the quantile promotion fixup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.2.3...v2.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pillow` from 11.1.0 to 12.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-pillow/Pillow/releases\"\u003epillow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e12.1.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://pillow.readthedocs.io/en/stable/releasenotes/12.1.0.html\"\u003ehttps://pillow.readthedocs.io/en/stable/releasenotes/12.1.0.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate getdata(), in favour of new get_flattened_data() \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9292\"...\n\n_Description has been truncated_","html_url":"https://github.com/briehl/narrative/pull/657","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/briehl%2Fnarrative/issues/657","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/657/packages"},{"uuid":"3853934615","node_id":"PR_kwDOHIBnos6_Q6dp","number":469,"state":"open","title":"build(deps): bump the simple group across 1 directory with 39 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-01-25T22:11:22.000Z","updated_at":"2026-02-02T00:00:47.721Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"simple","update_count":39,"packages":[{"name":"boto3-stubs","old_version":"1.38.3","new_version":"1.42.34"},{"name":"boto3","old_version":"1.38.3","new_version":"1.42.34","repository_url":"https://github.com/boto/boto3"},{"name":"click","old_version":"8.1.3","new_version":"8.3.1","repository_url":"https://github.com/pallets/click"},{"name":"colored","old_version":"2.3.0","new_version":"2.3.1"},{"name":"humanize","old_version":"4.12.2","new_version":"4.15.0","repository_url":"https://github.com/python-humanize/humanize"},{"name":"ipympl","old_version":"0.9.7","new_version":"0.10.0","repository_url":"https://github.com/matplotlib/ipympl"},{"name":"ipywidgets","old_version":"8.1.6","new_version":"8.1.8","repository_url":"https://github.com/jupyter-widgets/ipywidgets"},{"name":"jupyterlab","old_version":"4.4.1","new_version":"4.5.3","repository_url":"https://github.com/jupyterlab/jupyterlab"},{"name":"matplotlib","old_version":"3.10.1","new_version":"3.10.8","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"matplotlib-stubs","old_version":"0.2.0","new_version":"0.3.11","repository_url":"https://github.com/hoel-bagard/matplotlib-stubs"},{"name":"networkx","old_version":"3.4.2","new_version":"3.6.1","repository_url":"https://github.com/networkx/networkx"},{"name":"pandas-stubs","old_version":"2.2.3.250308","new_version":"2.3.3.260113","repository_url":"https://github.com/pandas-dev/pandas-stubs"},{"name":"prettytable","old_version":"3.16.0","new_version":"3.17.0","repository_url":"https://github.com/prettytable/prettytable"},{"name":"psutil","old_version":"7.0.0","new_version":"7.2.1","repository_url":"https://github.com/giampaolo/psutil"},{"name":"psycopg","old_version":"3.2.6","new_version":"3.3.2","repository_url":"https://github.com/psycopg/psycopg"},{"name":"psycopg-binary","old_version":"3.2.6","new_version":"3.3.2","repository_url":"https://github.com/psycopg/psycopg"},{"name":"pydantic","old_version":"2.8.2","new_version":"2.12.5","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pymysql","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/PyMySQL/PyMySQL"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"requests","old_version":"2.32.3","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"ruamel-yaml","old_version":"0.18.10","new_version":"0.19.1"},{"name":"ruff","old_version":"0.0.292","new_version":"0.14.14","repository_url":"https://github.com/astral-sh/ruff"},{"name":"scipy","old_version":"1.15.2","new_version":"1.17.0","repository_url":"https://github.com/scipy/scipy"},{"name":"shtab","old_version":"1.7.2","new_version":"1.8.0","repository_url":"https://github.com/iterative/shtab"},{"name":"sqlparse","old_version":"0.5.3","new_version":"0.5.5","repository_url":"https://github.com/andialbrecht/sqlparse"},{"name":"twine","old_version":"6.1.0","new_version":"6.2.0","repository_url":"https://github.com/pypa/twine"},{"name":"types-markdown","old_version":"3.8.0.20250415","new_version":"3.10.0.20251106","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-psutil","old_version":"7.0.0.20250401","new_version":"7.2.1.20260116","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-requests","old_version":"2.32.0.20250328","new_version":"2.32.4.20260107","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"typing-extensions","old_version":"4.13.2","new_version":"4.15.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"xxhash","old_version":"3.5.0","new_version":"3.6.0","repository_url":"https://github.com/ifduyue/python-xxhash"},{"name":"yamllint","old_version":"1.37.0","new_version":"1.38.0","repository_url":"https://github.com/adrienverge/yamllint"},{"name":"confluent-kafka","old_version":"2.6.1","new_version":"2.13.0","repository_url":"https://github.com/confluentinc/confluent-kafka-python"},{"name":"fastavro","old_version":"1.10.0","new_version":"1.12.1","repository_url":"https://github.com/fastavro/fastavro"},{"name":"websocket-client","old_version":"1.8.0","new_version":"1.9.0","repository_url":"https://github.com/websocket-client/websocket-client"},{"name":"minio","old_version":"7.2.15","new_version":"7.2.20","repository_url":"https://github.com/minio/minio-py"},{"name":"zstandard","old_version":"0.23.0","new_version":"0.25.0","repository_url":"https://github.com/indygreg/python-zstandard"},{"name":"pip","old_version":"25.1","new_version":"25.3","repository_url":"https://github.com/pypa/pip"},{"name":"setuptools","old_version":"80.0.0","new_version":"80.10.1","repository_url":"https://github.com/pypa/setuptools"}],"path":null,"ecosystem":"pip"},"body":"Bumps the simple group with 39 updates in the /ci/builder directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [boto3-stubs[ec2,iam,kinesis,s3,sqs,ssm,sts]](https://github.com/youtype/mypy_boto3_builder) | `1.38.3` | `1.42.34` |\n| [boto3](https://github.com/boto/boto3) | `1.38.3` | `1.42.34` |\n| [click](https://github.com/pallets/click) | `8.1.3` | `8.3.1` |\n| [colored](https://gitlab.com/dslackw/colored) | `2.3.0` | `2.3.1` |\n| [humanize](https://github.com/python-humanize/humanize) | `4.12.2` | `4.15.0` |\n| [ipympl](https://github.com/matplotlib/ipympl) | `0.9.7` | `0.10.0` |\n| [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) | `8.1.6` | `8.1.8` |\n| [jupyterlab](https://github.com/jupyterlab/jupyterlab) | `4.4.1` | `4.5.3` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.10.1` | `3.10.8` |\n| [matplotlib-stubs](https://github.com/hoel-bagard/matplotlib-stubs) | `0.2.0` | `0.3.11` |\n| [networkx](https://github.com/networkx/networkx) | `3.4.2` | `3.6.1` |\n| [pandas-stubs](https://github.com/pandas-dev/pandas-stubs) | `2.2.3.250308` | `2.3.3.260113` |\n| [prettytable](https://github.com/prettytable/prettytable) | `3.16.0` | `3.17.0` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.1` |\n| [psycopg](https://github.com/psycopg/psycopg) | `3.2.6` | `3.3.2` |\n| [psycopg-binary](https://github.com/psycopg/psycopg) | `3.2.6` | `3.3.2` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.8.2` | `2.12.5` |\n| [pymysql](https://github.com/PyMySQL/PyMySQL) | `1.1.1` | `1.1.2` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.32.5` |\n| ruamel-yaml | `0.18.10` | `0.19.1` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.0.292` | `0.14.14` |\n| [scipy](https://github.com/scipy/scipy) | `1.15.2` | `1.17.0` |\n| [shtab](https://github.com/iterative/shtab) | `1.7.2` | `1.8.0` |\n| [sqlparse](https://github.com/andialbrecht/sqlparse) | `0.5.3` | `0.5.5` |\n| [twine](https://github.com/pypa/twine) | `6.1.0` | `6.2.0` |\n| [types-markdown](https://github.com/typeshed-internal/stub_uploader) | `3.8.0.20250415` | `3.10.0.20251106` |\n| [types-psutil](https://github.com/typeshed-internal/stub_uploader) | `7.0.0.20250401` | `7.2.1.20260116` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.0.20250328` | `2.32.4.20260107` |\n| [typing-extensions](https://github.com/python/typing_extensions) | `4.13.2` | `4.15.0` |\n| [xxhash](https://github.com/ifduyue/python-xxhash) | `3.5.0` | `3.6.0` |\n| [yamllint](https://github.com/adrienverge/yamllint) | `1.37.0` | `1.38.0` |\n| [confluent-kafka](https://github.com/confluentinc/confluent-kafka-python) | `2.6.1` | `2.13.0` |\n| [fastavro](https://github.com/fastavro/fastavro) | `1.10.0` | `1.12.1` |\n| [websocket-client](https://github.com/websocket-client/websocket-client) | `1.8.0` | `1.9.0` |\n| [minio](https://github.com/minio/minio-py) | `7.2.15` | `7.2.20` |\n| [zstandard](https://github.com/indygreg/python-zstandard) | `0.23.0` | `0.25.0` |\n| [pip](https://github.com/pypa/pip) | `25.1` | `25.3` |\n| [setuptools](https://github.com/pypa/setuptools) | `80.0.0` | `80.10.1` |\n\n\nUpdates `boto3-stubs[ec2,iam,kinesis,s3,sqs,ssm,sts]` from 1.38.3 to 1.42.34\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/youtype/mypy_boto3_builder/releases\"\u003eboto3-stubs[ec2,iam,kinesis,s3,sqs,ssm,sts]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.8.0 - Python 3.8 runtime is back\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[services]\u003c/code\u003e \u003ccode\u003einstall_requires\u003c/code\u003e section is calculated based on dependencies in use, so \u003ccode\u003etyping-extensions\u003c/code\u003e version is set properly\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[all]\u003c/code\u003e Replaced \u003ccode\u003etyping\u003c/code\u003e imports with \u003ccode\u003ecollections.abc\u003c/code\u003e with a fallback to \u003ccode\u003etyping\u003c/code\u003e for Python \u0026lt;3.9\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[all]\u003c/code\u003e Added aliases for \u003ccode\u003ebuiltins.list\u003c/code\u003e, \u003ccode\u003ebuiltins.set\u003c/code\u003e, \u003ccode\u003ebuiltins.dict\u003c/code\u003e, and \u003ccode\u003ebuiltins.type\u003c/code\u003e, so Python 3.8 runtime should work as expected again (reported by \u003ca href=\"https://github.com/YHallouard\"\u003e\u003ccode\u003e@​YHallouard\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/youtype/mypy_boto3_builder/issues/340\"\u003e#340\u003c/a\u003e and \u003ca href=\"https://github.com/Omri-Ben-Yair\"\u003e\u003ccode\u003e@​Omri-Ben-Yair\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/youtype/mypy_boto3_builder/issues/336\"\u003e#336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[all]\u003c/code\u003e Unions use the same type annotations as the rest of the structures due to proper fallbacks\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[services]\u003c/code\u003e Universal input/output shapes were not replaced properly in service subresources\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[docs]\u003c/code\u003e Simplified doc links rendering for services\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[services]\u003c/code\u003e Cleaned up unnecessary imports in \u003ccode\u003eclient.pyi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[builder]\u003c/code\u003e Import records with fallback are always rendered\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/youtype/mypy_boto3_builder/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.38.3 to 1.42.34\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/9a285e6beab78c1f4c97047674ec09ac5451c4d1\"\u003e\u003ccode\u003e9a285e6\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.34'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/29574158e22c3b2d6ca044eef1dc054d28d73485\"\u003e\u003ccode\u003e2957415\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.34\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/8e1fd2e6e5c1fd6236cacf2dc9064d55d8baf07b\"\u003e\u003ccode\u003e8e1fd2e\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/9cadce52dae6e58e450a9ac0745a721dda8a4044\"\u003e\u003ccode\u003e9cadce5\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.33'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/ee24f15c3013be4f4c6e76bfbc948b910e6f8f35\"\u003e\u003ccode\u003eee24f15\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.33' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/b0f2cf318d9bef8eaf3f11cd81b22ce67810ea82\"\u003e\u003ccode\u003eb0f2cf3\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.33\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/6e690ed2966406d4b53532a44e70c93370368ae6\"\u003e\u003ccode\u003e6e690ed\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/b84ec5ebd8880b77e998bfdd28984f214c3f1fa3\"\u003e\u003ccode\u003eb84ec5e\u003c/code\u003e\u003c/a\u003e Add BOTOCORE_TCP_KEEPALIVE environment variable documentation (\u003ca href=\"https://redirect.github.com/boto/boto3/issues/4705\"\u003e#4705\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/36cebd34052db2fc7449b85ac04f903fb40f8b2f\"\u003e\u003ccode\u003e36cebd3\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.32'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/d4d10440677e98c5c15fb6c84cc605bd7401fd74\"\u003e\u003ccode\u003ed4d1044\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.32' into develop\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.38.3...1.42.34\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.3 to 8.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.1\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.1/\"\u003ehttps://pypi.org/project/click/8.3.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-1\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-1\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/28\"\u003ehttps://github.com/pallets/click/milestone/28\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3039\"\u003e#3039\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3055\"\u003e#3055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through the \u003ccode\u003eContext.invoke()\u003c/code\u003e method. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3066\"\u003e#3066\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3068\"\u003e#3068\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect behavior for multiple parameters using the same name. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3071\"\u003e#3071\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3079\"\u003e#3079\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is empty. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3019\"\u003e#3019\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3021\"\u003e#3021\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to \u003ccode\u003etype_cast_value\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3069\"\u003e#3069\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3090\"\u003e#3090\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters through the context inside parameter callbacks. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3136\"\u003e#3136\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-11-15\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. :issue:\u003ccode\u003e3039\u003c/code\u003e\n:pr:\u003ccode\u003e3055\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through\nthe \u003ccode\u003eContext.invoke()\u003c/code\u003e method. :issue:\u003ccode\u003e3066\u003c/code\u003e :issue:\u003ccode\u003e3065\u003c/code\u003e :pr:\u003ccode\u003e3068\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect\nbehavior for multiple parameters using the same name. :issue:\u003ccode\u003e3071\u003c/code\u003e :pr:\u003ccode\u003e3079\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters\nthrough the context inside parameter callbacks. :issue:\u003ccode\u003e3136\u003c/code\u003e :pr:\u003ccode\u003e3137\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is\nempty. :issue:\u003ccode\u003e3019\u003c/code\u003e :pr:\u003ccode\u003e3021\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to\n\u003ccode\u003etype_cast_value\u003c/code\u003e. :issue:\u003ccode\u003e3069\u003c/code\u003e :pr:\u003ccode\u003e3090\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in \u003ccode\u003eCliRunner\u003c/code\u003e. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/1d038f270701498433cb432f54db89f95f07a845\"\u003e\u003ccode\u003e1d038f2\u003c/code\u003e\u003c/a\u003e release version 8.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/03f3889f505d0c9ca4f9d6810f9e4ba2799f2a66\"\u003e\u003ccode\u003e03f3889\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3141\"\u003e#3141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/3867781222cb63693ca67df94352d29d8e6e2770\"\u003e\u003ccode\u003e3867781\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/b91bb9548a5617b1197add95e084d569f57149c3\"\u003e\u003ccode\u003eb91bb95\u003c/code\u003e\u003c/a\u003e Provide altered context to callbacks to hide \u003ccode\u003eUNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/437e1e3295c7ec979fc1bf285bb402ca20d847e7\"\u003e\u003ccode\u003e437e1e3\u003c/code\u003e\u003c/a\u003e Temporarily provide a fake context to the callback to hide \u003ccode\u003eUNSET\u003c/code\u003e values as ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/ea70da487b05d6bb758d472a3a9ffab4a5b7fcd5\"\u003e\u003ccode\u003eea70da4\u003c/code\u003e\u003c/a\u003e Don't test using a file in docs/ (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3102\"\u003e#3102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e27b307462b725722f620c69dd1d5509c032d18a\"\u003e\u003ccode\u003ee27b307\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003euv run --all-extras pyright --verifytypes click\u003c/code\u003e pass (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3072\"\u003e#3072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/a92c573f3195c9da3058eadf1735d38af186d22c\"\u003e\u003ccode\u003ea92c573\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3129\"\u003e#3129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/bd131e1ab63da2281d6dd9b8205ad2eb5a085468\"\u003e\u003ccode\u003ebd131e1\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/0b5c6b75f617e6ee2f9f6dcd071b8a4bf183d1ed\"\u003e\u003ccode\u003e0b5c6b7\u003c/code\u003e\u003c/a\u003e Add Best practices section  (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3127\"\u003e#3127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.1.3...8.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `colored` from 2.3.0 to 2.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://gitlab.com/dslackw/colored/blob/master/CHANGES.md\"\u003ecolored's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.3.1] - 2025-07-28\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor: Optimized Windows Terminal Mode initialization: Moved \u003ccode\u003eColored.enable_windows_terminal_mode()\u003c/code\u003e call from \u003ccode\u003eColored.__init__\u003c/code\u003e to module-level execution. This ensures the Windows virtual terminal processing is enabled only once when the \u003ccode\u003ecolored\u003c/code\u003e module is imported, instead of on every \u003ccode\u003eColored\u003c/code\u003e object instantiation. This change improves performance by avoiding redundant API calls and checks.\u003c/li\u003e\n\u003cli\u003eRefactor: Reduce \u003ccode\u003eColored\u003c/code\u003e instance attributes: Removed redundant instance attributes (\u003ccode\u003e_ESC\u003c/code\u003e, \u003ccode\u003e_END\u003c/code\u003e, \u003ccode\u003e_STYLES\u003c/code\u003e, etc.) from the \u003ccode\u003eColored\u003c/code\u003e class's \u003ccode\u003e__init__\u003c/code\u003e method. These constants are now accessed directly from the \u003ccode\u003eLibrary\u003c/code\u003e module, reducing memory footprint per instance and improving adherence to Pylint's \u003ccode\u003eR0902\u003c/code\u003e warning.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResolved static analysis warnings in \u003ccode\u003eenable_windows_terminal_mode()\u003c/code\u003e: Modified \u003ccode\u003eenable_windows_terminal_mode()\u003c/code\u003e to ensure consistent return statements and handle all possible execution paths explicitly. This addresses \u003ccode\u003emypy\u003c/code\u003e's \u0026quot;Missing return statement\u0026quot; error and \u003ccode\u003epylint\u003c/code\u003e's \u0026quot;inconsistent-return-statements\u0026quot; warning by making all return paths explicit and robustly handling potential \u003ccode\u003ectypes\u003c/code\u003e related exceptions. The return type hint was also updated to \u003ccode\u003eOptional[bool]\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eResolved type hinting and tuple unpacking warnings in \u003ccode\u003eUtilities.is_percentage()\u003c/code\u003e: Modified the \u003ccode\u003eUtilities.is_percentage()\u003c/code\u003e method to explicitly return a fixed-length \u003ccode\u003etuple[int, int, int]\u003c/code\u003e. This addresses \u003ccode\u003emypy\u003c/code\u003e's \u0026quot;Incompatible return value type\u0026quot; error and \u003ccode\u003epylint\u003c/code\u003e's \u0026quot;unbalanced-tuple-unpacking\u0026quot; warning by ensuring consistent and statically verifiable return types.\u003c/li\u003e\n\u003cli\u003eRefined type validation and error handling in \u003ccode\u003eControls.nav()\u003c/code\u003e: Eliminated the redundant \u003ccode\u003e_is_str_object\u003c/code\u003e static method. Integrated string type validation directly into the \u003ccode\u003enav()\u003c/code\u003e method. Replaced \u003ccode\u003eAttributeError\u003c/code\u003e with \u003ccode\u003eTypeError\u003c/code\u003e for improved semantic clarity when handling invalid argument types.\u003c/li\u003e\n\u003cli\u003eEnsured \u003ccode\u003etest_hex_1.py\u003c/code\u003e correctly uses nearest ANSI codes for hex color representation, preventing \u003ccode\u003eInvalidHexColor\u003c/code\u003e exceptions during gradient and random color tests.\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://gitlab.com/dslackw/colored/commit/9af8fd381f2b907f27005479fc17e2619de52904\"\u003e\u003ccode\u003e9af8fd3\u003c/code\u003e\u003c/a\u003e Updated for version 2.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/1a9fabd317896cc0b31479a922de35a2777e3113\"\u003e\u003ccode\u003e1a9fabd\u003c/code\u003e\u003c/a\u003e Updated for date\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/6e26a657972662d2efd4d26ff3389fb59109827b\"\u003e\u003ccode\u003e6e26a65\u003c/code\u003e\u003c/a\u003e Updated for docstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/726c7e3a9fab59fec1da0d98cd236ab30bf5d335\"\u003e\u003ccode\u003e726c7e3\u003c/code\u003e\u003c/a\u003e Fix: InvalidHexColor for test_hex_1.py module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/ea826ab8814a0560a66412e9138449eb62a3add6\"\u003e\u003ccode\u003eea826ab\u003c/code\u003e\u003c/a\u003e Fixed type annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/3ed4a56ce61d371153dcee140b57df3ba5d5d005\"\u003e\u003ccode\u003e3ed4a56\u003c/code\u003e\u003c/a\u003e Fixed type annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/c44d80740872acc5e40132df6f958df09e4aa328\"\u003e\u003ccode\u003ec44d807\u003c/code\u003e\u003c/a\u003e Updated class docstring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/c7665e76dae836d65589ef977ec50f983af3d179\"\u003e\u003ccode\u003ec7665e7\u003c/code\u003e\u003c/a\u003e Refined type validation and error handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/1950dafdb25c78a20d8513076d41b3625429ca64\"\u003e\u003ccode\u003e1950daf\u003c/code\u003e\u003c/a\u003e Fixed for mypy no-untyped-def\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/9ad5943f409aa75b5b52ef9779b4f23f80de2ecd\"\u003e\u003ccode\u003e9ad5943\u003c/code\u003e\u003c/a\u003e Updated docstrings\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://gitlab.com/dslackw/colored/compare/2.3.0...2.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `humanize` from 4.12.2 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-humanize/humanize/releases\"\u003ehumanize's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.15.0\u003c/h2\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd locale support for decimal separator in \u003ccode\u003eintword\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/287\"\u003e#287\u003c/a\u003e) \u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.15 (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/275\"\u003e#275\u003c/a\u003e) \u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace pre-commit with prek (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/276\"\u003e#276\u003c/a\u003e) \u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003enaturaldelta\u003c/code\u003e: round the value to nearest unit that makes sense (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/272\"\u003e#272\u003c/a\u003e) \u003ca href=\"https://github.com/dangillet\"\u003e\u003ccode\u003e@​dangillet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix plural form for \u003ccode\u003eintword\u003c/code\u003e and improve performance (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/273\"\u003e#273\u003c/a\u003e) \u003ca href=\"https://github.com/dangillet\"\u003e\u003ccode\u003e@​dangillet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eException\u003c/code\u003e with more specific \u003ccode\u003eFileNotFoundError\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/286\"\u003e#286\u003c/a\u003e) \u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.14.0\u003c/h2\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Uzbek language (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/264\"\u003e#264\u003c/a\u003e) \u003ca href=\"https://github.com/sSimuSs\"\u003e\u003ccode\u003e@​sSimuSs\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.9 (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/268\"\u003e#268\u003c/a\u003e) \u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.13.0\u003c/h2\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOptimise \u003ccode\u003enaturalsize\u003c/code\u003e algorithm by using \u003ccode\u003emath.log\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/253\"\u003e#253\u003c/a\u003e) \u003ca href=\"https://github.com/Zaczero\"\u003e\u003ccode\u003e@​Zaczero\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eprecisedelta\u003c/code\u003e rounding (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/254\"\u003e#254\u003c/a\u003e) \u003ca href=\"https://github.com/dangillet\"\u003e\u003ccode\u003e@​dangillet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.12.3\u003c/h2\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix regression in \u003ccode\u003enaturalsize\u003c/code\u003e for \u003ccode\u003efloat\u003c/code\u003e and \u003ccode\u003estr\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/250\"\u003e#250\u003c/a\u003e) \u003ca href=\"https://github.com/loicleyendecker\"\u003e\u003ccode\u003e@​loicleyendecker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprovements for French translation (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/248\"\u003e#248\u003c/a\u003e) \u003ca href=\"https://github.com/merwok\"\u003e\u003ccode\u003e@​merwok\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/2ddb5903cdc1c7e6eb6b083f4f99f73db50aecd9\"\u003e\u003ccode\u003e2ddb590\u003c/code\u003e\u003c/a\u003e Replace \u003ccode\u003eException\u003c/code\u003e with more specific \u003ccode\u003eFileNotFoundError\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/286\"\u003e#286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/e87f2e25660d3af2ea553ea8dc63bff99652bc94\"\u003e\u003ccode\u003ee87f2e2\u003c/code\u003e\u003c/a\u003e Add locale support for decimal separator in \u003ccode\u003eintword\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/287\"\u003e#287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/717518400d6709cf7e9bebe4a9424eb3b1ebd60d\"\u003e\u003ccode\u003e7175184\u003c/code\u003e\u003c/a\u003e Add locale support for decimal separator in intword\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/25269993e7ef021edaba620c96827ca21cc13d7e\"\u003e\u003ccode\u003e2526999\u003c/code\u003e\u003c/a\u003e Update config (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/285\"\u003e#285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/ba532d9ae45d1da89f3687259324365dc187ebca\"\u003e\u003ccode\u003eba532d9\u003c/code\u003e\u003c/a\u003e Replace Exception with more specific FileNotFoundError\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/bdc49ea831cb3a79ba0155a57f27259cabb8cafd\"\u003e\u003ccode\u003ebdc49ea\u003c/code\u003e\u003c/a\u003e Don't ignore UP038, it's been removed from Ruff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/86f116bda6698c3e03e0db5f7fcfd929a4ba9ad4\"\u003e\u003ccode\u003e86f116b\u003c/code\u003e\u003c/a\u003e Add seven-day cooldown to Renovate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/e3f7116924dad455a87e85a5d7b8b7a07460fd57\"\u003e\u003ccode\u003ee3f7116\u003c/code\u003e\u003c/a\u003e No need for setup-python with prek-action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/3dca143f7884b928632f68449423d914531ca267\"\u003e\u003ccode\u003e3dca143\u003c/code\u003e\u003c/a\u003e \u003ccode\u003enaturaldelta\u003c/code\u003e: round the value to nearest unit that makes sense (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/272\"\u003e#272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/bac6f269d7f51adcd62840db969c0a40fec8fd70\"\u003e\u003ccode\u003ebac6f26\u003c/code\u003e\u003c/a\u003e Apply suggestion from \u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-humanize/humanize/compare/4.12.2...4.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ipympl` from 0.9.7 to 0.10.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/matplotlib/ipympl/releases\"\u003eipympl's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev.0.10.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate snapshots bot checkout and permission check by \u003ca href=\"https://github.com/martinRenou\"\u003e\u003ccode\u003e@​martinRenou\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/614\"\u003ematplotlib/ipympl#614\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Pixi setup by \u003ca href=\"https://github.com/ianhi\"\u003e\u003ccode\u003e@​ianhi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/613\"\u003ematplotlib/ipympl#613\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFIX: Toolbar savefig respects rcparams by \u003ca href=\"https://github.com/ianhi\"\u003e\u003ccode\u003e@​ianhi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/615\"\u003ematplotlib/ipympl#615\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/matplotlib/ipympl/compare/v0.9.8...v0.10.0\"\u003ehttps://github.com/matplotlib/ipympl/compare/v0.9.8...v0.10.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eRelease 0.9.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake 'Usage' section in README consistent with current Basic Example at current documentation by \u003ca href=\"https://github.com/fomightez\"\u003e\u003ccode\u003e@​fomightez\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/583\"\u003ematplotlib/ipympl#583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: update release workflow by \u003ca href=\"https://github.com/ianhi\"\u003e\u003ccode\u003e@​ianhi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/590\"\u003ematplotlib/ipympl#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse thread lock to support comms via subshells by \u003ca href=\"https://github.com/ianthomas23\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/603\"\u003ematplotlib/ipympl#603\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse intersphinx_registry to keep intersphinx_mapping up to date. by \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/604\"\u003ematplotlib/ipympl#604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest on python 3.14 by \u003ca href=\"https://github.com/ianthomas23\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/606\"\u003ematplotlib/ipympl#606\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix doc build issues by \u003ca href=\"https://github.com/ianthomas23\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/605\"\u003ematplotlib/ipympl#605\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.9.8 by \u003ca href=\"https://github.com/ianthomas23\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/607\"\u003ematplotlib/ipympl#607\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fomightez\"\u003e\u003ccode\u003e@​fomightez\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/583\"\u003ematplotlib/ipympl#583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/604\"\u003ematplotlib/ipympl#604\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/matplotlib/ipympl/compare/0.9.7...v0.9.8\"\u003ehttps://github.com/matplotlib/ipympl/compare/0.9.7...v0.9.8\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/matplotlib/ipympl/commit/1ba859698404d9efba44ef3cb0b00dee0daa6c11\"\u003e\u003ccode\u003e1ba8596\u003c/code\u003e\u003c/a\u003e Bump version to 0.10.0 / 0.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/ipympl/commit/805057a60768867ab4c309e9380a99b286dcfef9\"\u003e\u003ccode\u003e805057a\u003c/code\u003e\u003c/a\u003e FIX: Toolbar savefig respects rcparams (\u003ca href=\"https://redirect.github.com/matplotlib/ipympl/issues/615\"\u003e#615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/ipympl/commit/5a81b503d3d7d1a08a71c1017e8ba066a516ada8\"\u003e\u003ccode\u003e5a81b50\u003c/code\u003e\u003c/a\u003e Add Pixi setup (\u003ca href=\"https://redirect.github.com/matplotlib/ipympl/issues/613\"\u003e#613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/ipympl/commit/57e60534aa7bf547f5d421052dedc3f455547504\"\u003e\u003ccode\u003e57e6053\u003c/code\u003e\u003c/a\u003e Update bot checkout (\u003ca href=\"https://redirect.github.com/matplotlib/ipympl/issues/614\"\u003e#614\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/ipympl/commit/0f19f0a2b6b3df37787368bdb3669663d833d7ac\"\u003e\u003ccode\u003e0f19f0a\u003c/code\u003e\u003c/a\u003e Release 0.9.8 (\u003ca href=\"https://redirect.github.com/matplotlib/ipympl/issues/607\"\u003e#607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/ipympl/commit/00aa8af30a74ee32215253a965264da1e9a8eb14\"\u003e\u003ccode\u003e00aa8af\u003c/code\u003e\u003c/a\u003e Fix doc build issues (\u003ca href=\"https://redirect.github.com/matplotlib/ipympl/issues/605\"\u003e#605\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/ipympl/commit/fe010195f05249fa8407ffbc8ec7f940c9219358\"\u003e\u003ccode\u003efe01019\u003c/code\u003e\u003c/a\u003e Test on python 3.14 (\u003ca href=\"https://redirect.github.com/matplotlib/ipympl/issues/606\"\u003e#606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/ipympl/commit/6ee18b822e4558c4bcbdb7d255e17c3220c5a391\"\u003e\u003ccode\u003e6ee18b8\u003c/code\u003e\u003c/a\u003e Use intersphinx_registry to keep intersphinx_mapping up to date. (\u003ca href=\"https://redirect.github.com/matplotlib/ipympl/issues/604\"\u003e#604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/ipympl/commit/1ef9f671cba3e2424fbe55126151e43d07dc5b04\"\u003e\u003ccode\u003e1ef9f67\u003c/code\u003e\u003c/a\u003e Use thread lock to support comms via subshells (\u003ca href=\"https://redirect.github.com/matplotlib/ipympl/issues/603\"\u003e#603\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/ipympl/commit/5e068ed222427919cc20c406e34d02ba9be55cc3\"\u003e\u003ccode\u003e5e068ed\u003c/code\u003e\u003c/a\u003e build: update release workflow (\u003ca href=\"https://redirect.github.com/matplotlib/ipympl/issues/590\"\u003e#590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/matplotlib/ipympl/compare/0.9.7...v0.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ipywidgets` from 8.1.6 to 8.1.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/releases\"\u003eipywidgets's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd JupyterCon banner and jupyter colors by \u003ca href=\"https://github.com/choldgraf\"\u003e\u003ccode\u003e@​choldgraf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3998\"\u003ejupyter-widgets/ipywidgets#3998\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix badge formatting in README.md by \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4000\"\u003ejupyter-widgets/ipywidgets#4000\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Plausible web stats by \u003ca href=\"https://github.com/jasongrout\"\u003e\u003ccode\u003e@​jasongrout\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4003\"\u003ejupyter-widgets/ipywidgets#4003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate jupyterlab_widgets metadata to indicate it works with JupyterLab 4 by \u003ca href=\"https://github.com/jasongrout\"\u003e\u003ccode\u003e@​jasongrout\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4004\"\u003ejupyter-widgets/ipywidgets#4004\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/choldgraf\"\u003e\u003ccode\u003e@​choldgraf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3998\"\u003ejupyter-widgets/ipywidgets#3998\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\"\u003ehttps://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e8.1.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix CI + remove Python 3.8 by \u003ca href=\"https://github.com/martinRenou\"\u003e\u003ccode\u003e@​martinRenou\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3989\"\u003ejupyter-widgets/ipywidgets#3989\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDynamic widgets registry by \u003ca href=\"https://github.com/martinRenou\"\u003e\u003ccode\u003e@​martinRenou\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3988\"\u003ejupyter-widgets/ipywidgets#3988\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.6...8.1.7\"\u003ehttps://github.com/jupyter-widgets/ipywidgets/compare/8.1.6...8.1.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\u003eSee full diff in \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.6...8.1.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jupyterlab` from 4.4.1 to 4.5.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyterlab/jupyterlab/releases\"\u003ejupyterlab's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.5.3\u003c/h2\u003e\n\u003ch2\u003e4.5.3\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyterlab/jupyterlab/compare/v4.5.2...a3c7cc66c59cc260de9abe56d0d9aaba824d2036\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix error in console when the debugger switch from a module to another \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18352\"\u003e#18352\u003c/a\u003e (\u003ca href=\"https://github.com/brichet\"\u003e\u003ccode\u003e@​brichet\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix focus of replace buttons in the document search box \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18362\"\u003e#18362\u003c/a\u003e (\u003ca href=\"https://github.com/IsabelParedes\"\u003e\u003ccode\u003e@​IsabelParedes\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate CodeMirror to latest versions \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18344\"\u003e#18344\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix deferred cell loading in \u003ccode\u003edefer\u003c/code\u003e and \u003ccode\u003econtentVisibility\u003c/code\u003e windowing mode \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18359\"\u003e#18359\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBackport PR \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/18349\"\u003e#18349\u003c/a\u003e: Fix \u0026quot;Open With \u0026gt; Editor\u0026quot; for \u003ccode\u003e.py\u003c/code\u003e files, update \u003ccode\u003e@lumino\u003c/code\u003e packages to \u003ccode\u003ev2026.1.15\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18351\"\u003e#18351\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/aaron-seq\"\u003e\u003ccode\u003e@​aaron-seq\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 UI tests: config useSystemClipboardForCells=true for notebook toolbar test \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18335\"\u003e#18335\u003c/a\u003e (\u003ca href=\"https://github.com/brichet\"\u003e\u003ccode\u003e@​brichet\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove generated docs files from the repo \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18340\"\u003e#18340\u003c/a\u003e (\u003ca href=\"https://github.com/jtpio\"\u003e\u003ccode\u003e@​jtpio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd installation instructions for JupyterLab with uv \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18363\"\u003e#18363\u003c/a\u003e (\u003ca href=\"https://github.com/jimangel\"\u003e\u003ccode\u003e@​jimangel\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyterlab/jupyterlab/graphs/contributors?from=2026-01-12\u0026amp;to=2026-01-23\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/aaron-seq\"\u003e\u003ccode\u003e@​aaron-seq\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Aaaron-seq+updated%3A2026-01-12..2026-01-23\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/brichet\"\u003e\u003ccode\u003e@​brichet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Abrichet+updated%3A2026-01-12..2026-01-23\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/IsabelParedes\"\u003e\u003ccode\u003e@​IsabelParedes\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3AIsabelParedes+updated%3A2026-01-12..2026-01-23\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/jimangel\"\u003e\u003ccode\u003e@​jimangel\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Ajimangel+updated%3A2026-01-12..2026-01-23\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/jtpio\"\u003e\u003ccode\u003e@​jtpio\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Ajtpio+updated%3A2026-01-12..2026-01-23\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Akrassowski+updated%3A2026-01-12..2026-01-23\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003ev4.5.2\u003c/h2\u003e\n\u003ch2\u003e4.5.2\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyterlab/jupyterlab/compare/v4.5.1...bb13be16887be7116f086da699bd09208042e2b6\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBackport PR \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/18250\"\u003e#18250\u003c/a\u003e: Make system clipboard opt-in \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18319\"\u003e#18319\u003c/a\u003e (\u003ca href=\"https://github.com/Darshan808\"\u003e\u003ccode\u003e@​Darshan808\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix empty math block throws codemirror's error \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18308\"\u003e#18308\u003c/a\u003e (\u003ca href=\"https://github.com/i-aki-y\"\u003e\u003ccode\u003e@​i-aki-y\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix cell footer width for smaller screens \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18276\"\u003e#18276\u003c/a\u003e (\u003ca href=\"https://github.com/MUFFANUJ\"\u003e\u003ccode\u003e@​MUFFANUJ\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scrolling to anchor from ToC/links in Markdown and HTML with data attributes \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18208\"\u003e#18208\u003c/a\u003e (\u003ca href=\"https://github.com/pranshugupta01\"\u003e\u003ccode\u003e@​pranshugupta01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix merge breaking rendering cell order in \u003ccode\u003edefer\u003c/code\u003e mode \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18220\"\u003e#18220\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix inverted Unicode surrogate checks \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18209\"\u003e#18209\u003c/a\u003e (\u003ca href=\"https://github.com/JamesWrigley\"\u003e\u003ccode\u003e@​JamesWrigley\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\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/jupyterlab/jupyterlab/commit/26776604839d9174cc6239089372d5cfbe0a9957\"\u003e\u003ccode\u003e2677660\u003c/code\u003e\u003c/a\u003e [ci skip] Publish 4.5.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyterlab/jupyterlab/commit/a3c7cc66c59cc260de9abe56d0d9aaba824d2036\"\u003e\u003ccode\u003ea3c7cc6\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/18344\"\u003e#18344\u003c/a\u003e on branch 4.5.x (Update CodeMirror to latest versions) (\u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyterlab/jupyterlab/commit/6859dddcbf060c7cd88831c1ca9da7adebcdc3ec\"\u003e\u003ccode\u003e6859ddd\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/18352\"\u003e#18352\u003c/a\u003e: Fix error in console when the debugger switch from a modu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyterlab/jupyterlab/commit/1dff9c60cdfad7946960ec3fab95a004058207b4\"\u003e\u003ccode\u003e1dff9c6\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/18362\"\u003e#18362\u003c/a\u003e: Fix focus of replace buttons in the document search box (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyterlab/jupyterlab/commit/7e496829cb6e126ed5f442add70ef97a6149a81b\"\u003e\u003ccode\u003e7e49682\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/18363\"\u003e#18363\u003c/a\u003e: Add installation instructions for JupyterLab with uv (\u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/18\"\u003e#18\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyterlab/jupyterlab/commit/06736b57ffb7fcacd997ac22f37e6b582510a4be\"\u003e\u003ccode\u003e06736b5\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/18359\"\u003e#18359\u003c/a\u003e: Fix deferred cell loading in \u003ccode\u003edefer\u003c/code\u003e and `contentVisibili...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyterlab/jupyterlab/commit/36885449617f3f958269325c3f54bbeeb6682b01\"\u003e\u003ccode\u003e3688544\u003c/code\u003e\u003c/a\u003e Fix \u0026quot;Open With \u0026gt; Editor\u0026quot; for \u003ccode\u003e.py\u003c/code\u003e files, update \u003ccode\u003e@lumino\u003c/code\u003e packages to `v2026...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyterlab/jupyterlab/commit/ec399e0bf66b783a222279cf0adb645040a3f8a6\"\u003e\u003ccode\u003eec399e0\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/18335\"\u003e#18335\u003c/a\u003e: Fix UI tests: config useSystemClipboardForCells=true for ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyterlab/jupyterlab/commit/bb5cb96c28706449dece0a9aadf5b6ab47adc3c4\"\u003e\u003ccode\u003ebb5cb96\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/18340\"\u003e#18340\u003c/a\u003e: Remove generated docs files from the repo (\u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/18341\"\u003e#18341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyterlab/jupyterlab/commit/cdf27466ff03fac430b2a9f3b4b61d238487ac5d\"\u003e\u003ccode\u003ecdf2746\u003c/code\u003e\u003c/a\u003e [ci skip] Publish 4.5.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jupyterlab/jupyterlab/compare/@jupyterlab/lsp@4.4.1...@jupyterlab/lsp@4.5.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.1 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\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\u003ch2\u003eREL: v3.10.3\u003c/h2\u003e\n\u003cp\u003eThis is the third bugfix release of the 3.10.x series\u003c/p\u003e\n\u003c/blockquote\u003e\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.1...v3.10.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `matplotlib-stubs` from 0.2.0 to 0.3.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/releases\"\u003ematplotlib-stubs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.3.11\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ev0.3.10\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ev0.3.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix broken import in \u003ccode\u003ematplotlib.pyplot.plot_date\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.pyplot.xlim\u003c/code\u003e and \u003ccode\u003ematplotlib.pyplot.ylim\u003c/code\u003e overloads, including datetime support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.7\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ev0.3.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.axes.Axes.set_xticks\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ematplotlib.axes.Axes.bar\u003c/code\u003e to support datetime sequences\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.5\u003c/h2\u003e\n\u003cp\u003eFix \u003ccode\u003ematplotlib.pyplot.plot\u003c/code\u003e to allow using datetime sequences.\u003c/p\u003e\n\u003ch2\u003ev0.3.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eComplete type hints for:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.subplots_adjust\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.subplots\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.subplot_mosaic\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eComplete \u003ccode\u003ematplotlib.pyplot.text\u003c/code\u003e's type hints\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ematplotlib.cm.colors\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.cm\u003c/code\u003e's colormaps\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd return type to \u003ccode\u003eplt.ylabel\u003c/code\u003e and \u003ccode\u003eplt.xlabel\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix/refine argument types for \u003ccode\u003eplt.savefig\u003c/code\u003e, \u003ccode\u003eplt.plot\u003c/code\u003e and \u003ccode\u003eplt.scatter\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.0\u003c/h2\u003e\n\u003cp\u003eImprove type hints for the following functions:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.close()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.figure()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.legend()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.plot()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.savefig()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.scatter()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.title()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.xlabel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/blob/master/CHANGELOG.md\"\u003ematplotlib-stubs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.3.11 - 2025-10-23\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd type hints for \u003ccode\u003ematplotlib.pyplot\u003c/code\u003e's \u003ccode\u003eshow\u003c/code\u003e, \u003ccode\u003etight_layout\u003c/code\u003e, \u003ccode\u003ebar\u003c/code\u003e, \u003ccode\u003exticks\u003c/code\u003e and \u003ccode\u003eyticks\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.10 - 2025-10-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.pyplot.loglog\u003c/code\u003e type hints\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.9 - 2025-10-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix broken import in \u003ccode\u003ematplotlib.pyplot.plot_date\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.8 - 2025-10-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.pyplot.xlim\u003c/code\u003e and \u003ccode\u003ematplotlib.pyplot.ylim\u003c/code\u003e overloads, including datetime support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.7 - 2025-10-21\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.pyplot.axhline\u003c/code\u003e's kwargs type\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.6 - 2025-10-19\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.axes.Axes.set_xticks\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ematplotlib.axes.Axes.bar\u003c/code\u003e to support datetime sequences\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.5 - 2025-10-14\u003c/h2\u003e\n\u003cp\u003eFix \u003ccode\u003ematplotlib.pyplot.plot\u003c/code\u003e to allow using datetime sequences.\u003c/p\u003e\n\u003ch2\u003e0.3.4 - 2025-09-11\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eComplete type hints for:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.subplots_adjust\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.subplots\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.subplot_mosaic\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.3 - 2025-09-04\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eComplete \u003ccode\u003ematplotlib.pyplot.text\u003c/code\u003e's type hints\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ematplotlib.cm.colors\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.3.2] - 2025-08-07\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.cm\u003c/code\u003e's colormaps\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.3.1] - 2025-08-04\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd return type to \u003ccode\u003eplt.ylabel\u003c/code\u003e and \u003ccode\u003eplt.xlabel\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix/refine argument types for \u003ccode\u003eplt.savefig\u003c/code\u003e, \u003ccode\u003eplt.plot\u003c/code\u003e and \u003ccode\u003eplt.scatter\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/hoel-bagard/matplotlib-stubs/commit/59fdaf216331aa54996e5f1149e6ee096ca63557\"\u003e\u003ccode\u003e59fdaf2\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/b85c0f74cd4587d8f9ccdb0a65639981ca29bfaa\"\u003e\u003ccode\u003eb85c0f7\u003c/code\u003e\u003c/a\u003e feat: add type hints for show, tight_layout, bar, xticks and yticks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/8afc8f4122949daaa447febe9b715feaaa13da59\"\u003e\u003ccode\u003e8afc8f4\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/f9de850ed9f5662672ec663e2b88619b42d34e5a\"\u003e\u003ccode\u003ef9de850\u003c/code\u003e\u003c/a\u003e feat: add type hints to plt.loglog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/4ffefa652da3881b576823b003e695d8c4ad0dbe\"\u003e\u003ccode\u003e4ffefa6\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/e6a54149513cf96fab1c8e35ae1589a5106a46c2\"\u003e\u003ccode\u003ee6a5414\u003c/code\u003e\u003c/a\u003e fix: broken import\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/90b7235400fd1467a85ccf3ff06a5c068cd4e410\"\u003e\u003ccode\u003e90b7235\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/af0f45827cda237040c46dd126530a0971e41758\"\u003e\u003ccode\u003eaf0f458\u003c/code\u003e\u003c/a\u003e feat: add xlim and ylim overloads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/5d5ab771404092929deacaef66cc8efe625a4752\"\u003e\u003ccode\u003e5d5ab77\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/5f5a9e46f14de1072f07eb865af4d552a553672c\"\u003e\u003ccode\u003e5f5a9e4\u003c/code\u003e\u003c/a\u003e fix: add axhline kwargs type\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/compare/0.2.0...v0.3.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `networkx` from 3.4.2 to 3.6.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/networkx/networkx/releases\"\u003enetworkx's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eNetworkX 3.6.1\u003c/h2\u003e\n\u003ch1\u003enetworkx 3.6.1\u003c/h1\u003e\n\u003cp\u003eWe're happy to announce the release of networkx 3.6.1!\u003c/p\u003e\n\u003ch2\u003eAPI Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd spectral bipartition community finding and greedy bipartition using node swaps (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8347\"\u003e#8347\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNodelists for \u003ccode\u003efrom_biadjacency_matrix\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/7993\"\u003e#7993\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd spectral bipartition community finding and greedy bipartition using node swaps (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8347\"\u003e#8347\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix draw_networkx_nodes with list node_shape and add regression test (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8363\"\u003e#8363\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: allow graph subclasses to have additional arguments (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8369\"\u003e#8369\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDOC: Improve benchmarking readme (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8358\"\u003e#8358\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: More details re: RC releases in the release process devdocs (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8346\"\u003e#8346\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: clarify difference between G.nodes/G.nodes() and G.edges/G.edges() in tutorial (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8300\"\u003e#8300\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: Add blurb to contributor guide about drawing tests (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8370\"\u003e#8370\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: Fix underline lens in docstrings (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8371\"\u003e#8371\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRolling back shortest paths links (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8373\"\u003e#8373\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMaintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMAINT: Replace string literal with comment (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8359\"\u003e#8359\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 in the actions group (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8360\"\u003e#8360\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003epin python 3.14 to be version 3.14.0 until dataclasses are fixed (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8365\"\u003e#8365\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBlocklist Python 3.14.1 (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8372\"\u003e#8372\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTST: add tests for unsupported graph types in MST algorithms (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8353\"\u003e#8353\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eTST: clean up isomorphism tests (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8364\"\u003e#8364\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003e10 authors added to this release (alphabetically):\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Aka2210\"\u003e\u003ccode\u003e@​Aka2210\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jfinkels\"\u003e\u003ccode\u003e@​jfinkels\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaorTIRAM\"\u003e\u003ccode\u003e@​NaorTIRAM\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAditi Juneja (\u003ca href=\"https://github.com/Schefflera-Arboricola\"\u003e\u003ccode\u003e@​Schefflera-Arboricola\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAlejandro Candioti (\u003ca href=\"https://github.com/amcandio\"\u003e\u003ccode\u003e@​amcandio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eColman Bouton (\u003ca href=\"https://github.com/LorentzFactor\"\u003e\u003ccode\u003e@​LorentzFactor\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/7530809bfa1ea7ed6fdf918a4d1431488953cb1f\"\u003e\u003ccode\u003e7530809\u003c/code\u003e\u003c/a\u003e Designate 3.6.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/4788eb08f2492dd6bf6f97ce8ee07cd52aa6cf89\"\u003e\u003ccode\u003e4788eb0\u003c/code\u003e\u003c/a\u003e Rolling back shortest paths links (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8373\"\u003e#8373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/696edb6efbbbb622959e96f1276fc0db68dc0954\"\u003e\u003ccode\u003e696edb6\u003c/code\u003e\u003c/a\u003e Fix draw_networkx_nodes with list node_shape and add regression test  (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8363\"\u003e#8363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/c38830c61a6fee3ee10f216071bb63cb9b92bfb9\"\u003e\u003ccode\u003ec38830c\u003c/code\u003e\u003c/a\u003e Blocklist Python 3.14.1 (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8372\"\u003e#8372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/81d231141b08600ebfd1c781e28ecbf791e94016\"\u003e\u003ccode\u003e81d2311\u003c/code\u003e\u003c/a\u003e DOC: Fix underline lens in docstrings. (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8371\"\u003e#8371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/a6e2bfadef51dda47df6466b32642e0d428c5801\"\u003e\u003ccode\u003ea6e2bfa\u003c/code\u003e\u003c/a\u003e DOC: Add blurb to contributor guide about drawing tests. (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8370\"\u003e#8370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/96b628295eff29d266e1c75355556fc9fe58cc16\"\u003e\u003ccode\u003e96b6282\u003c/code\u003e\u003c/a\u003e DOC: clarify difference between G.nodes/G.nodes() and G.edges/G.edges() in tu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/75bdd737ca8382d06eb76ff9018a81870c9f3443\"\u003e\u003ccode\u003e75bdd73\u003c/code\u003e\u003c/a\u003e Fix: allow graph subclasses to have additional arguments (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8369\"\u003e#8369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/7663fa5e5fd73d6921410a18c7ac4116ffa04f4d\"\u003e\u003ccode\u003e7663fa5\u003c/code\u003e\u003c/a\u003e TST: clean up isomorphism tests (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8364\"\u003e#8364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/3dacd1bdcbd976b9e148a60ddebafd868c0a52f3\"\u003e\u003ccode\u003e3dacd1b\u003c/code\u003e\u003c/a\u003e Add spectral bipartition community finding and greedy bipartition using node ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/networkx/networkx/compare/networkx-3.4.2...networkx-3.6.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pandas-stubs` from 2.2.3.250308 to 2.3.3.260113\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/0cb16c482b2350047d51e5954e9d8bc5ff40f4d0\"\u003e\u003ccode\u003e0cb16c4\u003c/code\u003e\u003c/a\u003e Version 2.3.3.260113\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/bf9a74aa3092f59193f3ca26aae2d9e0c63a813f\"\u003e\u003ccode\u003ebf9a74a\u003c/code\u003e\u003c/a\u003e TYP: bump \u003ccode\u003ety\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas-stubs/issues/1630\"\u003e#1630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/db79b540b34c76ec5a710d366638d2b4949f5bc4\"\u003e\u003ccode\u003edb79b54\u003c/code\u003e\u003c/a\u003e TST: numeric arrays (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas-stubs/issues/1618\"\u003e#1618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/a0d8f9cedd7b1af11ad344b1717402425f403551\"\u003e\u003ccode\u003ea0d8f9c\u003c/code\u003e\u003c/a\u003e GH1614 Add more agg func methods for pivot_table (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas-stubs/issues/1623\"\u003e#1623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/2c83c1fca90b14b2439d3312494642d7c52fd45e\"\u003e\u003ccode\u003e2c83c1f\u003c/code\u003e\u003c/a\u003e BUG: regression on \u003ca href=\"https://redirect.github.com/pandas-dev/pandas-stubs/issues/1594\"\u003e#1594\u003c/a\u003e for nightly (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas-stubs/issues/1620\"\u003e#1620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/78fcc5b9da0aba3dda336624bf12f29b9b1214c4\"\u003e\u003ccode\u003e78fcc5b\u003c/code\u003e\u003c/a\u003e TYP: GH1614 Add more agg func methods for \u003ccode\u003epivot_table\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas-stubs/issues/1615\"\u003e#1615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/cf423fdf17933fbf546cb129e9fc4df08c780724\"\u003e\u003ccode\u003ecf423fd\u003c/code\u003e\u003c/a\u003e CLN: move tests for \u003ccode\u003eSeries.astype\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas-stubs/issues/1611\"\u003e#1611\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/0954c0db562e7e868b1839b4adcb2b049e9136e0\"\u003e\u003ccode\u003e0954c0d\u003c/code\u003e\u003c/a\u003e BUG: rename to \u003ccode\u003eNoDefaultDoNotUse\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas-stubs/issues/1616\"\u003e#1616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/b54625adb16fad269b0ea420436a95f24002e5c7\"\u003e\u003ccode\u003eb54625a\u003c/code\u003e\u003c/a\u003e TST: \u003ccode\u003exStringArray\u003c/code\u003e and \u003ccode\u003eNumpyExtensionArray\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas-stubs/issues/1594\"\u003e#1594\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/df2ebd03248496f309cfdb87719de3f659530eb7\"\u003e\u003ccode\u003edf2ebd0\u003c/code\u003e\u003c/a\u003e DEPR: \u003ccode\u003eravel\u003c/code\u003e in \u003ccode\u003eIndex\u003c/code\u003e and \u003ccode\u003eSeries\u003c/code\u003e \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/36900\"\u003epandas-dev/pandas#36900\u003c/a\u003e pandas-dev/pand...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandas-dev/pandas-stubs/compare/v2.2.3.250308...v2.3.3.260113\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prettytable` from 3.16.0 to 3.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettytable/prettytable/releases\"\u003eprettytable's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 3.17.0\u003c/h2...\n\n_Description has been truncated_","html_url":"https://github.com/sjwiesman/materialize/pull/469","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sjwiesman%2Fmaterialize/issues/469","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/469/packages"},{"uuid":"3784517827","node_id":"PR_kwDOEcrRgc67sGuz","number":4722,"state":"closed","title":"[Tech] Python - Bump the non-major-dependencies group across 1 directory with 22 updates","user":"dependabot[bot]","labels":["tech. enhancement","dependencies"],"assignees":["VincentAntoine"],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-01-06T17:08:23.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-06T09:54:16.000Z","updated_at":"2026-01-06T17:08:33.000Z","time_to_close":26047,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"[Tech] Python - Bump","group_name":"non-major-dependencies","update_count":22,"packages":[{"name":"pandas","old_version":"2.3.0","new_version":"2.3.3","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"black","old_version":"25.1.0","new_version":"25.12.0","repository_url":"https://github.com/psf/black"},{"name":"coverage","old_version":"7.9.1","new_version":"7.13.1","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"pre-commit","old_version":"4.2.0","new_version":"4.5.1","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"python-dotenv","old_version":"1.1.1","new_version":"1.2.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"scrapy","old_version":"2.13.2","new_version":"2.14.0","repository_url":"https://github.com/scrapy/scrapy"},{"name":"simplejson","old_version":"3.20.1","new_version":"3.20.2","repository_url":"https://github.com/simplejson/simplejson"},{"name":"geoalchemy2","old_version":"0.17.1","new_version":"0.18.1","repository_url":"https://github.com/geoalchemy/geoalchemy2"},{"name":"rtree","old_version":"1.4.0","new_version":"1.4.1","repository_url":"https://github.com/Toblerity/rtree"},{"name":"geopandas","old_version":"1.1.0","new_version":"1.1.2","repository_url":"https://github.com/geopandas/geopandas"},{"name":"css-inline","old_version":"0.14.6","new_version":"0.19.0","repository_url":"https://github.com/Stranger6667/css-inline"},{"name":"h3","old_version":"4.3.0","new_version":"4.4.1","repository_url":"https://github.com/uber/h3-py"},{"name":"clickhouse-connect","old_version":"0.8.17","new_version":"0.10.0","repository_url":"https://github.com/ClickHouse/clickhouse-connect"},{"name":"prefect","old_version":"3.4.7","new_version":"3.6.9","repository_url":"https://github.com/PrefectHQ/prefect"},{"name":"duckdb","old_version":"1.3.1","new_version":"1.4.3","repository_url":"https://github.com/duckdb/duckdb-python"},{"name":"plotly","old_version":"6.1.2","new_version":"6.5.0","repository_url":"https://github.com/plotly/plotly.py"},{"name":"xlsxwriter","old_version":"3.2.5","new_version":"3.2.9","repository_url":"https://github.com/jmcnamara/XlsxWriter"},{"name":"matplotlib","old_version":"3.10.3","new_version":"3.10.8","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"sphinx-intl","old_version":"2.3.1","new_version":"2.3.2","repository_url":"https://github.com/sphinx-doc/sphinx-intl"},{"name":"sphinx-autoapi","old_version":"3.6.0","new_version":"3.6.1","repository_url":"https://github.com/readthedocs/sphinx-autoapi"},{"name":"scikit-learn","old_version":"1.7.0","new_version":"1.8.0","repository_url":"https://github.com/scikit-learn/scikit-learn"},{"name":"ipywidgets","old_version":"8.1.7","new_version":"8.1.8","repository_url":"https://github.com/jupyter-widgets/ipywidgets"}],"path":null,"ecosystem":"pip"},"body":"[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nRebasing might not happen immediately, so don't worry if this takes some time.\n\nNote: if you make any changes to this PR yourself, they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nBumps the non-major-dependencies group with 22 updates in the /pipeline directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.0` | `2.3.3` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.12.0` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.9.1` | `7.13.1` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.2.0` | `4.5.1` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.1.1` | `1.2.1` |\n| [scrapy](https://github.com/scrapy/scrapy) | `2.13.2` | `2.14.0` |\n| [simplejson](https://github.com/simplejson/simplejson) | `3.20.1` | `3.20.2` |\n| [geoalchemy2](https://github.com/geoalchemy/geoalchemy2) | `0.17.1` | `0.18.1` |\n| [rtree](https://github.com/Toblerity/rtree) | `1.4.0` | `1.4.1` |\n| [geopandas](https://github.com/geopandas/geopandas) | `1.1.0` | `1.1.2` |\n| [css-inline](https://github.com/Stranger6667/css-inline) | `0.14.6` | `0.19.0` |\n| [h3](https://github.com/uber/h3-py) | `4.3.0` | `4.4.1` |\n| [clickhouse-connect](https://github.com/ClickHouse/clickhouse-connect) | `0.8.17` | `0.10.0` |\n| [prefect](https://github.com/PrefectHQ/prefect) | `3.4.7` | `3.6.9` |\n| [duckdb](https://github.com/duckdb/duckdb-python) | `1.3.1` | `1.4.3` |\n| [plotly](https://github.com/plotly/plotly.py) | `6.1.2` | `6.5.0` |\n| [xlsxwriter](https://github.com/jmcnamara/XlsxWriter) | `3.2.5` | `3.2.9` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.10.3` | `3.10.8` |\n| [sphinx-intl](https://github.com/sphinx-doc/sphinx-intl) | `2.3.1` | `2.3.2` |\n| [sphinx-autoapi](https://github.com/readthedocs/sphinx-autoapi) | `3.6.0` | `3.6.1` |\n| [scikit-learn](https://github.com/scikit-learn/scikit-learn) | `1.7.0` | `1.8.0` |\n| [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) | `8.1.7` | `8.1.8` |\n\n\nUpdates `pandas` from 2.3.0 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.3.0...v2.3.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `black` from 25.1.0 to 25.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/releases\"\u003eblack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.12.0\u003c/h2\u003e\n\u003cp\u003ePlease test out the draft 2026 style in version 26.1a1! This style will be finalized in\nthe January release (26.1.0). Most of the changes in \u003ccode\u003e--preview\u003c/code\u003e will be in the 2026\nstable style, but not all.\n\u003ca href=\"https://redirect.github.com/psf/black/issues/4042\"\u003ePlease share your feedback!\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis release (25.12.0) will still produce the 2025 style.\u003c/p\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBlack no longer supports running with Python 3.9 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4842\"\u003e#4842\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where comments preceding \u003ccode\u003e# fmt: off\u003c/code\u003e/\u003ccode\u003e# fmt: on\u003c/code\u003e blocks were incorrectly\nremoved, particularly affecting Jupytext's \u003ccode\u003e# %% [markdown]\u003c/code\u003e comments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4845\"\u003e#4845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when multiple \u003ccode\u003e# fmt: skip\u003c/code\u003e comments are used in a multi-part if-clause, on\nstring literals, or on dictionary entries with long lines (\u003ca href=\"https://redirect.github.com/psf/black/issues/4872\"\u003e#4872\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix possible crash when \u003ccode\u003efmt: \u003c/code\u003e directives aren't on the top level (\u003ca href=\"https://redirect.github.com/psf/black/issues/4856\"\u003e#4856\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003efmt: skip\u003c/code\u003e skipping the line after instead of the line it's on (\u003ca href=\"https://redirect.github.com/psf/black/issues/4855\"\u003e#4855\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unnecessary parentheses from the left-hand side of assignments while preserving\nmagic trailing commas and intentional multiline formatting (\u003ca href=\"https://redirect.github.com/psf/black/issues/4865\"\u003e#4865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003efix_fmt_skip_in_one_liners\u003c/code\u003e crashing on \u003ccode\u003ewith\u003c/code\u003e statements (\u003ca href=\"https://redirect.github.com/psf/black/issues/4853\"\u003e#4853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003efix_fmt_skip_in_one_liners\u003c/code\u003e crashing on annotated parameters (\u003ca href=\"https://redirect.github.com/psf/black/issues/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix new lines being added after imports with \u003ccode\u003e# fmt: skip\u003c/code\u003e on them (\u003ca href=\"https://redirect.github.com/psf/black/issues/4894\"\u003e#4894\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReleases now include arm64 Windows binaries and wheels (\u003ca href=\"https://redirect.github.com/psf/black/issues/4814\"\u003e#4814\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIntegrations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eoutput-file\u003c/code\u003e input to GitHub Action \u003ccode\u003epsf/black\u003c/code\u003e to write formatter output to a\nfile for artifact capture and log cleanliness (\u003ca href=\"https://redirect.github.com/psf/black/issues/4824\"\u003e#4824\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.12.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBlack no longer supports running with Python 3.9 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4842\"\u003e#4842\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where comments preceding \u003ccode\u003e# fmt: off\u003c/code\u003e/\u003ccode\u003e# fmt: on\u003c/code\u003e blocks were incorrectly\nremoved, particularly affecting Jupytext's \u003ccode\u003e# %% [markdown]\u003c/code\u003e comments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4845\"\u003e#4845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when multiple \u003ccode\u003e# fmt: skip\u003c/code\u003e comments are used in a multi-part if-clause, on\nstring literals, or on dictionary entries with long lines (\u003ca href=\"https://redirect.github.com/psf/black/issues/4872\"\u003e#4872\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix possible crash when \u003ccode\u003efmt: \u003c/code\u003e directives aren't on the top level (\u003ca href=\"https://redirect.github.com/psf/black/issues/4856\"\u003e#4856\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003efmt: skip\u003c/code\u003e skipping the line after instead of the line it's on (\u003ca href=\"https://redirect.github.com/psf/black/issues/4855\"\u003e#4855\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unnecessary parentheses from the left-hand side of assignments while preserving\nmagic trailing commas and intentional multiline formatting (\u003ca href=\"https://redirect.github.com/psf/black/issues/4865\"\u003e#4865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003efix_fmt_skip_in_one_liners\u003c/code\u003e crashing on \u003ccode\u003ewith\u003c/code\u003e statements (\u003ca href=\"https://redirect.github.com/psf/black/issues/4853\"\u003e#4853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003efix_fmt_skip_in_one_liners\u003c/code\u003e crashing on annotated parameters (\u003ca href=\"https://redirect.github.com/psf/black/issues/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix new lines being added after imports with \u003ccode\u003e# fmt: skip\u003c/code\u003e on them (\u003ca href=\"https://redirect.github.com/psf/black/issues/4894\"\u003e#4894\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReleases now include arm64 Windows binaries and wheels (\u003ca href=\"https://redirect.github.com/psf/black/issues/4814\"\u003e#4814\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIntegrations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eoutput-file\u003c/code\u003e input to GitHub Action \u003ccode\u003epsf/black\u003c/code\u003e to write formatter output to a\nfile for artifact capture and log cleanliness (\u003ca href=\"https://redirect.github.com/psf/black/issues/4824\"\u003e#4824\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\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\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/782e5605c86aab56be6f905da10dcd3e463fd9c2\"\u003e\u003ccode\u003e782e560\u003c/code\u003e\u003c/a\u003e Pin actions/checkout@v5.0.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4895\"\u003e#4895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/f0f40945c1b0ebaa9ca733aca517610574c451d6\"\u003e\u003ccode\u003ef0f4094\u003c/code\u003e\u003c/a\u003e Fix new lines being added after imports with \u003ccode\u003e# fmt: skip\u003c/code\u003e on them (\u003ca href=\"https://redirect.github.com/psf/black/issues/4894\"\u003e#4894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/70fc194172184861aafb418c124824cae0fbe3b0\"\u003e\u003ccode\u003e70fc194\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Fix \u003ccode\u003e# fmt: skip\u003c/code\u003e ignored in deeply nested expressions\u0026quot; (\u003ca href=\"https://redirect.github.com/psf/black/issues/4893\"\u003e#4893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/7044b145f4826e0d6e07178d89666856a8e37aff\"\u003e\u003ccode\u003e7044b14\u003c/code\u003e\u003c/a\u003e Prepare 25.12.0 release (\u003ca href=\"https://redirect.github.com/psf/black/issues/4891\"\u003e#4891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/5b470f0e577f3c39e0f7d668934d587c0733a652\"\u003e\u003ccode\u003e5b470f0\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003e# fmt: skip\u003c/code\u003e ignored in deeply nested expressions (\u003ca href=\"https://redirect.github.com/psf/black/issues/4883\"\u003e#4883\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/1b342ef5b0433fc1ed61a7e05a65744bef706fc9\"\u003e\u003ccode\u003e1b342ef\u003c/code\u003e\u003c/a\u003e Fix crash when multiple \u003ccode\u003e# fmt: skip\u003c/code\u003e comments are used in multi-part if-clau...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/7b265f16634155dafcca65f6122ef7ed8d14a67f\"\u003e\u003ccode\u003e7b265f1\u003c/code\u003e\u003c/a\u003e Pin Hatch to hopefully fix Docker builds (\u003ca href=\"https://redirect.github.com/psf/black/issues/4878\"\u003e#4878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c9523f463fdc9d9f9f0e61ca92d9b37acdf0d8fc\"\u003e\u003ccode\u003ec9523f4\u003c/code\u003e\u003c/a\u003e Attempt to fix Docker build failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4876\"\u003e#4876\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/0f376e0c35bcb29f87ce18eace30333a3e105841\"\u003e\u003ccode\u003e0f376e0\u003c/code\u003e\u003c/a\u003e Fix crashes when fmt directives are indented (\u003ca href=\"https://redirect.github.com/psf/black/issues/4856\"\u003e#4856\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/a8bfcc1040fdfce2e02cdd85dc8bf4e7abe0462f\"\u003e\u003ccode\u003ea8bfcc1\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003efmt: skip\u003c/code\u003e skipping the line after instead of the line it's on (\u003ca href=\"https://redirect.github.com/psf/black/issues/4855\"\u003e#4855\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/25.1.0...25.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `coverage` from 7.9.1 to 7.13.1\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.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\n.. _issue 2105: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2105\"\u003ecoveragepy/coveragepy#2105\u003c/a\u003e\n.. _issue 2109: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2109\"\u003ecoveragepy/coveragepy#2109\u003c/a\u003e\n.. _issue 2110: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2110\"\u003ecoveragepy/coveragepy#2110\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-13-0:\u003c/p\u003e\n\u003ch2\u003eVersion 7.13.0 — 2025-12-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature: coverage.py now supports :file:\u003ccode\u003e.coveragerc.toml\u003c/code\u003e configuration\nfiles. These files use TOML syntax and take priority over\n:file:\u003ccode\u003epyproject.toml\u003c/code\u003e but lower priority than :file:\u003ccode\u003e.coveragerc\u003c/code\u003e files.\nCloses \u003ccode\u003eissue 1643\u003c/code\u003e_ thanks to \u003ccode\u003eOlena Yefymenko \u0026lt;pull 1952_\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: we now include a permanent .pth file which is installed with the code,\nfixing \u003ccode\u003eissue 2084\u003c/code\u003e_.  In 7.12.1b1 this was done incorrectly: it didn't work\nwhen using the source wheel (\u003ccode\u003epy3-none-any\u003c/code\u003e).  This is now fixed. Thanks,\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/a6afdc36332d797fb4f4262fc9ff2b2da5bb99c8\"\u003e\u003ccode\u003ea6afdc3\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/a497081b6759957a1c52957fdbb34848e0d46276\"\u003e\u003ccode\u003ea497081\u003c/code\u003e\u003c/a\u003e docs: prep for 7.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/e9920336e5118a7a7002b1eb606400cd3be640b2\"\u003e\u003ccode\u003ee992033\u003c/code\u003e\u003c/a\u003e docs: polish up CHANGES\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/18bba6e60958d5c825a93882b8997f2cfc6ecfe3\"\u003e\u003ccode\u003e18bba6e\u003c/code\u003e\u003c/a\u003e chore: bump the action-dependencies group with 4 updates (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2111\"\u003e#2111\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/80fb80826f3bd8953018d4a4a134a7fc42643784\"\u003e\u003ccode\u003e80fb808\u003c/code\u003e\u003c/a\u003e refactor: (?x:...) lets us use re.VERBOSE even when combining later\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/cc272bdc050308328e3ee64800b5e298468260c8\"\u003e\u003ccode\u003ecc272bd\u003c/code\u003e\u003c/a\u003e docs: leave a comment so we'll find this when 3.12 is the minimum\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/70d007d160d40b40de1bae89ad2856c2191c1c94\"\u003e\u003ccode\u003e70d007d\u003c/code\u003e\u003c/a\u003e types: be explicit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/a2c1940fd2eae103c2366859d75cb7de195a0439\"\u003e\u003ccode\u003ea2c1940\u003c/code\u003e\u003c/a\u003e types: fully import modules that will be patched\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/57b975d3b8e069364525b2e8d5a88b7fbc0e8b93\"\u003e\u003ccode\u003e57b975d\u003c/code\u003e\u003c/a\u003e types: explicit Protocol inheritance permits changing parameter names\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/63ec12d7c87748e7a03ea2eb6240edeaffc7ccde\"\u003e\u003ccode\u003e63ec12d\u003c/code\u003e\u003c/a\u003e types: clarify that morfs arguments can be a single morf\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coveragepy/coveragepy/compare/7.9.1...7.13.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.2.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\u003ch2\u003epre-commit v4.3.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003elanguage: docker\u003c/code\u003e / \u003ccode\u003elanguage: docker_image\u003c/code\u003e: detect rootless docker.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3446\"\u003e#3446\u003c/a\u003e PR by \u003ca href=\"https://github.com/matthewhughes934\"\u003e\u003ccode\u003e@​matthewhughes934\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/1243\"\u003e#1243\u003c/a\u003e issue by \u003ca href=\"https://github.com/dkolepp\"\u003e\u003ccode\u003e@​dkolepp\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage: julia\u003c/code\u003e: avoid \u003ccode\u003estartup.jl\u003c/code\u003e when executing hooks.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3496\"\u003e#3496\u003c/a\u003e PR by \u003ca href=\"https://github.com/ericphanson\"\u003e\u003ccode\u003e@​ericphanson\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage: dart\u003c/code\u003e: support latest dart versions which require a higher sdk\nlower bound.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3507\"\u003e#3507\u003c/a\u003e PR by \u003ca href=\"https://github.com/bc-lee\"\u003e\u003ccode\u003e@​bc-lee\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\u003ch1\u003e4.3.0 - 2025-08-09\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003elanguage: docker\u003c/code\u003e / \u003ccode\u003elanguage: docker_image\u003c/code\u003e: detect rootless docker.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3446\"\u003e#3446\u003c/a\u003e PR by \u003ca href=\"https://github.com/matthewhughes934\"\u003e\u003ccode\u003e@​matthewhughes934\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/1243\"\u003e#1243\u003c/a\u003e issue by \u003ca href=\"https://github.com/dkolepp\"\u003e\u003ccode\u003e@​dkolepp\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage: julia\u003c/code\u003e: avoid \u003ccode\u003estartup.jl\u003c/code\u003e when executing hooks.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3496\"\u003e#3496\u003c/a\u003e PR by \u003ca href=\"https://github.com/ericphanson\"\u003e\u003ccode\u003e@​ericphanson\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage: dart\u003c/code\u003e: support latest dart versions which require a higher sdk\nlower bound.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3507\"\u003e#3507\u003c/a\u003e PR by \u003ca href=\"https://github.com/bc-lee\"\u003e\u003ccode\u003e@​bc-lee\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.2.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 `python-dotenv` from 1.1.1 to 1.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/releases\"\u003epython-dotenv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport reading .env from FIFOs (Unix) by \u003ca href=\"https://github.com/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/586\"\u003etheskumar/python-dotenv#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CI to use trusted publishing on PyPI\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/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/586\"\u003etheskumar/python-dotenv#586\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.0...v1.2.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.0...v1.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: upgrade to use ruff by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/567\"\u003etheskumar/python-dotenv#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse sys.exit() instead of exit() by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/568\"\u003etheskumar/python-dotenv#568\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat:  add \u003ccode\u003ePYTHON_DOTENV_DISABLED\u003c/code\u003e flag to disable load_dotenv (fixes \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/510\"\u003e#510\u003c/a\u003e) by \u003ca href=\"https://github.com/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Python@3.14: Github CI \u0026amp; tox.ini by \u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eocs: clarify what load_dotenv() does in README by \u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group across 1 directory with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/577\"\u003etheskumar/python-dotenv#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove project metadata and config to pyproject.toml by \u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/583\"\u003etheskumar/python-dotenv#583\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/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/583\"\u003etheskumar/python-dotenv#583\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.0\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.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/theskumar/python-dotenv/blob/main/CHANGELOG.md\"\u003epython-dotenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.2.1] - 2025-10-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMove more config to \u003ccode\u003epyproject.toml\u003c/code\u003e, removed \u003ccode\u003esetup.cfg\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for reading \u003ccode\u003e.env\u003c/code\u003e from FIFOs (Unix) by [\u003ca href=\"https://github.com/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/586\"\u003e#586\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.2.0] - 2025-10-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade build system to use PEP 517 \u0026amp; PEP 518 to use \u003ccode\u003ebuild\u003c/code\u003e and \u003ccode\u003epyproject.toml\u003c/code\u003e by [\u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/583\"\u003e#583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.14 by [\u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/563\"\u003e#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for disabling of \u003ccode\u003eload_dotenv()\u003c/code\u003e using \u003ccode\u003ePYTHON_DOTENV_DISABLED\u003c/code\u003e env var. by [\u003ca href=\"https://github.com/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/569\"\u003e#569\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/theskumar/python-dotenv/commit/eaf2a9129ccec6febda0f741eb3bb852c3f947bd\"\u003e\u003ccode\u003eeaf2a91\u003c/code\u003e\u003c/a\u003e Do not remove .coverage file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/8716196891532eeb67d24a513e8d975437f5e8b7\"\u003e\u003ccode\u003e8716196\u003c/code\u003e\u003c/a\u003e Bump version: 1.2.0 → 1.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/b87807fcad6e74332c3c63a75c92ce5814fa7a55\"\u003e\u003ccode\u003eb87807f\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/3af77d3029eb717aeec0a3c25f751b6a614a6d3c\"\u003e\u003ccode\u003e3af77d3\u003c/code\u003e\u003c/a\u003e Support reading .env from FIFOs (Unix) (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/586\"\u003e#586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/467ee22fccb2fb7ccda71a0d9e37c6ea3cb8d993\"\u003e\u003ccode\u003e467ee22\u003c/code\u003e\u003c/a\u003e Fix test failures after moving config to pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/76999e741d87e958ebd74e3ae9834c0514e77a59\"\u003e\u003ccode\u003e76999e7\u003c/code\u003e\u003c/a\u003e Move more config pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/222ce2cc58ebc82ba78da8781269267b9f585932\"\u003e\u003ccode\u003e222ce2c\u003c/code\u003e\u003c/a\u003e Update to use trusted publisher on pypi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/8ed4f79d202eba582b44bdf1f5deb726dd68783d\"\u003e\u003ccode\u003e8ed4f79\u003c/code\u003e\u003c/a\u003e Update docs requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/5bf882241c607445bf02cf5b241535d62e2b99c1\"\u003e\u003ccode\u003e5bf8822\u003c/code\u003e\u003c/a\u003e Bump version: 1.1.1 → 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/1fe11cc737ee4399e9c51d1b69b0dd858f6b4669\"\u003e\u003ccode\u003e1fe11cc\u003c/code\u003e\u003c/a\u003e upadate changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `scrapy` from 2.13.2 to 2.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scrapy/scrapy/releases\"\u003escrapy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.14.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMore coroutine-based replacements for Deferred-based APIs\u003c/li\u003e\n\u003cli\u003eThe default priority queue is now \u003ccode\u003eDownloaderAwarePriorityQueue\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.9 and PyPy 3.10\u003c/li\u003e\n\u003cli\u003eImproved and documented the API for custom download handlers\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.scrapy.org/en/latest/news.html#scrapy-2-14-0-2026-01-05\"\u003eFull changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.13.4\u003c/h2\u003e\n\u003cp\u003eFix for the \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2025-6176\"\u003eCVE-2025-6176\u003c/a\u003e security issue: improved protection against decompression bombs in \u003ccode\u003eHttpCompressionMiddleware\u003c/code\u003e for responses compressed using the \u003ccode\u003ebr\u003c/code\u003e and \u003ccode\u003edeflate\u003c/code\u003e methods. Requires \u003ccode\u003ebrotli \u0026gt;= 1.2.0\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://docs.scrapy.org/en/latest/news.html#scrapy-2-13-4-2025-11-17\"\u003eFull changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.13.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChanged the values for \u003ccode\u003eDOWNLOAD_DELAY\u003c/code\u003e (from \u003ccode\u003e0\u003c/code\u003e to \u003ccode\u003e1\u003c/code\u003e) and \u003ccode\u003eCONCURRENT_REQUESTS_PER_DOMAIN\u003c/code\u003e (from \u003ccode\u003e8\u003c/code\u003e to \u003ccode\u003e1\u003c/code\u003e) in the default project template.\u003c/li\u003e\n\u003cli\u003eFixed several bugs in the engine initialization and exception handling logic.\u003c/li\u003e\n\u003cli\u003eAllowed running tests with Twisted 25.5.0+ again and fixed test failures with lxml 6.0.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.scrapy.org/en/2.13/news.html#scrapy-2-13-3-2025-07-02\"\u003eSee the full changelog\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/scrapy/scrapy/blob/master/docs/news.rst\"\u003escrapy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eScrapy 2.14.0 (2026-01-05)\u003c/h2\u003e\n\u003cp\u003eHighlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMore coroutine-based replacements for Deferred-based APIs\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe default priority queue is now \u003ccode\u003eDownloaderAwarePriorityQueue\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDropped support for Python 3.9 and PyPy 3.10\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImproved and documented the API for custom download handlers\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eModified requirements\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n-   Dropped support for Python 3.9.\n    (:issue:`7121`)\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDropped support for PyPy 3.10.\u003cbr /\u003e\n(:issue:\u003ccode\u003e7050\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIncreased the minimum versions of the following dependencies:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003elxml_: 4.6.0 → 4.6.4\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePillow_ (optional dependency): 8.0.0 → 8.3.2\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ebotocore_ (optional dependency): 1.4.87 → 1.13.45\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRestored support for \u003ccode\u003ebrotlicffi\u003c/code\u003e dropped in Scrapy 2.13.4. Its minimum\u003cbr /\u003e\nsupported version is now \u003ccode\u003e1.2.0.0\u003c/code\u003e.\u003cbr /\u003e\n(:issue:\u003ccode\u003e7160\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBackward-incompatible changes\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eIf you set the :setting:\u003ccode\u003eTWISTED_REACTOR\u003c/code\u003e setting to a :ref:\u003ccode\u003enon-asyncio value \u0026lt;disable-asyncio\u0026gt;\u003c/code\u003e at the :ref:\u003ccode\u003espider level \u0026lt;spider-settings\u0026gt;\u003c/code\u003e, you\nmay now need to set the :setting:\u003ccode\u003eFORCE_CRAWLER_PROCESS\u003c/code\u003e setting to\n\u003ccode\u003eTrue\u003c/code\u003e when running Scrapy via :ref:\u003ccode\u003eits command-line tool \u0026lt;topics-commands-crawlerprocess\u0026gt;\u003c/code\u003e to avoid a reactor mismatch exception.\n(:issue:\u003ccode\u003e6845\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003elog_count/*\u003c/code\u003e stats no longer count some of the early messages that\nthey counted before. While the earliest log messages, emitted before the\ncounter is initialized, were never counted, the counter initialization now\nhappens later than in previous Scrapy versions. You may need to adjust\nexpected values if you retrieve and compare values of these stats in your\ncode.\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/scrapy/scrapy/commit/3ac1192f35fc32d01c69c929eed85601fb0405e8\"\u003e\u003ccode\u003e3ac1192\u003c/code\u003e\u003c/a\u003e Bump version: 2.13.4 → 2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scrapy/scrapy/commit/7bef98b4f14a29f8f760a67c21edf6a6bee4dad0\"\u003e\u003ccode\u003e7bef98b\u003c/code\u003e\u003c/a\u003e Release notes for 2.14.0 (\u003ca href=\"https://redirect.github.com/scrapy/scrapy/issues/7035\"\u003e#7035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scrapy/scrapy/commit/d1bd8eb49f7aba9289e4ff692006cead8bcd9080\"\u003e\u003ccode\u003ed1bd8eb\u003c/code\u003e\u003c/a\u003e Async API for download handlers. (\u003ca href=\"https://redirect.github.com/scrapy/scrapy/issues/7164\"\u003e#7164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scrapy/scrapy/commit/a2463325db2fd128e27da45d6ee36e21126c1bf5\"\u003e\u003ccode\u003ea246332\u003c/code\u003e\u003c/a\u003e Allow Crawler.crawl_async() without asyncio. (\u003ca href=\"https://redirect.github.com/scrapy/scrapy/issues/7202\"\u003e#7202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scrapy/scrapy/commit/9381ad893dfea0e8dac73fc78cb609b6017bde9a\"\u003e\u003ccode\u003e9381ad8\u003c/code\u003e\u003c/a\u003e Remove outdated version marker directives (\u0026lt; 2.8.0) from documentation (\u003ca href=\"https://redirect.github.com/scrapy/scrapy/issues/7198\"\u003e#7198\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scrapy/scrapy/commit/180ca39b230590a2a2862c8d18c574661b1d16ad\"\u003e\u003ccode\u003e180ca39\u003c/code\u003e\u003c/a\u003e Deprecate returning Deferreds from pipeline methods (\u003ca href=\"https://redirect.github.com/scrapy/scrapy/issues/7179\"\u003e#7179\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scrapy/scrapy/commit/5a7e132486f3337956f684fffcac77cb6ad5a8d2\"\u003e\u003ccode\u003e5a7e132\u003c/code\u003e\u003c/a\u003e Restore and deprecate the spider arg of Downloader._get_slot(). (\u003ca href=\"https://redirect.github.com/scrapy/scrapy/issues/7178\"\u003e#7178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scrapy/scrapy/commit/c49ae2115afd05afd7d0175f392e262e01b2779e\"\u003e\u003ccode\u003ec49ae21\u003c/code\u003e\u003c/a\u003e Refactor MediaPipeline.process_item() to async def (\u003ca href=\"https://redirect.github.com/scrapy/scrapy/issues/7177\"\u003e#7177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scrapy/scrapy/commit/588f3d4f65e292424d227e8a0498bcba2d395781\"\u003e\u003ccode\u003e588f3d4\u003c/code\u003e\u003c/a\u003e Remove docs mentioning deprecated spider attrs. (\u003ca href=\"https://redirect.github.com/scrapy/scrapy/issues/7176\"\u003e#7176\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scrapy/scrapy/commit/d8583a89c7f9d5a444ef48039af1101c0cbfcef8\"\u003e\u003ccode\u003ed8583a8\u003c/code\u003e\u003c/a\u003e Change default priority queue to DownloaderAwarePriorityQueue (\u003ca href=\"https://redirect.github.com/scrapy/scrapy/issues/6940\"\u003e#6940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/scrapy/scrapy/compare/2.13.2...2.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `simplejson` from 3.20.1 to 3.20.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/simplejson/simplejson/releases\"\u003esimplejson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.20.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a test for the min and max floats by \u003ca href=\"https://github.com/etrepum\"\u003e\u003ccode\u003e@​etrepum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/337\"\u003esimplejson/simplejson#337\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDisable speedups on GraalPy same as on PyPy by \u003ca href=\"https://github.com/timfel\"\u003e\u003ccode\u003e@​timfel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/339\"\u003esimplejson/simplejson#339\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate changelog and version for v3.20.2 by \u003ca href=\"https://github.com/etrepum\"\u003e\u003ccode\u003e@​etrepum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/340\"\u003esimplejson/simplejson#340\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/timfel\"\u003e\u003ccode\u003e@​timfel\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/339\"\u003esimplejson/simplejson#339\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/simplejson/simplejson/compare/v3.20.1...v3.20.2\"\u003ehttps://github.com/simplejson/simplejson/compare/v3.20.1...v3.20.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/simplejson/simplejson/blob/master/CHANGES.txt\"\u003esimplejson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eVersion 3.20.2 released 2025-09-24\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDisable speedups on GraalPy smae as on PyPy\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/339\"\u003esimplejson/simplejson#339\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 3.20.1 released 2025-02-14\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDo not memoize keys before they are coerced to string\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/329\"\u003esimplejson/simplejson#329\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 3.19.3 released 2024-08-14\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated test \u0026amp; build matrix to include Python 3.13.\nDropped wheel support for Python 2.7 on macOS.\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/326\"\u003esimplejson/simplejson#326\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 3.19.2 released 2023-10-05\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated test \u0026amp; build matrix to include Python 3.12 and use\nGitHub Actions as a Trusted Publisher (OIDC)\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/317\"\u003esimplejson/simplejson#317\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 3.19.1 released 2023-04-06\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThis release contains security hardening measures based on recommendations\nby a security audit sponsored by OSTIF and conducted by X41 D-Sec GmbH.\nSeveral of these measures include changing defaults to be more strict,\nby default simplejson will now only consume and produce compliant JSON,\nbut the flags still exist for any backwards compatibility needs.\nNo high priority issues were discovered, the reference count\nleak is thought to be unreachable since the digits of the float are\nchecked before PyOS_string_to_double is called.\nA link to the public version of this report will be included in a\nfuture release of simplejson. The following fixes were implemented in\none PR: \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/313\"\u003esimplejson/simplejson#313\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix invalid handling of unicode escape sequences in the pure Python\nimplementation of the decoder (SJ-PT-23-01)\u003c/li\u003e\n\u003cli\u003eFix missing reference count decrease if PyOS_string_to_double raises\nan exception in Python 2.x; was probably unreachable (SJ-PT-23-02)\u003c/li\u003e\n\u003cli\u003eBackport the integer string length limitation from Python 3.11 to\nlimit quadratic number parsing (SJ-PT-23-03)\u003c/li\u003e\n\u003cli\u003eFix inconsistencies with error messages between the C and Python\nimplementations (SJ-PT-23-100)\u003c/li\u003e\n\u003cli\u003eRemove unused unichr import from encoder (SJ-PT-23-101)\u003c/li\u003e\n\u003cli\u003eRemove unused namedtuple_as_object and tuple_as_array arguments from\nsimplejson.load (SJ-PT-23-102)\u003c/li\u003e\n\u003cli\u003eRemove vestigial _one_shot code from iterencode (SJ-PT-23-103)\u003c/li\u003e\n\u003cli\u003eChange default of allow_nan from True to False and add allow_nan\nto decoder (SJ-PT-23-107)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/10e5aaffd4823faf5dedcea8bc43ce2c82c5ca4c\"\u003e\u003ccode\u003e10e5aaf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/340\"\u003e#340\u003c/a\u003e from simplejson/changes-v3.20.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/39ba9df4cbbb3845ee0c778ba646a94777ccf7e5\"\u003e\u003ccode\u003e39ba9df\u003c/code\u003e\u003c/a\u003e Update changelog and version for v3.20.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/5f9f96fe83fb33d371d35d99ae028a8e7c0f574f\"\u003e\u003ccode\u003e5f9f96f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/339\"\u003e#339\u003c/a\u003e from timfel/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/feb07a3f18a0c5672af154fbc8bb4e39a638242d\"\u003e\u003ccode\u003efeb07a3\u003c/code\u003e\u003c/a\u003e Test pure Python code, also on PyPy and GraalPy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/ae69b83218dd1e250b3e2158f924ab6b7b9ea75d\"\u003e\u003ccode\u003eae69b83\u003c/code\u003e\u003c/a\u003e Disable speedups on GraalPy same as on PyPy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/fd905ba3d7fe7bc8acc6f797f17145234cd65df9\"\u003e\u003ccode\u003efd905ba\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/337\"\u003e#337\u003c/a\u003e from simplejson/float-range\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/92c0230c6038a1a7b4736c7d63c28b44eb76f256\"\u003e\u003ccode\u003e92c0230\u003c/code\u003e\u003c/a\u003e Add a test for the min and max floats\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/simplejson/simplejson/compare/v3.20.1...v3.20.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `geoalchemy2` from 0.17.1 to 0.18.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/geoalchemy/geoalchemy2/releases\"\u003egeoalchemy2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.18.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix (mysql): Fix failing test for MySQL dialect by \u003ca href=\"https://github.com/google-labs-jules\"\u003e\u003ccode\u003e@​google-labs-jules\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/567\"\u003egeoalchemy/geoalchemy2#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/570\"\u003egeoalchemy/geoalchemy2#570\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Allow scientific notation within WKT string by \u003ca href=\"https://github.com/autermann\"\u003e\u003ccode\u003e@​autermann\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/573\"\u003egeoalchemy/geoalchemy2#573\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease: 0.18.1 by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/574\"\u003egeoalchemy/geoalchemy2#574\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/google-labs-jules\"\u003e\u003ccode\u003e@​google-labs-jules\u003c/code\u003e\u003c/a\u003e[bot] made their first contribution in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/567\"\u003egeoalchemy/geoalchemy2#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/autermann\"\u003e\u003ccode\u003e@​autermann\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/573\"\u003egeoalchemy/geoalchemy2#573\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/geoalchemy/geoalchemy2/compare/0.18.0...0.18.1\"\u003ehttps://github.com/geoalchemy/geoalchemy2/compare/0.18.0...0.18.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.18.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBuild: Deprecate Py\u0026lt;3.10 by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/538\"\u003egeoalchemy/geoalchemy2#538\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeat: Add more return types for spatial functions and update some typehints by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/540\"\u003egeoalchemy/geoalchemy2#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCompile literal binds by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/543\"\u003egeoalchemy/geoalchemy2#543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeat: Improve Geometry initializer to make the dimension optional by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/544\"\u003egeoalchemy/geoalchemy2#544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore (mariadb): Stop converting WKB to WKT by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/545\"\u003egeoalchemy/geoalchemy2#545\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs: Update doc to run the tests inside docker containers by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/546\"\u003egeoalchemy/geoalchemy2#546\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest: Add benchmark tests by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/547\"\u003egeoalchemy/geoalchemy2#547\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest: Add more benchmarks by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/553\"\u003egeoalchemy/geoalchemy2#553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore: Create FUNDING.yml by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/554\"\u003egeoalchemy/geoalchemy2#554\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest: Improve readbility of benchmark results by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/556\"\u003egeoalchemy/geoalchemy2#556\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePerf: Define \u003cstrong\u003eslots\u003c/strong\u003e in element classes to reduce memory usage of elements by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/555\"\u003egeoalchemy/geoalchemy2#555\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeat: Handle computed columns by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/557\"\u003egeoalchemy/geoalchemy2#557\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Remove warning message from MySQL/MariaDB reflection by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/560\"\u003egeoalchemy/geoalchemy2#560\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore: Move reflection type registering by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/561\"\u003egeoalchemy/geoalchemy2#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs: correct doc strings by \u003ca href=\"https://github.com/pjonsson\"\u003e\u003ccode\u003e@​pjonsson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/562\"\u003egeoalchemy/geoalchemy2#562\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeat: Add support of spatial indexes for Raster type for PostgreSQL by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/564\"\u003egeoalchemy/geoalchemy2#564\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease: 0.18.0 by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/565\"\u003egeoalchemy/geoalchemy2#565\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/pjonsson\"\u003e\u003ccode\u003e@​pjonsson\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/562\"\u003egeoalchemy/geoalchemy2#562\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/geoalchemy/geoalchemy2/compare/0.17.1...0.18.0\"\u003ehttps://github.com/geoalchemy/geoalchemy2/compare/0.17.1...0.18.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/geoalchemy/geoalchemy2/blob/master/CHANGES.txt\"\u003egeoalchemy2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.18.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Allow scientific notation within WKT string - \u003ca href=\"https://github.com/autermann\"\u003e\u003ccode\u003e@​autermann\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix (mysql): Fix failing test for MySQL dialect - \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.18.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeat: Add support of spatial indexes for Raster type for PostgreSQL \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocs: Fix doc strings for cache enabled - \u003ca href=\"https://github.com/pjonsson\"\u003e\u003ccode\u003e@​pjonsson\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/562\"\u003e#562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore: Move reflection type registering \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e(papacodebear/master) Fix: Remove warning from MySQL/MariaDB reflection \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/560\"\u003e#560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat: Handle computed columns \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/557\"\u003e#557\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest: Improve readability of benchmark results \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/556\"\u003e#556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePerf: Define \u003cstrong\u003eslots\u003c/strong\u003e in element classes to reduce memory usage of elements \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/555\"\u003e#555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore: Create FUNDING.yml \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/554\"\u003e#554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest: Add more benchmarks \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/553\"\u003e#553\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest: Add benchmark tests \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/547\"\u003e#547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocs: Update doc to run the tests inside docker container \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/546\"\u003e#546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePerf (mariadb): Stop converting WKB to WKT \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/545\"\u003e#545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat: Improve Geometry initializer to make the dimension optional \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/544\"\u003e#544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat: Compile literal binds properly \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/543\"\u003e#543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat: Add more return types for spatial functions and update some typehints \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/540\"\u003e#540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBuild: Deprecate Py\u0026lt;3.10 \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/538\"\u003e#538\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/geoalchemy/geoalchemy2/commit/0c311122e5228a885e262d8f79b037cb74c0949b\"\u003e\u003ccode\u003e0c31112\u003c/code\u003e\u003c/a\u003e Release: 0.18.1 (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/574\"\u003e#574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/75f87fac699ed31579ef93dffc59cc25bda241a8\"\u003e\u003ccode\u003e75f87fa\u003c/code\u003e\u003c/a\u003e Fix: Allow scientific notation within WKT string (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/8653df3a1b0236556f1c39c916f0fb717475a6d1\"\u003e\u003ccode\u003e8653df3\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/570\"\u003e#570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/3d6099504023afda68137f0ac2d041986159dac9\"\u003e\u003ccode\u003e3d60995\u003c/code\u003e\u003c/a\u003e Fix (mysql): Fix failing test for MySQL dialect (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/60767082df9f4587fadd56ab94847ebc39df8295\"\u003e\u003ccode\u003e6076708\u003c/code\u003e\u003c/a\u003e Release: 0.18.0 (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/565\"\u003e#565\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/e13112177bdf79cae0d72a6e89d815dc272e3dc5\"\u003e\u003ccode\u003ee131121\u003c/code\u003e\u003c/a\u003e Feat: Add support of spatial indexes for Raster type for PostgreSQL (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/0b432086a0c3b8ab160c5cc1864aa65e02f35362\"\u003e\u003ccode\u003e0b43208\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/563\"\u003e#563\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/8791b2eec013f21f599ca060d9fee4aba72ec2a1\"\u003e\u003ccode\u003e8791b2e\u003c/code\u003e\u003c/a\u003e Docs: Fix doc strings for cache enabled (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/562\"\u003e#562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/d3c1d04c8b462c61132403e44a7a4f04a487c142\"\u003e\u003ccode\u003ed3c1d04\u003c/code\u003e\u003c/a\u003e Chore: Move reflection type registering (\u003ca href=\"https://redirect.github...\n\n_Description has been truncated_","html_url":"https://github.com/MTES-MCT/monitorfish/pull/4722","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MTES-MCT%2Fmonitorfish/issues/4722","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4722/packages"},{"uuid":"3774973552","node_id":"PR_kwDOATzq8M67N5FM","number":3721,"state":"open","title":"Bump the pip group across 1 directory with 31 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-01-01T18:03:29.000Z","updated_at":"2026-02-01T20:00:18.573Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"pip","update_count":31,"packages":[{"name":"beautifulsoup4","old_version":"4.13.4","new_version":"4.14.3"},{"name":"biopython","old_version":"1.85","new_version":"1.86","repository_url":"https://github.com/biopython/biopython"},{"name":"bokeh","old_version":"3.6.2","new_version":"3.8.1","repository_url":"https://github.com/bokeh/bokeh"},{"name":"certifi","old_version":"2025.7.14","new_version":"2025.11.12","repository_url":"https://github.com/certifi/python-certifi"},{"name":"cryptography","old_version":"45.0.5","new_version":"46.0.3","repository_url":"https://github.com/pyca/cryptography"},{"name":"idna","old_version":"3.10","new_version":"3.11","repository_url":"https://github.com/kjd/idna"},{"name":"jsonschema","old_version":"4.25.0","new_version":"4.25.1","repository_url":"https://github.com/python-jsonschema/jsonschema"},{"name":"markdown","old_version":"3.8.2","new_version":"3.10","repository_url":"https://github.com/Python-Markdown/markdown"},{"name":"markupsafe","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/pallets/markupsafe"},{"name":"networkx","old_version":"3.4.2","new_version":"3.6.1","repository_url":"https://github.com/networkx/networkx"},{"name":"numpy","old_version":"2.2.3","new_version":"2.4.0","repository_url":"https://github.com/numpy/numpy"},{"name":"pillow","old_version":"11.3.0","new_version":"12.0.0","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"plotly","old_version":"6.2.0","new_version":"6.5.0","repository_url":"https://github.com/plotly/plotly.py"},{"name":"pycurl","old_version":"7.45.6","new_version":"7.45.7","repository_url":"https://github.com/pycurl/pycurl"},{"name":"pyopenssl","old_version":"25.1.0","new_version":"25.3.0","repository_url":"https://github.com/pyca/pyopenssl"},{"name":"scipy","old_version":"1.15.2","new_version":"1.16.3","repository_url":"https://github.com/scipy/scipy"},{"name":"wordcloud","old_version":"1.9.4","new_version":"1.9.5","repository_url":"https://github.com/amueller/word_cloud"},{"name":"ipython","old_version":"8.33.0","new_version":"9.8.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":"pandas","old_version":"2.3.1","new_version":"2.3.3","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"pymongo","old_version":"4.13.2","new_version":"4.15.5","repository_url":"https://github.com/mongodb/mongo-python-driver"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"requests","old_version":"2.32.4","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"scikit-learn","old_version":"1.6.1","new_version":"1.8.0","repository_url":"https://github.com/scikit-learn/scikit-learn"},{"name":"statsmodels","old_version":"0.14.5","new_version":"0.14.6","repository_url":"https://github.com/statsmodels/statsmodels"},{"name":"tornado","old_version":"6.5.1","new_version":"6.5.4","repository_url":"https://github.com/tornadoweb/tornado"},{"name":"coverage","old_version":"7.10.1","new_version":"7.13.1","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"pytest","old_version":"8.4.1","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"6.2.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"ruff","old_version":"0.12.7","new_version":"0.14.10","repository_url":"https://github.com/astral-sh/ruff"},{"name":"vcrpy","old_version":"7.0.0","new_version":"8.1.0","repository_url":"https://github.com/kevin1024/vcrpy"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 31 updates in the /src directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.13.4` | `4.14.3` |\n| [biopython](https://github.com/biopython/biopython) | `1.85` | `1.86` |\n| [bokeh](https://github.com/bokeh/bokeh) | `3.6.2` | `3.8.1` |\n| [certifi](https://github.com/certifi/python-certifi) | `2025.7.14` | `2025.11.12` |\n| [cryptography](https://github.com/pyca/cryptography) | `45.0.5` | `46.0.3` |\n| [idna](https://github.com/kjd/idna) | `3.10` | `3.11` |\n| [jsonschema](https://github.com/python-jsonschema/jsonschema) | `4.25.0` | `4.25.1` |\n| [markdown](https://github.com/Python-Markdown/markdown) | `3.8.2` | `3.10` |\n| [markupsafe](https://github.com/pallets/markupsafe) | `3.0.2` | `3.0.3` |\n| [networkx](https://github.com/networkx/networkx) | `3.4.2` | `3.6.1` |\n| [numpy](https://github.com/numpy/numpy) | `2.2.3` | `2.4.0` |\n| [pillow](https://github.com/python-pillow/Pillow) | `11.3.0` | `12.0.0` |\n| [plotly](https://github.com/plotly/plotly.py) | `6.2.0` | `6.5.0` |\n| [pycurl](https://github.com/pycurl/pycurl) | `7.45.6` | `7.45.7` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `25.1.0` | `25.3.0` |\n| [scipy](https://github.com/scipy/scipy) | `1.15.2` | `1.16.3` |\n| [wordcloud](https://github.com/amueller/word_cloud) | `1.9.4` | `1.9.5` |\n| [ipython](https://github.com/ipython/ipython) | `8.33.0` | `9.8.0` |\n| [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) | `8.1.7` | `8.1.8` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.1` | `2.3.3` |\n| [pymongo](https://github.com/mongodb/mongo-python-driver) | `4.13.2` | `4.15.5` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [requests](https://github.com/psf/requests) | `2.32.4` | `2.32.5` |\n| [scikit-learn](https://github.com/scikit-learn/scikit-learn) | `1.6.1` | `1.8.0` |\n| [statsmodels](https://github.com/statsmodels/statsmodels) | `0.14.5` | `0.14.6` |\n| [tornado](https://github.com/tornadoweb/tornado) | `6.5.1` | `6.5.4` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.10.1` | `7.13.1` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.1` | `9.0.2` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.2.1` | `7.0.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.12.7` | `0.14.10` |\n| [vcrpy](https://github.com/kevin1024/vcrpy) | `7.0.0` | `8.1.0` |\n\n\nUpdates `beautifulsoup4` from 4.13.4 to 4.14.3\n\nUpdates `biopython` from 1.85 to 1.86\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/biopython/biopython/blob/master/NEWS.rst\"\u003ebiopython's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e28 October 2025: Biopython 1.86\u003c/h1\u003e\n\u003cp\u003eThis release of Biopython supports Python 3.10, 3.11, 3.12, 3.13 and 3.14.  It\nhas also been tested on PyPy3.10 v7.3.19.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.SearchIO\u003c/code\u003e now supports parsing the tabular and plain text output of\n\u003ccode\u003eInfernal \u0026lt;http://eddylab.org/infernal/\u0026gt;\u003c/code\u003e (v1.0.0+) RNA search tool. The\nformat names are \u003ccode\u003einfernal-tab\u003c/code\u003e and \u003ccode\u003einfernal-text\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe default value of the gap score of a \u003ccode\u003ePairwiseAligner\u003c/code\u003e object was changed\nin this release.  Previously, for consistency with \u003ccode\u003eBio.pairwise2\u003c/code\u003e, the\ndefault value for gap score was 0.  However, this means that a mismatch, an\ninsertion followed by a deletion, and a deletion followed by an insertion all\nget assigned a score of 0.  The aligner then finds a large number of alignments\nthat are logically the same, but have trivial differences between them.  For\nexample, aligning AAACAAA to AAAGAAA previously yielded the following three\nalignments, all with score 6::\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e AAACAAA        AAAC-AAA        AAA-CAAA\n AAAGAAA        AAA-GAAA        AAAG-AAA\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eWith the new default parameter for the gap score, only the first alignment is\nreturned.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.PDB.PDBIO\u003c/code\u003e now ensures that b-factor values are always at most 6 characters to\nensure that we do not violate the wwPDB specification. This should not have an impact\non the majority of uses, as b-factor values are generally small (less than 100). When\n1000 \u0026lt;= b-factor \u0026lt; 10_000, the value is rounded to a single decimal place. When,\n10_000 \u0026lt;= b-factor \u0026lt; 999_999, the value is rounded to zero decimal places. Values\nabove 999_999 are now clamped. The justification for this is the rise in the b-factor\nfield being used for additional metadata, typically from computational tools.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.Align\u003c/code\u003e now provides a method \u003ccode\u003eAlignment.from_alignments_with_same_reference\u003c/code\u003e\nto construct a multiple sequence alignment from a collection of alignments\nthat share the same reference sequence.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.PDB.PDBIO\u003c/code\u003e will now raise module specific warnings:\n\u003ccode\u003eBio.PDB.PDBExceptions.PDBIOWarning\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.PDB.SCADIO\u003c/code\u003e now supports object selection by color in the OpenSCAD\noutput file.  This enables generation of separate STL files for each color for\nprinting protein structures on multi-material 3D printers.\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003eiplotx\u003c/code\u003e library is mentioned in the Tutorial as an option to visualise\ntrees using complex style options.\u003c/p\u003e\n\u003cp\u003eMany thanks to the Biopython developers and community for making this release\npossible, especially the following contributors:\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\u003eSee full diff in \u003ca href=\"https://github.com/biopython/biopython/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bokeh` from 3.6.2 to 3.8.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bokeh/bokeh/blob/3.8.1/docs/CHANGELOG\"\u003ebokeh's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2025-11-07    3.8.1:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ebugfixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14618\"\u003e#14618\u003c/a\u003e [component: docs] Local documentation build fails with \u003ccode\u003eExtension error (sphinxext.opengraph)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14626\"\u003e#14626\u003c/a\u003e [component: docs] Local documentation fails on Windows because of missing svg icons\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14651\"\u003e#14651\u003c/a\u003e [component: bokehjs] HoverTool parameter @$name for stacked bar chart not working in version 3.8.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003etasks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14704\"\u003e#14704\u003c/a\u003e Backports for 3.8.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2025-08-29      3.8:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ebugfixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/12430\"\u003e#12430\u003c/a\u003e [component: bokehjs] [BUG] Step glyphs do not support linked brushing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/12994\"\u003e#12994\u003c/a\u003e [component: bokehjs] [BUG] Patch does not output under certain conditions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/13616\"\u003e#13616\u003c/a\u003e [component: bokehjs] [BUG] DateRangePicker value does not reflect value in browser when selection is aborted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14334\"\u003e#14334\u003c/a\u003e js_on_change not firing when range is updated in range tool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14352\"\u003e#14352\u003c/a\u003e [component: bokehjs] Log Axis and Range1d \u0026lt; 1 failing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14383\"\u003e#14383\u003c/a\u003e [component: bokehjs] \u003ccode\u003eSerializationError: circular reference\u003c/code\u003e When Passing List of Renderers to CustomJS Callbacks, but not when passing renderers sperately.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14396\"\u003e#14396\u003c/a\u003e [component: examples] Remove context from time of day in span example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14399\"\u003e#14399\u003c/a\u003e Bad typings for \u003ccode\u003elist_attr_splat\u003c/code\u003e (e.g. \u003ccode\u003ePlot.axis\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14413\"\u003e#14413\u003c/a\u003e [component: bokehjs] \u003ccode\u003eValueRef\u003c/code\u003e \u003ccode\u003eformatter\u003c/code\u003e does not handle datetime nullable well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14420\"\u003e#14420\u003c/a\u003e [component: bokehjs] Enhance performance of WebGL multi_marker\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14422\"\u003e#14422\u003c/a\u003e [component: bokehjs] Legend renderer not correctly positioned when saved with SaveTool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14424\"\u003e#14424\u003c/a\u003e [component: bokehjs] Patches with no data does not show plot with Bokeh 3.7+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14458\"\u003e#14458\u003c/a\u003e [component: bokehjs] Removing and re-adding DOM nodes causes React problems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14461\"\u003e#14461\u003c/a\u003e [component: tests] The regression test for issue \u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14207\"\u003e#14207\u003c/a\u003e is unreliable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14468\"\u003e#14468\u003c/a\u003e [component: docs] Try on CodePen link does not work in documentation /docs/user_guide/advanced/bokehjs.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14469\"\u003e#14469\u003c/a\u003e [component: bokehjs] Canvas2D: Multiple readback operations using getImageData are faster with the willReadFrequently attribute set to true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14476\"\u003e#14476\u003c/a\u003e Improve handling of pd.NA in Property.matches\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14497\"\u003e#14497\u003c/a\u003e mypy 1.15.0 fails in CI but not locally\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14499\"\u003e#14499\u003c/a\u003e [component: docs] IndexError on importing bokeh.sphinxext.bokeh_plot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14520\"\u003e#14520\u003c/a\u003e [component: bokehjs] BokehJS complains about categorical factors for the BoxAnnotation widget\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14536\"\u003e#14536\u003c/a\u003e Flex layouts need to apply \u003ccode\u003emin_width\u003c/code\u003e and \u003ccode\u003emin_height\u003c/code\u003e selectively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14540\"\u003e#14540\u003c/a\u003e [component: tests] Tests are failing on Windows and Python 3.10 after PR \u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14531\"\u003e#14531\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14541\"\u003e#14541\u003c/a\u003e New SVG icons have inconsistent line widths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14554\"\u003e#14554\u003c/a\u003e Add support for scalar uint32 color input.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14565\"\u003e#14565\u003c/a\u003e [component: bokehjs] DataTable source update broken\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14574\"\u003e#14574\u003c/a\u003e [component: build] grammar build script failing with whitespace in path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14597\"\u003e#14597\u003c/a\u003e [component: bokehjs] \u003ccode\u003edocument_ready\u003c/code\u003e even trigger twice with Bokeh 3.4.0.dev4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14602\"\u003e#14602\u003c/a\u003e [component: bokehjs] Layoutable components in side panels don't appear in exported images\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14620\"\u003e#14620\u003c/a\u003e Re-connect race condition on page reload\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/2603\"\u003e#2603\u003c/a\u003e [component: bokehjs] Add a SizeBar guide to label relative scatter glyph sizes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/7338\"\u003e#7338\u003c/a\u003e Setting areas for the activation of the hover.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/8608\"\u003e#8608\u003c/a\u003e [component: bokehjs] [Feature request] automatic reconnect to server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/9087\"\u003e#9087\u003c/a\u003e [component: bokehjs] Provide hit_filter property on HoverTool and TapTool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/9327\"\u003e#9327\u003c/a\u003e [component: bokehjs] [BUG] Not possible to disable multi-select behavior for DataTable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/12375\"\u003e#12375\u003c/a\u003e [FEATURE] Set axis label at a fixed distance from the axis\u003c/li\u003e\n\u003c/ul\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/bokeh/bokeh/commit/7e37a6395b36d3249a4d45263ddc2a26a7234906\"\u003e\u003ccode\u003e7e37a63\u003c/code\u003e\u003c/a\u003e Deployment updates for release 3.8.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/838b7c33f60bbca68374763f910d3c7e42836529\"\u003e\u003ccode\u003e838b7c3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14704\"\u003e#14704\u003c/a\u003e from bokeh/mattpap/3.8.1_backports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/477afb390d0993653ec899cde532fa49492d2129\"\u003e\u003ccode\u003e477afb3\u003c/code\u003e\u003c/a\u003e Added release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/360d9d683f24615af0e9c4c5dfc9c770248f5d5f\"\u003e\u003ccode\u003e360d9d6\u003c/code\u003e\u003c/a\u003e set minimal version of sphinxext-opengraph to 0.11.0 (\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14625\"\u003e#14625\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/fd662c1297b1bc8ff927b5df9948e1926a2c8243\"\u003e\u003ccode\u003efd662c1\u003c/code\u003e\u003c/a\u003e add copy and delete for svg icons to make.bat (\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14627\"\u003e#14627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/9f9d602e37adc82f2bd5b2a1e915058786c7a40b\"\u003e\u003ccode\u003e9f9d602\u003c/code\u003e\u003c/a\u003e Restore @$name support and improve replace_placeholders() (\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14652\"\u003e#14652\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/b63f69158d88b5d2e7ab58b2be434d9acc7c20c8\"\u003e\u003ccode\u003eb63f691\u003c/code\u003e\u003c/a\u003e Update switcher.json\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/6431bdfdb92fc71c784700aeeca46a65ab0d9e9f\"\u003e\u003ccode\u003e6431bdf\u003c/code\u003e\u003c/a\u003e Merge deployment staging branch staging-3.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/237861996ad5f1738b8c71d90bed5977e072930b\"\u003e\u003ccode\u003e2378619\u003c/code\u003e\u003c/a\u003e Deployment updates for release 3.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/b83c74d19657baaeb1f9cdcc68f453169ecf9a18\"\u003e\u003ccode\u003eb83c74d\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003eswitcher.json\u003c/code\u003e for 3.8 release (\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14623\"\u003e#14623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bokeh/bokeh/compare/3.6.2...3.8.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2025.7.14 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\u003eSee full diff in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2025.07.14...2025.11.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 45.0.5 to 46.0.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e46.0.3 - 2025-10-15\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed compilation when using LibreSSL 4.2.0.\n\u003cp\u003e.. _v46-0-2:\u003c/p\u003e\n\u003cp\u003e46.0.2 - 2025-09-30\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.4.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-1:\u003c/p\u003e\n\u003cp\u003e46.0.1 - 2025-09-16\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed an issue where users installing via ``pip`` on Python 3.14 development\n  versions would not properly install a dependency.\n* Fixed an issue building the free-threaded macOS 3.14 wheels.\n\u003cp\u003e.. _v46-0-0:\u003c/p\u003e\n\u003cp\u003e46.0.0 - 2025-09-16\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBACKWARDS INCOMPATIBLE:\u003c/strong\u003e Support for Python 3.7 has been removed.\u003c/li\u003e\n\u003cli\u003eSupport for OpenSSL \u0026lt; 3.0 is deprecated and will be removed in the next\nrelease.\u003c/li\u003e\n\u003cli\u003eSupport for \u003ccode\u003ex86_64\u003c/code\u003e macOS (including publishing wheels) is deprecated\nand will be removed in two releases. We will switch to publishing an\n\u003ccode\u003earm64\u003c/code\u003e only wheel for macOS.\u003c/li\u003e\n\u003cli\u003eSupport for 32-bit Windows (including publishing wheels) is deprecated\nand will be removed in two releases. Users should move to a 64-bit\nPython installation.\u003c/li\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.3.\u003c/li\u003e\n\u003cli\u003eWe now build \u003ccode\u003eppc64le\u003c/code\u003e \u003ccode\u003emanylinux\u003c/code\u003e wheels and publish them to PyPI.\u003c/li\u003e\n\u003cli\u003eWe now build \u003ccode\u003ewin_arm64\u003c/code\u003e (Windows on Arm) wheels and publish them to PyPI.\u003c/li\u003e\n\u003cli\u003eAdded support for free-threaded Python 3.14.\u003c/li\u003e\n\u003cli\u003eRemoved the deprecated \u003ccode\u003eget_attribute_for_oid\u003c/code\u003e method on\n:class:\u003ccode\u003e~cryptography.x509.CertificateSigningRequest\u003c/code\u003e. Users should use\n:meth:\u003ccode\u003e~cryptography.x509.Attributes.get_attribute_for_oid\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003eRemoved the deprecated \u003ccode\u003eCAST5\u003c/code\u003e, \u003ccode\u003eSEED\u003c/code\u003e, \u003ccode\u003eIDEA\u003c/code\u003e, and \u003ccode\u003eBlowfish\u003c/code\u003e\nclasses from the cipher module. These are still available in\n:doc:\u003ccode\u003e/hazmat/decrepit/index\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eIn X.509, when performing a PSS signature with a SHA-3 hash, it is now\nencoded with the official NIST SHA3 OID.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v45-0-7:\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/pyca/cryptography/commit/c0af4dd7b75921bbe9f1d41a03dbd4b64a9e3403\"\u003e\u003ccode\u003ec0af4dd\u003c/code\u003e\u003c/a\u003e release 46.0.3 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13681\"\u003e#13681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/99efe5ad150a56efadafacaffd0e3ee319373904\"\u003e\u003ccode\u003e99efe5a\u003c/code\u003e\u003c/a\u003e bump version for 46.0.2 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13531\"\u003e#13531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e735cfc27502320101c130335c556394a125ba52\"\u003e\u003ccode\u003ee735cfc\u003c/code\u003e\u003c/a\u003e release 46.0.1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13450\"\u003e#13450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/4e457ffba43a6d87efc63c33041e2081438dd8a4\"\u003e\u003ccode\u003e4e457ff\u003c/code\u003e\u003c/a\u003e Explicitly specify python in mac uv build invocation (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13447\"\u003e#13447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/2726efdb6d67f1c90cf9c6062d9fe051965586f8\"\u003e\u003ccode\u003e2726efd\u003c/code\u003e\u003c/a\u003e Depend on CFFI 2.0.0 or newer on Python \u0026gt; 3.8 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13448\"\u003e#13448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/62230623d183706632c0eb7822c96ac95e3710a8\"\u003e\u003ccode\u003e6223062\u003c/code\u003e\u003c/a\u003e release 46.0.0 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13446\"\u003e#13446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/563c4915b0931455706f761a4579c26698824eae\"\u003e\u003ccode\u003e563c491\u003c/code\u003e\u003c/a\u003e Update comment for pyopenssl-release tag (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13445\"\u003e#13445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/d2f6f7faced35b73277bc624ff496f8af696b172\"\u003e\u003ccode\u003ed2f6f7f\u003c/code\u003e\u003c/a\u003e Bump downstream dependencies in CI (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13439\"\u003e#13439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e7ab02bd679d0b4f55d93486fe27e62554ef15d4\"\u003e\u003ccode\u003ee7ab02b\u003c/code\u003e\u003c/a\u003e we'll ship this with 3.5.3 why not (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13442\"\u003e#13442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/0b68a4bffb61202e4d4f5074cd30c2b9d15f429e\"\u003e\u003ccode\u003e0b68a4b\u003c/code\u003e\u003c/a\u003e Another pair of bump dependencies fix (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13444\"\u003e#13444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/cryptography/compare/45.0.5...46.0.3\"\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 `jsonschema` from 4.25.0 to 4.25.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/releases\"\u003ejsonschema's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.25.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidator\u003c/code\u003e protocol init to match runtime by \u003ca href=\"https://github.com/sirosen\"\u003e\u003ccode\u003e@​sirosen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1396\"\u003epython-jsonschema/jsonschema#1396\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-jsonschema/jsonschema/compare/v4.25.0...v4.25.1\"\u003ehttps://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.25.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst\"\u003ejsonschema's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev4.25.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix an incorrect required argument in the \u003ccode\u003eValidator\u003c/code\u003e protocol's type annotations (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1396\"\u003e#1396\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/331c38425519b69118d22ebe467ad230fb83a010\"\u003e\u003ccode\u003e331c384\u003c/code\u003e\u003c/a\u003e Add the fix to the changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/c1ec0a645e913e83de95995f6efbbd358676abf6\"\u003e\u003ccode\u003ec1ec0a6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1398\"\u003e#1398\u003c/a\u003e from python-jsonschema/dependabot/github_actions/ast...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/8e7d594faff13f8f663b306a0d86bea0ce5de6cb\"\u003e\u003ccode\u003e8e7d594\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1399\"\u003e#1399\u003c/a\u003e from python-jsonschema/dependabot/github_actions/act...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/460f4fae42664773160f56ccc843a4fcea34f7cf\"\u003e\u003ccode\u003e460f4fa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1396\"\u003e#1396\u003c/a\u003e from sirosen/improve-protocol-init-signature\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/1e58409b71a9696b7bf9938ae8a3a48ef95ab29e\"\u003e\u003ccode\u003e1e58409\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] auto fixes from pre-commit.com hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/64bc2171624ef201bdbf35e47780348ce30935c5\"\u003e\u003ccode\u003e64bc217\u003c/code\u003e\u003c/a\u003e Add a typing test for the Validator protocol\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/6c25741bff889477680f9b0d1aa967ae35c38f43\"\u003e\u003ccode\u003e6c25741\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/bf603d59117f840916709fc87c6625df43d1fe72\"\u003e\u003ccode\u003ebf603d5\u003c/code\u003e\u003c/a\u003e Bump astral-sh/setup-uv from 6.4.3 to 6.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/a916d8f8253baa11bacc60f0868f0bab1e42d526\"\u003e\u003ccode\u003ea916d8f\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eValidator\u003c/code\u003e protocol init to match runtime\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/de60f18bd97395a52a11b561eb62963e0ffe9e71\"\u003e\u003ccode\u003ede60f18\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1397\"\u003e#1397\u003c/a\u003e from python-jsonschema/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.25.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `markdown` from 3.8.2 to 3.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Python-Markdown/markdown/releases\"\u003emarkdown's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 3.10.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOfficially support Python 3.14 and PyPy 3.11 and drop support for Python 3.9\nand PyPy 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix an HTML comment parsing case in some Python versions that can cause an\ninfinite loop (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1554\"\u003e#1554\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRevert the default behavior of \u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e (to \u003ccode\u003eTrue\u003c/code\u003e). The new\nbehavior introduced in 3.9.0 is experimental and results are inconsistent.\nIt should not have been made the default behavior (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1561\"\u003e#1561\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.9.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFootnotes are now ordered by the occurrence of their references in the\ndocument. A new configuration option for the footnotes extension,\n\u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e, has been added to support restoring the previous\nbehavior of ordering footnotes by the occurrence of definitions (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1367\"\u003e#1367\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure inline processing iterates through elements in document order (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1546\"\u003e#1546\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix handling of incomplete HTML tags in code spans in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1547\"\u003e#1547\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/Python-Markdown/markdown/blob/master/docs/changelog.md\"\u003emarkdown's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003etitle: Changelog\ntoc_depth: 2\u003c/p\u003e\n\u003ch1\u003ePython-Markdown Changelog\u003c/h1\u003e\n\u003cp\u003eAll notable changes to this project will be documented in this file.\u003c/p\u003e\n\u003cp\u003eThe format is based on \u003ca href=\"https://keepachangelog.com/en/1.1.0/\"\u003eKeep a Changelog\u003c/a\u003e,\nand this project adheres to the\n\u003ca href=\"https://packaging.python.org/en/latest/specifications/version-specifiers/\"\u003ePython Version Specification\u003c/a\u003e.\nSee the \u003ca href=\"https://github.com/Python-Markdown/markdown/blob/master/docs/contributing.md\"\u003eContributing Guide\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003e[Unreleased]\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure nested elements inside inline comments are properly unescaped (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1571\"\u003e#1571\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMake the docs build successfully with mkdocstrings-python 2.0 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1575\"\u003e#1575\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix infinite loop when multiple bogus or unclosed HTML comments appear in input (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1578\"\u003e#1578\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.10.0] - 2025-11-03\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOfficially support Python 3.14 and PyPy 3.11 and drop support for Python 3.9\nand PyPy 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix an HTML comment parsing case in some Python versions that can cause an\ninfinite loop (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1554\"\u003e#1554\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRevert the default behavior of \u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e (to \u003ccode\u003eTrue\u003c/code\u003e). The new\nbehavior introduced in 3.9.0 is experimental and results are inconsistent.\nIt should not have been made the default behavior (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1561\"\u003e#1561\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.9.0] - 2025-09-04\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFootnotes are now ordered by the occurrence of their references in the\ndocument. A new configuration option for the footnotes extension,\n\u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e, has been added to support restoring the previous\nbehavior of ordering footnotes by the occurrence of definitions (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1367\"\u003e#1367\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure inline processing iterates through elements in document order (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1546\"\u003e#1546\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix handling of incomplete HTML tags in code spans in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1547\"\u003e#1547\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/22e89c1fc346f72218a10e392a0c3b4731912522\"\u003e\u003ccode\u003e22e89c1\u003c/code\u003e\u003c/a\u003e Bump version to 3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/c138aea5139a6aceae05bb957e866d9ce7577b94\"\u003e\u003ccode\u003ec138aea\u003c/code\u003e\u003c/a\u003e + PY314 - PY39\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/746f7f527b15f63845253e3b86947b806ef1b98f\"\u003e\u003ccode\u003e746f7f5\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/a5ee2b4aad05531898ab8fd726c7ece31ddadf8b\"\u003e\u003ccode\u003ea5ee2b4\u003c/code\u003e\u003c/a\u003e Revert the default behavior of \u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/5354daf618149f92580a1407c036115753c5df73\"\u003e\u003ccode\u003e5354daf\u003c/code\u003e\u003c/a\u003e Fix an HTML comment parsing case that can cause an infinite loop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/f39cf84a24124526c1a0efbe52219fa9950774f6\"\u003e\u003ccode\u003ef39cf84\u003c/code\u003e\u003c/a\u003e Bump version to 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/07bf2076623be5de9952e1f35bfb8c218b699300\"\u003e\u003ccode\u003e07bf207\u003c/code\u003e\u003c/a\u003e Order footnotes by reference\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/23c301de28e12426408656efdfa153b11d4ff558\"\u003e\u003ccode\u003e23c301d\u003c/code\u003e\u003c/a\u003e Fix failing cases for Python 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/4669a09894d4a35cd5f5d2106b0da95e48d1a3f9\"\u003e\u003ccode\u003e4669a09\u003c/code\u003e\u003c/a\u003e fix typo\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Python-Markdown/markdown/compare/3.8.2...3.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `markupsafe` from 3.0.2 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/markupsafe/releases\"\u003emarkupsafe's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003cp\u003eThis is the MarkupSafe 3.0.3 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/MarkupSafe/3.0.3/\"\u003ehttps://pypi.org/project/MarkupSafe/3.0.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://markupsafe.palletsprojects.com/page/changes/#version-3-0-3\"\u003ehttps://markupsafe.palletsprojects.com/page/changes/#version-3-0-3\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/markupsafe/milestone/15?closed=1\"\u003ehttps://github.com/pallets/markupsafe/milestone/15?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e__version__\u003c/code\u003e raises \u003ccode\u003eDeprecationWarning\u003c/code\u003e instead of \u003ccode\u003eUserWarning\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/487\"\u003e#487\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdopt multi-phase initialization PEP 489 for the C extension. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/494\"\u003e#494\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild Windows ARM64 wheels. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/485\"\u003e#485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild Python 3.14 wheels. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/503\"\u003e#503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild riscv64 wheels. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/505\"\u003e#505\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/markupsafe/blob/main/CHANGES.rst\"\u003emarkupsafe's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.0.3\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-27\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e__version__\u003c/code\u003e raises \u003ccode\u003eDeprecationWarning\u003c/code\u003e instead of \u003ccode\u003eUserWarning\u003c/code\u003e.\n:issue:\u003ccode\u003e487\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdopt multi-phase initialisation (:pep:\u003ccode\u003e489\u003c/code\u003e) for the C extension.\n:issue:\u003ccode\u003e494\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eBuild Windows ARM64 wheels. :issue:\u003ccode\u003e485\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eBuild Python 3.14 wheels. :issue:\u003ccode\u003e503\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eBuild riscv64 wheels. :issue:\u003ccode\u003e505\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/297fc8e356e6836a62087949245d09a28e9f1b13\"\u003e\u003ccode\u003e297fc8e\u003c/code\u003e\u003c/a\u003e release version 3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/7e4e6ce249107c5f27fa6fe890e29da7a8dc8f0c\"\u003e\u003ccode\u003e7e4e6ce\u003c/code\u003e\u003c/a\u003e Free-threading: run with pytest-run-paralell (\u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/507\"\u003e#507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/6100b9c0d466495a08d55b33cb172d7b5d8e9aa1\"\u003e\u003ccode\u003e6100b9c\u003c/code\u003e\u003c/a\u003e enable riscv64 wheels (\u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/506\"\u003e#506\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/c9d5ecfc7eec6f611b19cdc8e1cde1aaa65cb8eb\"\u003e\u003ccode\u003ec9d5ecf\u003c/code\u003e\u003c/a\u003e enable riscv64 wheels\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/2f9b33753052e7c6df1464a7c900787d04ae9daf\"\u003e\u003ccode\u003e2f9b337\u003c/code\u003e\u003c/a\u003e tox for 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/78d951a9549dee9fc901c55fc79a74a5f01e96fc\"\u003e\u003ccode\u003e78d951a\u003c/code\u003e\u003c/a\u003e update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/bb6744e392e79611b110c5ba022238eb1b855cc2\"\u003e\u003ccode\u003ebb6744e\u003c/code\u003e\u003c/a\u003e add entry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/65c4134ab16a3faccbcac2cba90da0db2b799542\"\u003e\u003ccode\u003e65c4134\u003c/code\u003e\u003c/a\u003e upgrade cibuildwheel, add \u003ccode\u003ecp314\u003c/code\u003e wheels and test on CPython 3.14 (\u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/504\"\u003e#504\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/3a9bd88b84c9edba8b922bb12b84a59feed98788\"\u003e\u003ccode\u003e3a9bd88\u003c/code\u003e\u003c/a\u003e add cp314 wheels\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/aafe44d87bd7974bc82af8c4010dea9938441edf\"\u003e\u003ccode\u003eaafe44d\u003c/code\u003e\u003c/a\u003e remove slsa provenance (\u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/501\"\u003e#501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/markupsafe/compare/3.0.2...3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `networkx` from 3.4.2 to 3.6.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/networkx/networkx/releases\"\u003enetworkx's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eNetworkX 3.6.1\u003c/h2\u003e\n\u003ch1\u003enetworkx 3.6.1\u003c/h1\u003e\n\u003cp\u003eWe're happy to announce the release of networkx 3.6.1!\u003c/p\u003e\n\u003ch2\u003eAPI Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd spectral bipartition community finding and greedy bipartition using node swaps (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8347\"\u003e#8347\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNodelists for \u003ccode\u003efrom_biadjacency_matrix\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/7993\"\u003e#7993\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd spectral bipartition community finding and greedy bipartition using node swaps (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8347\"\u003e#8347\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix draw_networkx_nodes with list node_shape and add regression test (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8363\"\u003e#8363\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: allow graph subclasses to have additional arguments (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8369\"\u003e#8369\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDOC: Improve benchmarking readme (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8358\"\u003e#8358\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: More details re: RC releases in the release process devdocs (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8346\"\u003e#8346\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: clarify difference between G.nodes/G.nodes() and G.edges/G.edges() in tutorial (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8300\"\u003e#8300\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: Add blurb to contributor guide about drawing tests (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8370\"\u003e#8370\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: Fix underline lens in docstrings (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8371\"\u003e#8371\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRolling back shortest paths links (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8373\"\u003e#8373\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMaintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMAINT: Replace string literal with comment (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8359\"\u003e#8359\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 in the actions group (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8360\"\u003e#8360\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003epin python 3.14 to be version 3.14.0 until dataclasses are fixed (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8365\"\u003e#8365\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBlocklist Python 3.14.1 (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8372\"\u003e#8372\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTST: add tests for unsupported graph types in MST algorithms (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8353\"\u003e#8353\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eTST: clean up isomorphism tests (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8364\"\u003e#8364\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003e10 authors added to this release (alphabetically):\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Aka2210\"\u003e\u003ccode\u003e@​Aka2210\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jfinkels\"\u003e\u003ccode\u003e@​jfinkels\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaorTIRAM\"\u003e\u003ccode\u003e@​NaorTIRAM\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAditi Juneja (\u003ca href=\"https://github.com/Schefflera-Arboricola\"\u003e\u003ccode\u003e@​Schefflera-Arboricola\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAlejandro Candioti (\u003ca href=\"https://github.com/amcandio\"\u003e\u003ccode\u003e@​amcandio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eColman Bouton (\u003ca href=\"https://github.com/LorentzFactor\"\u003e\u003ccode\u003e@​LorentzFactor\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/7530809bfa1ea7ed6fdf918a4d1431488953cb1f\"\u003e\u003ccode\u003e7530809\u003c/code\u003e\u003c/a\u003e Designate 3.6.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/4788eb08f2492dd6bf6f97ce8ee07cd52aa6cf89\"\u003e\u003ccode\u003e4788eb0\u003c/code\u003e\u003c/a\u003e Rolling back shortest paths links (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8373\"\u003e#8373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/696edb6efbbbb622959e96f1276fc0db68dc0954\"\u003e\u003ccode\u003e696edb6\u003c/code\u003e\u003c/a\u003e Fix draw_networkx_nodes with list node_shape and add regression test  (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8363\"\u003e#8363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/c38830c61a6fee3ee10f216071bb63cb9b92bfb9\"\u003e\u003ccode\u003ec38830c\u003c/code\u003e\u003c/a\u003e Blocklist Python 3.14.1 (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8372\"\u003e#8372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/81d231141b08600ebfd1c781e28ecbf791e94016\"\u003e\u003ccode\u003e81d2311\u003c/code\u003e\u003c/a\u003e DOC: Fix underline lens in docstrings. (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8371\"\u003e#8371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/a6e2bfadef51dda47df6466b32642e0d428c5801\"\u003e\u003ccode\u003ea6e2bfa\u003c/code\u003e\u003c/a\u003e DOC: Add blurb to contributor guide about drawing tests. (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8370\"\u003e#8370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/96b628295eff29d266e1c75355556fc9fe58cc16\"\u003e\u003ccode\u003e96b6282\u003c/code\u003e\u003c/a\u003e DOC: clarify difference between G.nodes/G.nodes() and G.edges/G.edges() in tu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/75bdd737ca8382d06eb76ff9018a81870c9f3443\"\u003e\u003ccode\u003e75bdd73\u003c/code\u003e\u003c/a\u003e Fix: allow graph subclasses to have additional arguments (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8369\"\u003e#8369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/7663fa5e5fd73d6921410a18c7ac4116ffa04f4d\"\u003e\u003ccode\u003e7663fa5\u003c/code\u003e\u003c/a\u003e TST: clean up isomorphism tests (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8364\"\u003e#8364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/3dacd1bdcbd976b9e148a60ddebafd868c0a52f3\"\u003e\u003ccode\u003e3dacd1b\u003c/code\u003e\u003c/a\u003e Add spectral bipartition community finding and greedy bipartition using node ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/networkx/networkx/compare/networkx-3.4.2...networkx-3.6.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.2.3 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0 (Dec 20, 2025)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.0 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.0 release continues the work to improve free threaded Python\nsupport, user dtypes implementation, and annotations. There are many expired\ndeprecations and bug fixes as well.\u003c/p\u003e\n\u003cp\u003eThis release supports Python versions 3.11-3.14\u003c/p\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cp\u003eApart from annotations and \u003ccode\u003esame_value\u003c/code\u003e kwarg, the 2.4 highlights are mostly\nof interest to downstream developers. They should help in implementing new user\ndtypes.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMany annotation improvements. In particular, runtime signature introspection.\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003ecasting\u003c/code\u003e kwarg \u003ccode\u003e'same_value'\u003c/code\u003e for casting by value.\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003ePyUFunc_AddLoopsFromSpec\u003c/code\u003e function that can be used to add user sort\nloops using the \u003ccode\u003eArrayMethod\u003c/code\u003e API.\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003e__numpy_dtype__\u003c/code\u003e protocol.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eSetting the \u003ccode\u003estrides\u003c/code\u003e attribute is deprecated\u003c/h3\u003e\n\u003cp\u003eSetting the strides attribute is now deprecated since mutating\nan array is unsafe if an array is shared, especially by multiple\nthreads. As an alternative, you can create a new view (no copy) via:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003enp.lib.stride_tricks.strided_window_view\u003c/code\u003e if applicable,\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003enp.lib.stride_tricks.as_strided\u003c/code\u003e for the general case,\u003c/li\u003e\n\u003cli\u003eor the \u003ccode\u003enp.ndarray\u003c/code\u003e constructor (\u003ccode\u003ebuffer\u003c/code\u003e is the original array) for a\nlight-weight version.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/28925\"\u003egh-28925\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003ePositional \u003ccode\u003eout\u003c/code\u003e argument to \u003ccode\u003enp.maximum\u003c/code\u003e, \u003ccode\u003enp.minimum\u003c/code\u003e is deprecated\u003c/h3\u003e\n\u003cp\u003ePassing the output array \u003ccode\u003eout\u003c/code\u003e positionally to \u003ccode\u003enumpy.maximum\u003c/code\u003e and\n\u003ccode\u003enumpy.minimum\u003c/code\u003e is deprecated. For example, \u003ccode\u003enp.maximum(a, b, c)\u003c/code\u003e will emit\na deprecation warning, since \u003ccode\u003ec\u003c/code\u003e is treated as the output buffer rather than\na third input.\u003c/p\u003e\n\u003cp\u003eAlways pass the output with the keyword form, e.g. \u003ccode\u003enp.maximum(a, b, out=c)\u003c/code\u003e.\nThis makes intent clear and simplifies type annotations.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29052\"\u003egh-29052\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003e\u003ccode\u003ealign=\u003c/code\u003e must be passed as boolean to \u003ccode\u003enp.dtype()\u003c/code\u003e\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst\"\u003enumpy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eUpdate 2.4.0 milestones\u003c/h2\u003e\n\u003cp\u003eLook at the issues/prs with 2.4.0 milestones and either push them off to a\nlater version, or maybe remove the milestone. You may need to add a milestone.\u003c/p\u003e\n\u003ch2\u003eCheck the numpy-release repo\u003c/h2\u003e\n\u003cp\u003eThe things to check are the \u003ccode\u003ecibuildwheel\u003c/code\u003e version in\n\u003ccode\u003e.github/workflows/wheels.yml\u003c/code\u003e and the \u003ccode\u003eopenblas\u003c/code\u003e versions in\n\u003ccode\u003eopenblas_requirements.txt\u003c/code\u003e.\u003c/p\u003e\n\u003ch1\u003eMake a release PR\u003c/h1\u003e\n\u003cp\u003eFour documents usually need to be updated or created for the release PR:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe changelog\u003c/li\u003e\n\u003cli\u003eThe release notes\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003e.mailmap\u003c/code\u003e file\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003epyproject.toml\u003c/code\u003e file\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThese changes should be made in an ordinary PR against the maintenance branch.\nOther small, miscellaneous fixes may be part of this PR. The commit message\nmight be something like::\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eREL: Prepare for the NumPy 2.4.0 release\n\u003cul\u003e\n\u003cli\u003eCreate 2.4.0-changelog.rst.\u003c/li\u003e\n\u003cli\u003eUpdate 2.4.0-notes.rst.\u003c/li\u003e\n\u003cli\u003eUpdate .mailmap.\u003c/li\u003e\n\u003cli\u003eUpdate pyproject.toml\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eSet the release version\u003c/h2\u003e\n\u003cp\u003eCheck the \u003ccode\u003epyproject.toml\u003c/code\u003e file and set the release version and update the\nclassifier if needed::\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e$ gvim pyproject.toml\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eCheck the \u003ccode\u003edoc/source/release.rst\u003c/code\u003e file\u003c/h2\u003e\n\u003cp\u003emake sure that the release notes have an entry in the \u003ccode\u003erelease.rst\u003c/code\u003e file::\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/c5ab79c14c98bfda1e60770ffa23a6130f8267b7\"\u003e\u003ccode\u003ec5ab79c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30487\"\u003e#30487\u003c/a\u003e from charris/prepare-2.4.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/05e379a9c925dbeca59851b881c64ba098c5abab\"\u003e\u003ccode\u003e05e379a\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.0 release (2)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/485f1c40703f1c43be708be4c7b7a21b10d90337\"\u003e\u003ccode\u003e485f1c4\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.0 release (1) (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30486\"\u003e#30486\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/c683481c9bace3c6a3ba487f50b34539832377a8\"\u003e\u003ccode\u003ec683481\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.0 release (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30439\"\u003e#30439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/11d9ed27e07637aa92b8d43bf2ad380a2b8c5c01\"\u003e\u003ccode\u003e11d9ed2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30459\"\u003e#30459\u003c/a\u003e from charris/backport-30456\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/2a17ddb25580f20f27c76327733449434c302032\"\u003e\u003ccode\u003e2a17ddb\u003c/code\u003e\u003c/a\u003e TYP: restore \u003ccode\u003egeneric.__hash__\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30456\"\u003e#30456\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/d04a4293bf8c8345f072891433ddb8c483785a6b\"\u003e\u003ccode\u003ed04a429\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30432\"\u003e#30432\u003c/a\u003e from charris/backport-30426\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f94a148bc07fd167275f167995edce57b4f0b8c5\"\u003e\u003ccode\u003ef94a148\u003c/code\u003e\u003c/a\u003e fix more data races in mtrand.pyx (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30426\"\u003e#30426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/06a9d4219291f5a15eed54de9314f72b74c41aed\"\u003e\u003ccode\u003e06a9d42\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30420\"\u003e#30420\u003c/a\u003e from charris/backport-30418\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/30819cd952a4a92852d619b5dd720c63fbcab6bd\"\u003e\u003ccode\u003e30819cd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30419\"\u003e#30419\u003c/a\u003e from charris/backport-30373\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.2.3...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pillow` from 11.3.0 to 12.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-pillow/Pillow/releases\"\u003epillow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e12.0.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://pillow.readthedocs.io/en/stable/releasenotes/12.0.0.html\"\u003ehttps://pillow.readthedocs.io/en/stable/releasenotes/12.0.0.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eRemovals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for FreeType \u0026lt;= 2.9.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9159\"\u003e#9159\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9119\"\u003e#9119\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eRemove deprecations for Pillow 12.0.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9053\"\u003e#9053\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate Image._show \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9186\"\u003e#9186\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eDeprecate ImageCmsProfile product_name and product_info \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/8995\"\u003e#8995\u003c/a\u003e [\u003ca href=\"https://github.com/lukegb\"\u003e\u003ccode\u003e@​lukegb\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImagingHistogramInstance can use two bands \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9251\"\u003e#9251\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate 12.0.0 release notes \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9247\"\u003e#9247\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdded ImageDraw alpha channel examples \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9201\"\u003e#9201\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate Python version \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9230\"\u003e#9230\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdated macOS tested Pillow versions \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9209\"\u003e#9209\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd GitHub profile link to release notes \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9197\"\u003e#9197\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eSplit versionadded info \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9190\"\u003e#9190\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eDocument ImageFile.MAXBLOCK \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9163\"\u003e#9163\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdated macOS version in CI targets \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9157\"\u003e#9157\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eFix typos \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9135\"\u003e#9135\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdded \u0026quot;Colors\u0026quot; to concepts \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9067\"\u003e#9067\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate macOS tested Pillow versions \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9068\"\u003e#9068\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eThanks, folks! \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9056\"\u003e#9056\u003c/a\u003e [\u003ca href=\"https://github.com/aclark4life\"\u003e\u003ccode\u003e@​aclark4life\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eSetup nit: \u0026quot;fork\u0026quot; should be lowercased \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9055\"\u003e#9055\u003c/a\u003e [\u003ca href=\"https://github.com/aclark4life\"\u003e\u003ccode\u003e@​aclark4life\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate dependency cibuildwheel to v3.2.1 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9246\"\u003e#9246\u003c/a\u003e [@\u003ca href=\"https://github.com/apps/renovate\"\u003erenovate[bot]\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9233\"\u003e#9233\u003c/a\u003e [@\u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003epre-commit-ci[bot]\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate harfbuzz to 12.1.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9218\"\u003e#9218\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate libtiff to 4.7.1 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9222\"\u003e#9222\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate FreeType to 2.14.1 on macOS and Linux wheels \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9217\"\u003e#9217\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate dependency cibuildwheel to v3.2.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9219\"\u003e#9219\u003c/a\u003e [@\u003ca href=\"https://github.com/apps/renovate\"\u003erenovate[bot]\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate Ghostscript to 10.6.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9202\"\u003e#9202\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate openjpeg to 2.5.4 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9215\"\u003e#9215\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate harfbuzz to 11.5.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9203\"\u003e#9203\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate dependency mypy to v1.18.2 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9213\"\u003e#9213\u003c/a\u003e [@\u003ca href=\"https://github.com/apps/renovate\"\u003erenovate[bot]\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate dependency mypy to v1.18.1 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9207\"\u003e#9207\u003c/a\u003e [@\u003ca href=\"https://github.com/apps/renovate\"\u003erenovate[bot]\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate github-actions \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9194\"\u003e#9194\u003c/a\u003e [@\u003ca href=\"https://github.com/apps/renovate\"\u003erenovate[bot]\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdated harfbuzz to 11.4.5 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9150\"\u003e#9150\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate zlib-ng to 2.2.5 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9140\"\u003e#9140\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate raqm to 0.10.3 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9137\"\u003e#9137\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate libjpeg-turbo to 3.1.2 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9188\"\u003e#9188\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9180\"\u003e#9180\u003c/a\u003e [@\u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003epre-commit-ci[bot]\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/python-pillow/Pillow/commit/693df7b42c666f88c719f9973be0ad71607328e0\"\u003e\u003ccode\u003e693df7b\u003c/code\u003e\u003c/a\u003e 12.0.0 version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/d175bb88a302e161173e05b1c4103910d7366623\"\u003e\u003ccode\u003ed175bb8\u003c/code\u003e\u003c/a\u003e Use macos-14 for iOS arm64 simulator (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9258\"\u003e#9258\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/592b2f820aa1f75f8ae8bf4f30e1b4bc62023535\"\u003e\u003ccode\u003e592b2f8\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Use macos-latest for iOS arm64 simulator\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/5dddb2ce94a715e54442c1d30c9ffc04914d96fe\"\u003e\u003ccode\u003e5dddb2c\u003c/code\u003e\u003c/a\u003e Use enums for Modes and RawModes in C (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9256\"\u003e#9256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/e7b72a3bbdec4e3f4120e6b5fe4082d78315ff13\"\u003e\u003ccode\u003ee7b72a3\u003c/code\u003e\u003c/a\u003e Add ImageText (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9098\"\u003e#9098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/864d4b6e0937e9d468de26b933f31b1639e0f22a\"\u003e\u003ccode\u003e864d4b6\u003c/code\u003e\u003c/a\u003e Shift bits before making value negative (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9255\"\u003e#9255\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/994a9def5d94bc59b60447bbab445834f7f9f9bf\"\u003e\u003ccode\u003e994a9de\u003c/code\u003e\u003c/a\u003e Install arro3 dependencies when type checking (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9254\"\u003e#9254\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/d5e1601b32ea43b45ce8f820e4b349e9b5e2dd6c\"\u003e\u003ccode\u003ed5e1601\u003c/code\u003e\u003c/a\u003e Improved documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/e533ccccfcef79c031ac1178a9b78db2fb000a6f\"\u003e\u003ccode\u003ee533ccc\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into imagetext\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/95a85dc6693ca221643906214b0e1f4590986c0f\"\u003e\u003ccode\u003e95a85dc\u003c/code\u003e\u003c/a\u003e Use snake case\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-pillow/Pillow/compare/11.3.0...12.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `plotly` from 6.2.0 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=\"h...\n\n_Description has been truncated_","html_url":"https://github.com/kbase/narrative/pull/3721","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kbase%2Fnarrative/issues/3721","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3721/packages"},{"uuid":"3774690788","node_id":"PR_kwDOH2Sbbc67M_j3","number":761,"state":"closed","title":"Bump ipywidgets from 8.1.7 to 8.1.8 in /docs","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-12T19:54:37.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-01T14:02:01.000Z","updated_at":"2026-02-12T19:54:48.000Z","time_to_close":3649956,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"ipywidgets","old_version":"8.1.7","new_version":"8.1.8","repository_url":"https://github.com/jupyter-widgets/ipywidgets"}],"path":"/docs","ecosystem":"pip"},"body":"Bumps [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) from 8.1.7 to 8.1.8.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/releases\"\u003eipywidgets's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd JupyterCon banner and jupyter colors by \u003ca href=\"https://github.com/choldgraf\"\u003e\u003ccode\u003e@​choldgraf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3998\"\u003ejupyter-widgets/ipywidgets#3998\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix badge formatting in README.md by \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4000\"\u003ejupyter-widgets/ipywidgets#4000\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Plausible web stats by \u003ca href=\"https://github.com/jasongrout\"\u003e\u003ccode\u003e@​jasongrout\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4003\"\u003ejupyter-widgets/ipywidgets#4003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate jupyterlab_widgets metadata to indicate it works with JupyterLab 4 by \u003ca href=\"https://github.com/jasongrout\"\u003e\u003ccode\u003e@​jasongrout\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4004\"\u003ejupyter-widgets/ipywidgets#4004\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/choldgraf\"\u003e\u003ccode\u003e@​choldgraf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3998\"\u003ejupyter-widgets/ipywidgets#3998\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\"\u003ehttps://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\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\u003eSee full diff in \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\"\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=ipywidgets\u0026package-manager=pip\u0026previous-version=8.1.7\u0026new-version=8.1.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nYou can trigger a rebase of this PR by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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\n\n\u003e **Note**\n\u003e Automatic rebases have been disabled on this pull request as it has been open for over 30 days.\n","html_url":"https://github.com/TGSAI/mdio-python/pull/761","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/TGSAI%2Fmdio-python/issues/761","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/761/packages"},{"uuid":"3768072730","node_id":"PR_kwDOHTdvBs663EKr","number":1397,"state":"open","title":"deps(ibis): bump the all group across 1 directory with 32 updates","user":"dependabot[bot]","labels":["ibis","dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-12-29T18:38:50.000Z","updated_at":"2025-12-29T18:39:07.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(ibis): bump","group_name":"all","update_count":32,"packages":[{"name":"fastapi","old_version":"0.120.1","new_version":"0.128.0","repository_url":"https://github.com/fastapi/fastapi"},{"name":"pydantic","old_version":"2.10.6","new_version":"2.12.5","repository_url":"https://github.com/pydantic/pydantic"},{"name":"google-auth","old_version":"2.38.0","new_version":"2.45.0","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"python-dotenv","old_version":"1.0.1","new_version":"1.2.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"orjson","old_version":"3.10.16","new_version":"3.11.5","repository_url":"https://github.com/ijl/orjson"},{"name":"geopandas","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/geopandas/geopandas"},{"name":"geoalchemy2","old_version":"0.17.1","new_version":"0.18.1","repository_url":"https://github.com/geoalchemy/geoalchemy2"},{"name":"gql","old_version":"3.5.2","new_version":"4.0.0","repository_url":"https://github.com/graphql-python/gql"},{"name":"anyio","old_version":"4.10.0","new_version":"4.12.0","repository_url":"https://github.com/agronholm/anyio"},{"name":"duckdb","old_version":"1.3.2","new_version":"1.4.3","repository_url":"https://github.com/duckdb/duckdb-python"},{"name":"oracledb","old_version":"3.3.0","new_version":"3.4.1","repository_url":"https://github.com/oracle/python-oracledb"},{"name":"uvicorn","old_version":"0.35.0","new_version":"0.40.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"uvicorn-worker","old_version":"0.3.0","new_version":"0.4.0","repository_url":"https://github.com/Kludex/uvicorn-worker"},{"name":"redshift-connector","old_version":"2.1.7","new_version":"2.1.10","repository_url":"https://github.com/aws/amazon-redshift-python-driver"},{"name":"datafusion","old_version":"47.0.0","new_version":"50.1.0","repository_url":"https://github.com/apache/datafusion-python"},{"name":"starlette","old_version":"0.49.1","new_version":"0.50.0","repository_url":"https://github.com/Kludex/starlette"},{"name":"databricks-sql-connector","old_version":"4.1.4","new_version":"4.2.3","repository_url":"https://github.com/databricks/databricks-sql-python"},{"name":"databricks-sdk","old_version":"0.73.0","new_version":"0.76.0","repository_url":"https://github.com/databricks/databricks-sdk-py"},{"name":"jupyterlab","old_version":"4.4.9","new_version":"4.5.1","repository_url":"https://github.com/jupyterlab/jupyterlab"},{"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":"matplotlib","old_version":"3.10.6","new_version":"3.10.8","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"plotly","old_version":"6.3.0","new_version":"6.5.0","repository_url":"https://github.com/plotly/plotly.py"},{"name":"pytest","old_version":"8.3.5","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"testcontainers","old_version":"4.9.2","new_version":"4.13.3","repository_url":"https://github.com/testcontainers/testcontainers-python"},{"name":"sqlalchemy","old_version":"2.0.39","new_version":"2.0.45","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"pre-commit","old_version":"4.2.0","new_version":"4.5.1","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"ruff","old_version":"0.11.2","new_version":"0.14.10","repository_url":"https://github.com/astral-sh/ruff"},{"name":"trino","old_version":"0.335.0","new_version":"0.336.0","repository_url":"https://github.com/trinodb/trino-python-client"},{"name":"psycopg2","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"clickhouse-connect","old_version":"0.8.15","new_version":"0.10.0","repository_url":"https://github.com/ClickHouse/clickhouse-connect"},{"name":"polars","old_version":"1.33.1","new_version":"1.36.1","repository_url":"https://github.com/pola-rs/polars"}],"path":null,"ecosystem":"pip"},"body":"Bumps the all group with 32 updates in the /ibis-server directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.120.1` | `0.128.0` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.10.6` | `2.12.5` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.38.0` | `2.45.0` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.2.1` |\n| [orjson](https://github.com/ijl/orjson) | `3.10.16` | `3.11.5` |\n| [geopandas](https://github.com/geopandas/geopandas) | `1.1.1` | `1.1.2` |\n| [geoalchemy2](https://github.com/geoalchemy/geoalchemy2) | `0.17.1` | `0.18.1` |\n| [gql](https://github.com/graphql-python/gql) | `3.5.2` | `4.0.0` |\n| [anyio](https://github.com/agronholm/anyio) | `4.10.0` | `4.12.0` |\n| [duckdb](https://github.com/duckdb/duckdb-python) | `1.3.2` | `1.4.3` |\n| [oracledb](https://github.com/oracle/python-oracledb) | `3.3.0` | `3.4.1` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.35.0` | `0.40.0` |\n| [uvicorn-worker](https://github.com/Kludex/uvicorn-worker) | `0.3.0` | `0.4.0` |\n| [redshift-connector](https://github.com/aws/amazon-redshift-python-driver) | `2.1.7` | `2.1.10` |\n| [datafusion](https://github.com/apache/datafusion-python) | `47.0.0` | `50.1.0` |\n| [starlette](https://github.com/Kludex/starlette) | `0.49.1` | `0.50.0` |\n| [databricks-sql-connector](https://github.com/databricks/databricks-sql-python) | `4.1.4` | `4.2.3` |\n| [databricks-sdk](https://github.com/databricks/databricks-sdk-py) | `0.73.0` | `0.76.0` |\n| [jupyterlab](https://github.com/jupyterlab/jupyterlab) | `4.4.9` | `4.5.1` |\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| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.10.6` | `3.10.8` |\n| [plotly](https://github.com/plotly/plotly.py) | `6.3.0` | `6.5.0` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.3.5` | `9.0.2` |\n| [testcontainers](https://github.com/testcontainers/testcontainers-python) | `4.9.2` | `4.13.3` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.39` | `2.0.45` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.2.0` | `4.5.1` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.11.2` | `0.14.10` |\n| [trino](https://github.com/trinodb/trino-python-client) | `0.335.0` | `0.336.0` |\n| [psycopg2](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [clickhouse-connect](https://github.com/ClickHouse/clickhouse-connect) | `0.8.15` | `0.10.0` |\n| [polars](https://github.com/pola-rs/polars) | `1.33.1` | `1.36.1` |\n\n\nUpdates `fastapi` from 0.120.1 to 0.128.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.128.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e➖ Drop support for \u003ccode\u003epydantic.v1\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14609\"\u003e#14609\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Run performance tests only on Pydantic v2. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14608\"\u003e#14608\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.127.1\u003c/h2\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔊 Add a custom \u003ccode\u003eFastAPIDeprecationWarning\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14605\"\u003e#14605\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Add documentary to website. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14600\"\u003e#14600\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🌐 Update translations for de (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14602\"\u003e#14602\u003c/a\u003e by \u003ca href=\"https://github.com/nilslindemann\"\u003e\u003ccode\u003e@​nilslindemann\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for de (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14581\"\u003e#14581\u003c/a\u003e by \u003ca href=\"https://github.com/nilslindemann\"\u003e\u003ccode\u003e@​nilslindemann\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Update pre-commit to use local Ruff instead of hook. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14604\"\u003e#14604\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✅ Add missing tests for code examples. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14569\"\u003e#14569\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👷 Remove \u003ccode\u003elint\u003c/code\u003e job from \u003ccode\u003etest\u003c/code\u003e CI workflow. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14593\"\u003e#14593\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👷 Update secrets check. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14592\"\u003e#14592\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👷 Run CodSpeed tests in parallel to other tests to speed up CI. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14586\"\u003e#14586\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔨 Update scripts and pre-commit to autofix files. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14585\"\u003e#14585\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.127.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔊 Add deprecation warnings when using \u003ccode\u003epydantic.v1\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14583\"\u003e#14583\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Add LLM prompt file for Korean, generated from the existing translations. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14546\"\u003e#14546\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔧 Add LLM prompt file for Japanese, generated from the existing translations. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14545\"\u003e#14545\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆️ Upgrade OpenAI model for translations to gpt-5.2. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14579\"\u003e#14579\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.126.0\u003c/h2\u003e\n\u003ch3\u003eUpgrades\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e➖ Drop support for Pydantic v1, keeping short temporary support for Pydantic v2's \u003ccode\u003epydantic.v1\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14575\"\u003e#14575\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/8322a4445a3b25acd9b26b61192571b2d92f9bcd\"\u003e\u003ccode\u003e8322a44\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.128.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/4b2cfcfd34d0b2e158a05b377426e0c8376b94de\"\u003e\u003ccode\u003e4b2cfcf\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/e3006305518a56ea35f62a31748ad26fe4356fcc\"\u003e\u003ccode\u003ee300630\u003c/code\u003e\u003c/a\u003e ➖ Drop support for \u003ccode\u003epydantic.v1\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14609\"\u003e#14609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/1b3bea8b6be2220cc1544653ea785d2134fcb35b\"\u003e\u003ccode\u003e1b3bea8\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/34e884156f38dff4094a7764ff895c4d4b872060\"\u003e\u003ccode\u003e34e8841\u003c/code\u003e\u003c/a\u003e ✅ Run performance tests only on Pydantic v2 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14608\"\u003e#14608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/cd90c78391f86f3fd06d5b327bffad9666b05b44\"\u003e\u003ccode\u003ecd90c78\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.127.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/93f4dfd88b7d62bda89eb521ebd9322e357e6fff\"\u003e\u003ccode\u003e93f4dfd\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/535b5daa317a9d1d1f9a1058e57650a7beefa861\"\u003e\u003ccode\u003e535b5da\u003c/code\u003e\u003c/a\u003e 🔊 Add a custom \u003ccode\u003eFastAPIDeprecationWarning\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14605\"\u003e#14605\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/6b53786f626db95a42fd0f66afd360bab161f4b1\"\u003e\u003ccode\u003e6b53786\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/d98f4eb56eae3155034fe631d9639d95171fb9ab\"\u003e\u003ccode\u003ed98f4eb\u003c/code\u003e\u003c/a\u003e 🔧 Update pre-commit to use local Ruff instead of hook (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14604\"\u003e#14604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.120.1...0.128.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.10.6 to 2.12.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.5 2025-11-26\u003c/h2\u003e\n\u003ch2\u003ev2.12.5 (2025-11-26)\u003c/h2\u003e\n\u003cp\u003eThis is the fifth 2.12 patch release, addressing an issue with the \u003ccode\u003eMISSING\u003c/code\u003e sentinel and providing several documentation improvements.\u003c/p\u003e\n\u003cp\u003eThe next 2.13 minor release will be published in a couple weeks, and will include a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature addressing\nthe remaining unexpected changes to the \u003cem\u003eserialize as any\u003c/em\u003e behavior.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickle error when using \u003ccode\u003emodel_construct()\u003c/code\u003e on a model with \u003ccode\u003eMISSING\u003c/code\u003e as a default value by \u003ca href=\"https://github.com/ornariece\"\u003e\u003ccode\u003e@​ornariece\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12522\"\u003e#12522\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSeveral updates to the documentation by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.4 2025-11-05\u003c/h2\u003e\n\u003ch2\u003ev2.12.4 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003eThis is the fourth 2.12 patch release, fixing more regressions, and reverting a change in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis patch release also fixes an issue with the serialization of IP address types, when \u003ccode\u003eserialize_as_any\u003c/code\u003e is used. The next patch release\nwill try to address the remaining issues with \u003cem\u003eserialize as any\u003c/em\u003e behavior by introducing a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature, that\nshould be used in most cases in place of \u003cem\u003eserialize as any\u003c/em\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with forward references in parent \u003ccode\u003eTypedDict\u003c/code\u003e classes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12427\"\u003e#12427\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis issue is only relevant on Python 3.14 and greater.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExclude fields with \u003ccode\u003eexclude_if\u003c/code\u003e from JSON Schema required fields by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12430\"\u003e#12430\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRevert URL percent-encoding of credentials in the \u003ccode\u003ebuild()\u003c/code\u003e method of the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1833\"\u003epydantic-core#1833\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis was initially considered as a bugfix, but caused regressions and as such was fully reverted. The next release will include\nan opt-in option to percent-encode components of the URL.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type inference for IP address types by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1868\"\u003epydantic-core#1868\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThe 2.12 changes to the \u003ccode\u003eserialize_as_any\u003c/code\u003e behavior made it so that IP address types could not properly serialize to JSON.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid getting default values from defaultdict by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1853\"\u003epydantic-core#1853\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis fixes a subtle regression in the validation behavior of the \u003ca href=\"https://docs.python.org/3/library/collections.html#collections.defaultdict\"\u003e\u003ccode\u003ecollections.defaultdict\u003c/code\u003e\u003c/a\u003e\ntype.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with field serializers on nested typed dictionaries by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1879\"\u003epydantic-core#1879\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd more \u003ccode\u003epydantic-core\u003c/code\u003e builds for the three-threaded version of Python 3.14 by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1864\"\u003epydantic-core#1864\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.3...v2.12.4\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.3...v2.12.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.3 2025-10-17\u003c/h2\u003e\n\u003ch2\u003ev2.12.3 (2025-10-17)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis is the third 2.13 patch release, fixing issues related to the \u003ccode\u003eFieldInfo\u003c/code\u003e class, and reverting a change to the supported \u003ca href=\"https://docs.pydantic.dev/latest/concepts/validators/#model-validators\"\u003e\u003cem\u003eafter\u003c/em\u003e model validator\u003c/a\u003e function signatures.\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/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.5 (2025-11-26)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.5\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is the fifth 2.12 patch release, addressing an issue with the \u003ccode\u003eMISSING\u003c/code\u003e sentinel and providing several documentation improvements.\u003c/p\u003e\n\u003cp\u003eThe next 2.13 minor release will be published in a couple weeks, and will include a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature addressing\nthe remaining unexpected changes to the \u003cem\u003eserialize as any\u003c/em\u003e behavior.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickle error when using \u003ccode\u003emodel_construct()\u003c/code\u003e on a model with \u003ccode\u003eMISSING\u003c/code\u003e as a default value by \u003ca href=\"https://github.com/ornariece\"\u003e\u003ccode\u003e@​ornariece\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12522\"\u003e#12522\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSeveral updates to the documentation by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.12.4 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.4\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is the fourth 2.12 patch release, fixing more regressions, and reverting a change in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis patch release also fixes an issue with the serialization of IP address types, when \u003ccode\u003eserialize_as_any\u003c/code\u003e is used. The next patch release\nwill try to address the remaining issues with \u003cem\u003eserialize as any\u003c/em\u003e behavior by introducing a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature, that\nshould be used in most cases in place of \u003cem\u003eserialize as any\u003c/em\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with forward references in parent \u003ccode\u003eTypedDict\u003c/code\u003e classes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12427\"\u003e#12427\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis issue is only relevant on Python 3.14 and greater.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExclude fields with \u003ccode\u003eexclude_if\u003c/code\u003e from JSON Schema required fields by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12430\"\u003e#12430\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRevert URL percent-encoding of credentials in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in\n\u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1833\"\u003epydantic-core#1833\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis was initially considered as a bugfix, but caused regressions and as such was fully reverted. The next release will include\nan opt-in option to percent-encode components of the URL.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type inference for IP address types by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1868\"\u003epydantic-core#1868\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThe 2.12 changes to the \u003ccode\u003eserialize_as_any\u003c/code\u003e behavior made it so that IP address types could not properly serialize to JSON.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid getting default values from defaultdict by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1853\"\u003epydantic-core#1853\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis fixes a subtle regression in the validation behavior of the \u003ca href=\"https://docs.python.org/3/library/collections.html#collections.defaultdict\"\u003e\u003ccode\u003ecollections.defaultdict\u003c/code\u003e\u003c/a\u003e\ntype.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with field serializers on nested typed dictionaries by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1879\"\u003epydantic-core#1879\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd more \u003ccode\u003epydantic-core\u003c/code\u003e builds for the three-threaded version of Python 3.14 by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1864\"\u003epydantic-core#1864\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.12.3 (2025-10-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.3\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/bd2d0dd0137dfa1a8fdff2529b9dfb1547980150\"\u003e\u003ccode\u003ebd2d0dd\u003c/code\u003e\u003c/a\u003e Prepare release v2.12.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/7d0302ec7ec2cf115de3450a615522875bdd8b56\"\u003e\u003ccode\u003e7d0302e\u003c/code\u003e\u003c/a\u003e Document security implications when using \u003ccode\u003ecreate_model()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/e9ef980def726b6f59b6c495ddc9dc259a0228db\"\u003e\u003ccode\u003ee9ef980\u003c/code\u003e\u003c/a\u003e Fix typo in Standard Library Types documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f2c20c00c265a31a13c48f9bae923a87c829952e\"\u003e\u003ccode\u003ef2c20c0\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003epydantic-docs\u003c/code\u003e dev dependency, make use of versioning blocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a76c1aa26f2d64a3fd080ac515d80832689197e8\"\u003e\u003ccode\u003ea76c1aa\u003c/code\u003e\u003c/a\u003e Update documentation about JSON Schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8cbc72ca489891e574fba45238ee8bd4f8e719a2\"\u003e\u003ccode\u003e8cbc72c\u003c/code\u003e\u003c/a\u003e Add documentation about custom \u003ccode\u003e__init__()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/99eba599069da137b3f708ffa74627f2b456ba73\"\u003e\u003ccode\u003e99eba59\u003c/code\u003e\u003c/a\u003e Add additional test for \u003ccode\u003eFieldInfo.get_default()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c71076988e507ea93844c77c3bf0bbb85a5716af\"\u003e\u003ccode\u003ec710769\u003c/code\u003e\u003c/a\u003e Special case \u003ccode\u003eMISSING\u003c/code\u003e sentinel in \u003ccode\u003esmart_deepcopy()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/20a9d771c210fd77d52366ac923258c4c199727f\"\u003e\u003ccode\u003e20a9d77\u003c/code\u003e\u003c/a\u003e Do not delete mock validator/serializer in \u003ccode\u003erebuild_dataclass()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c86515a3a8f2120148fab2eaedd3bc45925779d0\"\u003e\u003ccode\u003ec86515a\u003c/code\u003e\u003c/a\u003e Update parts of the model and \u003ccode\u003erevalidate_instances\u003c/code\u003e documentation\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.10.6...v2.12.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-auth` from 2.38.0 to 2.45.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/releases\"\u003egoogle-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-auth 2.45.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.44.0...v2.45.0\"\u003e2.45.0\u003c/a\u003e (2025-12-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdding Agent Identity bound token support and handling certificate mismatches with retries (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1890\"\u003e#1890\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b32c934e\"\u003eb32c934e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-auth 2.44.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.43.0...v2.44.0\"\u003e2.44.0\u003c/a\u003e (2025-12-12)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMDS connections use mTLS (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1856\"\u003e#1856\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0387bb95\"\u003e0387bb95\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003esupport Python 3.14 (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1822\"\u003e#1822\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0f7097e7\"\u003e0f7097e7\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd ecdsa p-384 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1872\"\u003e#1872\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/39c381a5\"\u003e39c381a5\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd shlex to correctly parse executable commands with spaces (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1855\"\u003e#1855\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/cf6fc3cc\"\u003ecf6fc3cc\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement token revocation in STS client and add revoke() metho… (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1849\"\u003e#1849\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/d5638986\"\u003ed5638986\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd temporary patch to workload cert logic to accomodate Cloud Run mis-configuration (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1880\"\u003e#1880\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/78de7907\"\u003e78de7907\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDelegate workload cert and key default lookup to helper function (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1877\"\u003e#1877\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b0993c7e\"\u003eb0993c7e\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse public refresh method for source credentials in ImpersonatedCredentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1884\"\u003e#1884\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/e0c3296f\"\u003ee0c3296f\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-auth 2.43.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.42.1...v2.43.0\"\u003e2.43.0\u003c/a\u003e (2025-11-05)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd public wrapper for _mtls_helper.check_use_client_cert which enables mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE is not set, when the MWID/X.509 cert sources detected (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1859\"\u003e#1859\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/1535eccb\"\u003e1535eccb\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnable mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE  is not set, if the MWID/X.509 cert sources detected (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1848\"\u003e#1848\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/395e405b\"\u003e395e405b\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eonboard \u003ccode\u003egoogle-auth\u003c/code\u003e to librarian (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1838\"\u003e#1838\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/c503eaa5\"\u003ec503eaa5\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.42.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.42.0...v2.42.1\"\u003e2.42.1\u003c/a\u003e (2025-10-30)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCatch ValueError for json.loads() (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1842\"\u003e#1842\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b074cad460589633adfc6744c01726ae86f2aa2b\"\u003eb074cad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.42.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md\"\u003egoogle-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.44.0...v2.45.0\"\u003e2.45.0\u003c/a\u003e (2025-12-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdding Agent Identity bound token support and handling certificate mismatches with retries (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1890\"\u003e#1890\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b32c934e6b0d09b94c467cd432a0a635e8b05f5c\"\u003eb32c934e6b0d09b94c467cd432a0a635e8b05f5c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.43.0...v2.44.0\"\u003e2.44.0\u003c/a\u003e (2025-12-13)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport Python 3.14 (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1822\"\u003e#1822\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0f7097e78f247665b6ef0287d482033f7be2ed6d\"\u003e0f7097e78f247665b6ef0287d482033f7be2ed6d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ecdsa p-384 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1872\"\u003e#1872\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/39c381a5f6881b590025f36d333d12eff8dc60fc\"\u003e39c381a5f6881b590025f36d333d12eff8dc60fc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMDS connections use mTLS (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1856\"\u003e#1856\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0387bb95713653d47e846cad3a010eb55ef2db4c\"\u003e0387bb95713653d47e846cad3a010eb55ef2db4c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement token revocation in STS client and add revoke() metho… (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1849\"\u003e#1849\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/d5638986ca03ee95bfffa9ad821124ed7e903e63\"\u003ed5638986ca03ee95bfffa9ad821124ed7e903e63\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd shlex to correctly parse executable commands with spaces (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1855\"\u003e#1855\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/cf6fc3cced78bc1362a7fe596c32ebc9ce03c26b\"\u003ecf6fc3cced78bc1362a7fe596c32ebc9ce03c26b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse public refresh method for source credentials in ImpersonatedCredentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1884\"\u003e#1884\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/e0c3296f471747258f6d98d2d9bfde636358ecde\"\u003ee0c3296f471747258f6d98d2d9bfde636358ecde\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd temporary patch to workload cert logic to accomodate Cloud Run mis-configuration (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1880\"\u003e#1880\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/78de7907b8bdb7b5510e3c6fa8a3f3721e2436d7\"\u003e78de7907b8bdb7b5510e3c6fa8a3f3721e2436d7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDelegate workload cert and key default lookup to helper function (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1877\"\u003e#1877\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b0993c7edaba505d0fb0628af28760c43034c959\"\u003eb0993c7edaba505d0fb0628af28760c43034c959\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-auth-v2.42.1...google-auth-v2.43.0\"\u003e2.43.0\u003c/a\u003e (2025-11-05)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd public wrapper for _mtls_helper.check_use_client_cert which enables mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE is not set, when the MWID/X.509 cert sources detected (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1859\"\u003e#1859\u003c/a\u003e) Add public wrapper for check_use_client_cert which enables mTLS if\nGOOGLE_API_USE_CLIENT_CERTIFICATE is not set, when the MWID/X.509 cert\nsources detected. Also, fix check_use_client_cert to return boolean\nvalue.\nChange \u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1848\"\u003e#1848\u003c/a\u003e added the check_use_client_cert method that helps know if\nclient cert should be used for mTLS connection. However, that was in a\nprivate class, thus, created a public wrapper of the same function so\nthat it can be used by python Client Libraries. Also, updated\ncheck_use_client_cert to return a boolean value instead of existing\nstring value for better readability and future scope.\n--------- (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1535eccbff0ad8f3fd6a9775316ac8b77dca66ba\"\u003e1535eccbff0ad8f3fd6a9775316ac8b77dca66ba\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnable mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE  is not set, if the MWID/X.509 cert sources detected (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1848\"\u003e#1848\u003c/a\u003e) The Python SDK will use a hybrid approach for mTLS enablement:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eIf the GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is set\n(either true or false), the SDK will respect that setting. This is\nnecessary for test scenarios and users who need to explicitly control\nmTLS behavior.\u003c/li\u003e\n\u003cli\u003eIf the GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is not\nset, the SDK will automatically enable mTLS only if it detects Managed\nWorkload Identity (MWID) or X.509 Workforce Identity Federation (WIF)\ncertificate sources. In other cases where the variable is not set, mTLS\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/08fabf776c02dc6a70472b3ddd9733d66d0053bf\"\u003e\u003ccode\u003e08fabf7\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20251215T132028Z (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1891\"\u003e#1891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b32c934e6b0d09b94c467cd432a0a635e8b05f5c\"\u003e\u003ccode\u003eb32c934\u003c/code\u003e\u003c/a\u003e feat: Adding Agent Identity bound token support and handling certificate mism...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/262eb9e33d58ffeb536ecd083c22d9fb12c808e6\"\u003e\u003ccode\u003e262eb9e\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20251212T161150Z (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1888\"\u003e#1888\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0f7097e78f247665b6ef0287d482033f7be2ed6d\"\u003e\u003ccode\u003e0f7097e\u003c/code\u003e\u003c/a\u003e feat: support Python 3.14 (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1822\"\u003e#1822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/e0c3296f471747258f6d98d2d9bfde636358ecde\"\u003e\u003ccode\u003ee0c3296\u003c/code\u003e\u003c/a\u003e fix(auth): Use public refresh method for source credentials in ImpersonatedCr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/78de7907b8bdb7b5510e3c6fa8a3f3721e2436d7\"\u003e\u003ccode\u003e78de790\u003c/code\u003e\u003c/a\u003e fix(auth): Add temporary patch to workload cert logic to accomodate Cloud Run...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/3e8a56687fd050ff44a35cc8db0e95e996648173\"\u003e\u003ccode\u003e3e8a566\u003c/code\u003e\u003c/a\u003e chore(tests): allow expired secret in system tests (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1883\"\u003e#1883\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b0993c7edaba505d0fb0628af28760c43034c959\"\u003e\u003ccode\u003eb0993c7\u003c/code\u003e\u003c/a\u003e fix(auth): Delegate workload cert and key default lookup to helper function (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/2c374d36a61569b75d11c17fae124d591c52ddc6\"\u003e\u003ccode\u003e2c374d3\u003c/code\u003e\u003c/a\u003e chore: update secret (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1879\"\u003e#1879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/39c381a5f6881b590025f36d333d12eff8dc60fc\"\u003e\u003ccode\u003e39c381a\u003c/code\u003e\u003c/a\u003e feat: add ecdsa p-384 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1872\"\u003e#1872\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.38.0...v2.45.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-dotenv` from 1.0.1 to 1.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/releases\"\u003epython-dotenv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport reading .env from FIFOs (Unix) by \u003ca href=\"https://github.com/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/586\"\u003etheskumar/python-dotenv#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CI to use trusted publishing on PyPI\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/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/586\"\u003etheskumar/python-dotenv#586\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.0...v1.2.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.0...v1.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: upgrade to use ruff by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/567\"\u003etheskumar/python-dotenv#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse sys.exit() instead of exit() by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/568\"\u003etheskumar/python-dotenv#568\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat:  add \u003ccode\u003ePYTHON_DOTENV_DISABLED\u003c/code\u003e flag to disable load_dotenv (fixes \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/510\"\u003e#510\u003c/a\u003e) by \u003ca href=\"https://github.com/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Python@3.14: Github CI \u0026amp; tox.ini by \u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eocs: clarify what load_dotenv() does in README by \u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group across 1 directory with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/577\"\u003etheskumar/python-dotenv#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove project metadata and config to pyproject.toml by \u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/583\"\u003etheskumar/python-dotenv#583\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/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/583\"\u003etheskumar/python-dotenv#583\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.0\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure find_dotenv work reliably on python 3.13 by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/563\"\u003etheskumar/python-dotenv#563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(cli): issue with execvpe on Windows by \u003ca href=\"https://github.com/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003etheskumar/python-dotenv#566\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/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003etheskumar/python-dotenv#566\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.1.0...v1.1.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.0...v1.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a security policy by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/512\"\u003etheskumar/python-dotenv#512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep GitHub Actions up to date with GitHub's Dependabot by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/506\"\u003etheskumar/python-dotenv#506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: fix multiline string in test.yml \u0026amp; use fail-fast strategy by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/514\"\u003etheskumar/python-dotenv#514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnhance dotenv run: Switch to execvpe for better resource management and signal handling by \u003ca href=\"https://github.com/eekstunt\"\u003e\u003ccode\u003e@​eekstunt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/523\"\u003etheskumar/python-dotenv#523\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add py3.13 to test.yml by \u003ca href=\"https://github.com/waketzheng\"\u003e\u003ccode\u003e@​waketzheng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/527\"\u003etheskumar/python-dotenv#527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Python 3.13 trove classifier by \u003ca href=\"https://github.com/edgarrmondragon\"\u003e\u003ccode\u003e@​edgarrmondragon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/535\"\u003etheskumar/python-dotenv#535\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/529\"\u003etheskumar/python-dotenv#529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for python 3.13 and drop 3.8 by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/551\"\u003etheskumar/python-dotenv#551\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Update README.md by \u003ca href=\"https://github.com/chapeupreto\"\u003e\u003ccode\u003e@​chapeupreto\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/516\"\u003etheskumar/python-dotenv#516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSome more s/Python-dotenv/python-dotenv/ by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/552\"\u003etheskumar/python-dotenv#552\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/theskumar/python-dotenv/blob/main/CHANGELOG.md\"\u003epython-dotenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.2.1] - 2025-10-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMove more config to \u003ccode\u003epyproject.toml\u003c/code\u003e, removed \u003ccode\u003esetup.cfg\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for reading \u003ccode\u003e.env\u003c/code\u003e from FIFOs (Unix) by [\u003ca href=\"https://github.com/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/586\"\u003e#586\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.2.0] - 2025-10-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade build system to use PEP 517 \u0026amp; PEP 518 to use \u003ccode\u003ebuild\u003c/code\u003e and \u003ccode\u003epyproject.toml\u003c/code\u003e by [\u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/583\"\u003e#583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.14 by [\u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/563\"\u003e#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for disabling of \u003ccode\u003eload_dotenv()\u003c/code\u003e using \u003ccode\u003ePYTHON_DOTENV_DISABLED\u003c/code\u003e env var. by [\u003ca href=\"https://github.com/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/569\"\u003e#569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.1.1] - 2025-06-24\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCLI: Ensure \u003ccode\u003efind_dotenv\u003c/code\u003e work reliably on python 3.13 by [\u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/563\"\u003e#563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI: revert the use of execvpe on Windows by [\u003ca href=\"https://github.com/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003e#566\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.1.0] - 2025-03-25\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFeature\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for python 3.13\u003c/li\u003e\n\u003cli\u003eEnhance \u003ccode\u003edotenv run\u003c/code\u003e, switch to \u003ccode\u003eexecvpe\u003c/code\u003e for better resource management and signal handling (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/523\"\u003e#523\u003c/a\u003e) by [\u003ca href=\"https://github.com/eekstunt\"\u003e\u003ccode\u003e@​eekstunt\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFixed\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003efind_dotenv\u003c/code\u003e and \u003ccode\u003eload_dotenv\u003c/code\u003e now correctly looks up at the current directory when running in debugger or pdb (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/553\"\u003e#553\u003c/a\u003e by [\u003ca href=\"https://github.com/randomseed42\"\u003e\u003ccode\u003e@​randomseed42\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eMisc\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/eaf2a9129ccec6febda0f741eb3bb852c3f947bd\"\u003e\u003ccode\u003eeaf2a91\u003c/code\u003e\u003c/a\u003e Do not remove .coverage file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/8716196891532eeb67d24a513e8d975437f5e8b7\"\u003e\u003ccode\u003e8716196\u003c/code\u003e\u003c/a\u003e Bump version: 1.2.0 → 1.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/b87807fcad6e74332c3c63a75c92ce5814fa7a55\"\u003e\u003ccode\u003eb87807f\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/3af77d3029eb717aeec0a3c25f751b6a614a6d3c\"\u003e\u003ccode\u003e3af77d3\u003c/code\u003e\u003c/a\u003e Support reading .env from FIFOs (Unix) (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/586\"\u003e#586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/467ee22fccb2fb7ccda71a0d9e37c6ea3cb8d993\"\u003e\u003ccode\u003e467ee22\u003c/code\u003e\u003c/a\u003e Fix test failures after moving config to pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/76999e741d87e958ebd74e3ae9834c0514e77a59\"\u003e\u003ccode\u003e76999e7\u003c/code\u003e\u003c/a\u003e Move more config pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/222ce2cc58ebc82ba78da8781269267b9f585932\"\u003e\u003ccode\u003e222ce2c\u003c/code\u003e\u003c/a\u003e Update to use trusted publisher on pypi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/8ed4f79d202eba582b44bdf1f5deb726dd68783d\"\u003e\u003ccode\u003e8ed4f79\u003c/code\u003e\u003c/a\u003e Update docs requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/5bf882241c607445bf02cf5b241535d62e2b99c1\"\u003e\u003ccode\u003e5bf8822\u003c/code\u003e\u003c/a\u003e Bump version: 1.1.1 → 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/1fe11cc737ee4399e9c51d1b69b0dd858f6b4669\"\u003e\u003ccode\u003e1fe11cc\u003c/code\u003e\u003c/a\u003e upadate changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.0.1...v1.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `orjson` from 3.10.16 to 3.11.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.5\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.85 or later instead of 1.82.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.1\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePublish PyPI wheels for CPython 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003estr\u003c/code\u003e on big-endian architectures.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse a deserialization buffer allocated per request instead of a shared buffer allocated on import.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.14 beta 4.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.10.18\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix incorrect escaping of the vertical tabulation character. This was\nintroduced in 3.10.17.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.10.17\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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.5 - 2025-12-06\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4 - 2025-10-24\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3 - 2025-08-26\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2 - 2025-08-12\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.85 or later instead of 1.82.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.1 - 2025-07-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePublish PyPI wheels for CPython 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003estr\u003c/code\u003e on big-endian architectures. This was introduced in 3.11.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.0 - 2025-07-15\u003c/h2\u003e\n\u003ch3\u003eChanged\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/ijl/orjson/commit/fb3eb1f729c7e7b019f780af5695722c99c7c695\"\u003e\u003ccode\u003efb3eb1f\u003c/code\u003e\u003c/a\u003e 3.11.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/52688e02c51c845cde24a46cd1011a6010d10eb8\"\u003e\u003ccode\u003e52688e0\u003c/code\u003e\u003c/a\u003e Record contributors in headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/dc083e87d5262e7dde3ba4b1d2a377b5b065a27c\"\u003e\u003ccode\u003edc083e8\u003c/code\u003e\u003c/a\u003e Further compatibility and build misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/18f0186d47fbadd53c9db4e39a442d5b04225418\"\u003e\u003ccode\u003e18f0186\u003c/code\u003e\u003c/a\u003e Compatibility and build misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/a4fdeb3aff125d501ec0dd0577f9b38b2b977b4f\"\u003e\u003ccode\u003ea4fdeb3\u003c/code\u003e\u003c/a\u003e 3.11.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/2e80d68afacafca8751e6a64ca05d0d4087dbd15\"\u003e\u003ccode\u003e2e80d68\u003c/code\u003e\u003c/a\u003e unlikely to cold_path, remove intrinsics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/27edea92f8da2fdfc3f1342474e2f1686f1edf55\"\u003e\u003ccode\u003e27edea9\u003c/code\u003e\u003c/a\u003e FFI through crate::ffi, partial non-CPython compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/416a8c9578da780d0d58b5e6b751793deafc610d\"\u003e\u003ccode\u003e416a8c9\u003c/code\u003e\u003c/a\u003e Unconditionally build yyjson\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/c8c1a17dca8436a2fee05ca060febd096e653d98\"\u003e\u003ccode\u003ec8c1a17\u003c/code\u003e\u003c/a\u003e edition 2024\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/af4179a1fa0aafffd0f867203b6c36e9a522f165\"\u003e\u003ccode\u003eaf4179a\u003c/code\u003e\u003c/a\u003e build maintenance, panic_immediate_abort break, test 3.15\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ijl/orjson/compare/3.10.16...3.11.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `geopandas` from 1.1.1 to 1.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/geopandas/geopandas/releases\"\u003egeopandas's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.1.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix an issue that caused an error in \u003ccode\u003eGeoDataFrame.from_features\u003c/code\u003e when there is no \u003ccode\u003eproperties\u003c/code\u003e field (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3599\"\u003e#3599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eread_file\u003c/code\u003e and \u003ccode\u003eto_file\u003c/code\u003e errors (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3682\"\u003e#3682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eread_parquet\u003c/code\u003e with \u003ccode\u003eto_pandas_kwargs\u003c/code\u003e for complex (list/struct) arrow types (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3640\"\u003e#3640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003evalue_counts\u003c/code\u003e on GeoSeries now preserves CRS in index (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3669\"\u003e#3669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix f-string placeholders appearing in error messages when \u003ccode\u003epyogrio\u003c/code\u003e cannot be imported (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3682\"\u003e#3682\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eread_parquet\u003c/code\u003e with \u003ccode\u003eto_pandas_kwargs\u003c/code\u003e for complex (list/struct) arrow types (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3640\"\u003e#3640\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e.to_json\u003c/code\u003e now provides a clearer error message when called on a GeoDataFrame without an active geometry\ncolumn (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3648\"\u003e#3648\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eCalling \u003ccode\u003edel gdf[\u0026quot;geometry\u0026quot;]\u003c/code\u003e now will downcast to a \u003ccode\u003epd.DataFrame\u003c/code\u003e if there are no geometry columns left\nin the dataframe (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3648\"\u003e#3648\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix SQL injection in \u003ccode\u003eto_postgis\u003c/code\u003e via geometry column name (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3681\"\u003e#3681\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/geopandas/geopandas/compare/v1.1.1...v1.1.2\"\u003ehttps://github.com/geopandas/geopandas/compare/v1.1.1...v1.1.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/geopandas/geopandas/blob/main/CHANGELOG.md\"\u003egeopandas's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.1.2 (December 22, 2025)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix an issue that caused an error in \u003ccode\u003eGeoDataFrame.from_features\u003c/code\u003e when there is no \u003ccode\u003eproperties\u003c/code\u003e field (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3599\"\u003e#3599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eread_file\u003c/code\u003e and \u003ccode\u003eto_file\u003c/code\u003e errors (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3682\"\u003e#3682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eread_parquet\u003c/code\u003e with \u003ccode\u003eto_pandas_kwargs\u003c/code\u003e for complex (list/struct) arrow types (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3640\"\u003e#3640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003evalue_counts\u003c/code\u003e on GeoSeries now preserves CRS in index (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3669\"\u003e#3669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix f-string placeholders appearing in error messages when \u003ccode\u003epyogrio\u003c/code\u003e cannot be imported (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3682\"\u003e#3682\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eread_parquet\u003c/code\u003e with \u003ccode\u003eto_pandas_kwargs\u003c/code\u003e for complex (list/struct) arrow types (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3640\"\u003e#3640\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e.to_json\u003c/code\u003e now provides a clearer error message when called on a GeoDataFrame without an active geometry\ncolumn (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3648\"\u003e#3648\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eCalling \u003ccode\u003edel gdf[\u0026quot;geometry\u0026quot;]\u003c/code\u003e now will downcast to a \u003ccode\u003epd.DataFrame\u003c/code\u003e if there are no geometry columns left\nin the dataframe (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3648\"\u003e#3648\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix SQL injection in \u003ccode\u003eto_postgis\u003c/code\u003e via geometry column name (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3681\"\u003e#3681\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/geopandas/geopandas/commit/81214bf9f3eaba9f5fdcfd141ae8d16fa17fd860\"\u003e\u003ccode\u003e81214bf\u003c/code\u003e\u003c/a\u003e RLS: backport fixes for 1.1.2 (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3693\"\u003e#3693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geopandas/geopandas/commit/62dd4a2469bb6236b83fb91466a8183321da04da\"\u003e\u003ccode\u003e62dd4a2\u003c/code\u003e\u003c/a\u003e COMPAT: pandas 3 refactor breaks \u003cstrong\u003efinalize\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3611\"\u003e#3611\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/geopandas/geopandas/compare/v1.1.1...v1.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `geoalchemy2` from 0.17.1 to 0.18.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/geoalchemy/geoalchemy2/releases\"\u003egeoalchemy2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.18.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix (mysql): Fix failing test for MySQL dialect by \u003ca href=\"https://github.com/google-labs-jules\"\u003e\u003ccode\u003e@​google-labs-jules\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/567\"\u003egeoalchemy/geoalchemy2#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/570\"\u003egeoalchemy/geoalchemy2#570\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Allow scientific notation within WKT string by \u003ca href=\"https://github.com/autermann\"\u003e\u003ccode\u003e@​autermann\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/573\"\u003egeoalchemy/geoalchemy2#573\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease: 0.18.1 by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/574\"\u003egeoalchemy/geoalchemy2#574\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/google-labs-jules\"\u003e\u003ccode\u003e@​google-labs-jules\u003c/code\u003e\u003c/a\u003e[bot] made their first contribution in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/567\"\u003egeoalchemy/geoalchemy2#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/autermann\"\u003e\u003ccode\u003e@​autermann\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/573\"\u003egeoalchemy/geoalchemy2#573\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/geoalchemy/geoalchemy2/compare/0.18.0...0.18.1\"\u003ehttps://github.com/geoalchemy/geoalchemy2/compare/0.18.0...0.18.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.18.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBuild: Deprecate Py\u0026lt;3.10 by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/538\"\u003egeoalchemy/geoalchemy2#538\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeat: Add more return types for spatial functions and update some typehints by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/540\"\u003egeoalchemy/geoalchemy2#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCompile literal binds by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/543\"\u003egeoalchemy/geoalchemy2#543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeat: Improve Geometry initializer to make the dimension optional by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/544\"\u003egeoalchemy/geoalchemy2#544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore (mariadb): Stop converting WKB to WKT by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/545\"\u003egeoalchemy/geoalchemy2#545\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs: Update doc to run the tests inside docker containers by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/546\"\u003egeoalchemy/geoalchemy2#546\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest: Add benchmark tests by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/547\"\u003egeoalchemy/geoalchemy2#547\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest: Add more benchmarks by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/553\"\u003egeoalchemy/geoalchemy2#553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore: Create FUNDING.yml by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/554\"\u003egeoalchemy/geoalchemy2#554\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest: Improve readbility of benchmark results by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/556\"\u003egeoalchemy/geoalchemy2#556\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePerf: Define \u003cstrong\u003eslots\u003c/strong\u003e in element classes to reduce memory usage of elements by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/555\"\u003egeoalchemy/geoalchemy2#555\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeat: Handle computed columns by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/557\"\u003egeoalchemy/geoalchemy2#557\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Remove warning message from MySQL/MariaDB reflection by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/560\"\u003egeoalchemy/geoalchemy2#560\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore: Move reflection type registering by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/561\"\u003egeoalchemy/geoalchemy2#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs: correct doc strings by \u003ca href=\"https://github.com/pjonsson\"\u003e\u003ccode\u003e@​pjonsson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/562\"\u003egeoalchemy/geoalchemy2#562\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeat: Add support of spatial indexes for Raster type for PostgreSQL by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/564\"\u003egeoalchemy/geoalchemy2#564\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease: 0.18.0 by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/565\"\u003egeoalchemy/geoalchemy2#565\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/pjonsson\"\u003e\u003ccode\u003e@​pjonsson\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/562\"\u003egeoalchemy/geoalchemy2#562\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/geoalchemy/geoalchemy2/compare/0.17.1...0.18.0\"\u003ehttps://github.com/geoalchemy/geoalchemy2/compare/0.17.1...0.18.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/geoalchemy/geoalchemy2/blob/master/CHANGES.txt\"\u003egeoalchemy2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.18.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Allow scientific notation within WKT string - \u003ca href=\"https://github.com/autermann\"\u003e\u003ccode\u003e@​autermann\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix (mysql): Fix failing test for MySQL dialect - \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.18.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeat: Add support of spatial indexes for Raster type for PostgreSQL \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocs: Fix doc strings for cache enabled - \u003ca href=\"https://github.com/pjonsson\"\u003e\u003ccode\u003e@​pjonsson\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/562\"\u003e#562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore: Move reflection type registering \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e(papacodebear/master) Fix: Remove warning from MySQL/MariaDB reflection \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/560\"\u003e#560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat: Handle computed columns \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/557\"\u003e#557\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest: Improve readability of benchmark results \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/556\"\u003e#556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePerf: Define \u003cstrong\u003eslots\u003c/strong\u003e in element classes to reduce memory usage of elements \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/555\"\u003e#555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore: Create FUNDING.yml \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/554\"\u003e#554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest: Add more benchmarks \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/553\"\u003e#553\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest: Add benchmark tests \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/547\"\u003e#547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocs: Update doc to run the tests inside docker container \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/546\"\u003e#546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePerf (mariadb): Stop converting WKB to WKT \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/545\"\u003e#545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat: Improve Geometry initializer to make the dimension optional \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/544\"\u003e#544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat: Compile literal binds properly \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redi...\n\n_Description has been truncated_","html_url":"https://github.com/Canner/wren-engine/pull/1397","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Canner%2Fwren-engine/issues/1397","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1397/packages"},{"uuid":"3767614751","node_id":"PR_kwDOPj-SKM661iIa","number":37,"state":"closed","title":"Bump the minor-and-patch group across 1 directory with 15 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-12-29T14:57:18.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-29T14:57:05.000Z","updated_at":"2025-12-29T14:57:25.000Z","time_to_close":13,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"minor-and-patch","update_count":15,"packages":[{"name":"asttokens","old_version":"3.0.0","new_version":"3.0.1","repository_url":"https://github.com/gristlabs/asttokens"},{"name":"charset-normalizer","old_version":"3.4.3","new_version":"3.4.4","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"debugpy","old_version":"1.8.16","new_version":"1.8.19","repository_url":"https://github.com/microsoft/debugpy"},{"name":"executing","old_version":"2.2.0","new_version":"2.2.1","repository_url":"https://github.com/alexmojaki/executing"},{"name":"ipywidgets","old_version":"8.1.7","new_version":"8.1.8","repository_url":"https://github.com/jupyter-widgets/ipywidgets"},{"name":"jupyterlab-widgets","old_version":"3.0.15","new_version":"3.0.16","repository_url":"https://github.com/jupyter-widgets/ipywidgets"},{"name":"markupsafe","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/pallets/markupsafe"},{"name":"nbclient","old_version":"0.10.2","new_version":"0.10.4","repository_url":"https://github.com/jupyter/nbclient"},{"name":"orjson","old_version":"3.11.3","new_version":"3.11.5","repository_url":"https://github.com/ijl/orjson"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"soupsieve","old_version":"2.8","new_version":"2.8.1","repository_url":"https://github.com/facelessuser/soupsieve"},{"name":"tornado","old_version":"6.5.2","new_version":"6.5.4","repository_url":"https://github.com/tornadoweb/tornado"},{"name":"typing-inspection","old_version":"0.4.1","new_version":"0.4.2","repository_url":"https://github.com/pydantic/typing-inspection"},{"name":"wcwidth","old_version":"0.2.13","new_version":"0.2.14","repository_url":"https://github.com/jquast/wcwidth"},{"name":"widgetsnbextension","old_version":"4.0.14","new_version":"4.0.15"}],"path":null,"ecosystem":"pip"},"body":"Bumps the minor-and-patch group with 15 updates in the /siri-watsonx-orchestrate directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [asttokens](https://github.com/gristlabs/asttokens) | `3.0.0` | `3.0.1` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.3` | `3.4.4` |\n| [debugpy](https://github.com/microsoft/debugpy) | `1.8.16` | `1.8.19` |\n| [executing](https://github.com/alexmojaki/executing) | `2.2.0` | `2.2.1` |\n| [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) | `8.1.7` | `8.1.8` |\n| [jupyterlab-widgets](https://github.com/jupyter-widgets/ipywidgets) | `3.0.15` | `3.0.16` |\n| [markupsafe](https://github.com/pallets/markupsafe) | `3.0.2` | `3.0.3` |\n| [nbclient](https://github.com/jupyter/nbclient) | `0.10.2` | `0.10.4` |\n| [orjson](https://github.com/ijl/orjson) | `3.11.3` | `3.11.5` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [soupsieve](https://github.com/facelessuser/soupsieve) | `2.8` | `2.8.1` |\n| [tornado](https://github.com/tornadoweb/tornado) | `6.5.2` | `6.5.4` |\n| [typing-inspection](https://github.com/pydantic/typing-inspection) | `0.4.1` | `0.4.2` |\n| [wcwidth](https://github.com/jquast/wcwidth) | `0.2.13` | `0.2.14` |\n| [widgetsnbextension](http://jupyter.org) | `4.0.14` | `4.0.15` |\n\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 `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 `debugpy` from 1.8.16 to 1.8.19\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/debugpy/releases\"\u003edebugpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003edebugpy v1.8.19\u003c/h2\u003e\n\u003cp\u003eMore fixes for \u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1980\"\u003emicrosoft/debugpy#1980\u003c/a\u003e. Spaces in python files are handled now too.\u003c/p\u003e\n\u003ch2\u003edebugpy v1.8.18\u003c/h2\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1980\"\u003eSpaces in python interpreter cause debug launch failure\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003edebugpy v1.8.17\u003c/h2\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/6cbdf8767e4c88dfaedf3db7b09ce2781496fc51\"\u003eDebug attach for 3.14\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/microsoft/debugpy/commit/698499e9ec6cd6edcf0311bb3a0b0d57ad1198ad\"\u003e\u003ccode\u003e698499e\u003c/code\u003e\u003c/a\u003e Add support for space in the python file (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1982\"\u003e#1982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/e5017d736052d8d84484cdfe05750bd61cc7c50f\"\u003e\u003ccode\u003ee5017d7\u003c/code\u003e\u003c/a\u003e Fix arq quoting to work in runInTerminal (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1981\"\u003e#1981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/1e3fd91306e507a1b88a1a01c586eef4a1d6791b\"\u003e\u003ccode\u003e1e3fd91\u003c/code\u003e\u003c/a\u003e fix the link to Python extension in \u003ccode\u003eCONTRIBUTING.md\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1934\"\u003e#1934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/378339a3a84ecd49761bba31a1685862e207d881\"\u003e\u003ccode\u003e378339a\u003c/code\u003e\u003c/a\u003e Update team rotation list in round-robin workflow (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1978\"\u003e#1978\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/93d93f2d6c2c640fd72113d2bb4a14557584b382\"\u003e\u003ccode\u003e93d93f2\u003c/code\u003e\u003c/a\u003e Update CODEOWNERS to remove a reviewer (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1979\"\u003e#1979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/8f13145a2358ad0f28ef6316fcfa318822789793\"\u003e\u003ccode\u003e8f13145\u003c/code\u003e\u003c/a\u003e Add pyrx-admins as code owners (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1976\"\u003e#1976\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/275caca690ed67c0e94959fe0963e6ef6b14d6b5\"\u003e\u003ccode\u003e275caca\u003c/code\u003e\u003c/a\u003e Add gcc flags (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1947\"\u003e#1947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/82e409e88311aced08885fc9ec19f8e077e5b00e\"\u003e\u003ccode\u003e82e409e\u003c/code\u003e\u003c/a\u003e include py.typed in the distributed package (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1960\"\u003e#1960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/6cbdf8767e4c88dfaedf3db7b09ce2781496fc51\"\u003e\u003ccode\u003e6cbdf87\u003c/code\u003e\u003c/a\u003e update testing for python 3.14 (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1955\"\u003e#1955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/2eb3afede0dd5b3c6229a2b8849efbfa18b3e078\"\u003e\u003ccode\u003e2eb3afe\u003c/code\u003e\u003c/a\u003e Check if \u003ccode\u003eos.__file__\u003c/code\u003e is available before using it (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1944\"\u003e#1944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/microsoft/debugpy/compare/v1.8.16...v1.8.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `executing` from 2.2.0 to 2.2.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexmojaki/executing/commit/bafb305d96572bc8fb668b6564787bbb4fff2809\"\u003e\u003ccode\u003ebafb305\u003c/code\u003e\u003c/a\u003e Add 3.14 to classifiers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexmojaki/executing/commit/5ed2ba36c2df94c91fefabd919880ffe061dc0f2\"\u003e\u003ccode\u003e5ed2ba3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/alexmojaki/executing/issues/97\"\u003e#97\u003c/a\u003e from alexmojaki/3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexmojaki/executing/commit/28095d447af50c49e154de5a27b9423611462f3d\"\u003e\u003ccode\u003e28095d4\u003c/code\u003e\u003c/a\u003e refactor: review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexmojaki/executing/commit/bb09dc677da7988a2c9555878b3727afa995b2c0\"\u003e\u003ccode\u003ebb09dc6\u003c/code\u003e\u003c/a\u003e refactor: some cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexmojaki/executing/commit/dabc70ef5cc9a45eb57432822cdcf674af2e1db8\"\u003e\u003ccode\u003edabc70e\u003c/code\u003e\u003c/a\u003e fix: inst.argval can be a tuple for sometimes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexmojaki/executing/commit/0772f918c432d6451594bcb6ffccba62e32e794c\"\u003e\u003ccode\u003e0772f91\u003c/code\u003e\u003c/a\u003e fix: removed comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexmojaki/executing/commit/bacc5b699405e6f27d882dd2a71bb0ec30167f37\"\u003e\u003ccode\u003ebacc5b6\u003c/code\u003e\u003c/a\u003e fix: moved verification for CALL_INTRINSIC_2 back to 3.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexmojaki/executing/commit/ec090751a1645cd14bfcb20a79b02371ffd6172b\"\u003e\u003ccode\u003eec09075\u003c/code\u003e\u003c/a\u003e test: added sample_results for 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexmojaki/executing/commit/9405fed0769af3ee22dd4f433249f6494688638e\"\u003e\u003ccode\u003e9405fed\u003c/code\u003e\u003c/a\u003e fix: handle synthetic code to store annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexmojaki/executing/commit/f09e4cd194aa3480c12a9f5afab3524d2a7222f2\"\u003e\u003ccode\u003ef09e4cd\u003c/code\u003e\u003c/a\u003e fix: TypeVar defaults\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/alexmojaki/executing/compare/v2.2.0...v2.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ipywidgets` from 8.1.7 to 8.1.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/releases\"\u003eipywidgets's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd JupyterCon banner and jupyter colors by \u003ca href=\"https://github.com/choldgraf\"\u003e\u003ccode\u003e@​choldgraf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3998\"\u003ejupyter-widgets/ipywidgets#3998\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix badge formatting in README.md by \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4000\"\u003ejupyter-widgets/ipywidgets#4000\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Plausible web stats by \u003ca href=\"https://github.com/jasongrout\"\u003e\u003ccode\u003e@​jasongrout\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4003\"\u003ejupyter-widgets/ipywidgets#4003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate jupyterlab_widgets metadata to indicate it works with JupyterLab 4 by \u003ca href=\"https://github.com/jasongrout\"\u003e\u003ccode\u003e@​jasongrout\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4004\"\u003ejupyter-widgets/ipywidgets#4004\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/choldgraf\"\u003e\u003ccode\u003e@​choldgraf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3998\"\u003ejupyter-widgets/ipywidgets#3998\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\"\u003ehttps://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\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\u003eSee full diff in \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jupyterlab-widgets` from 3.0.15 to 3.0.16\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `markupsafe` from 3.0.2 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/markupsafe/releases\"\u003emarkupsafe's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003cp\u003eThis is the MarkupSafe 3.0.3 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/MarkupSafe/3.0.3/\"\u003ehttps://pypi.org/project/MarkupSafe/3.0.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://markupsafe.palletsprojects.com/page/changes/#version-3-0-3\"\u003ehttps://markupsafe.palletsprojects.com/page/changes/#version-3-0-3\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/markupsafe/milestone/15?closed=1\"\u003ehttps://github.com/pallets/markupsafe/milestone/15?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e__version__\u003c/code\u003e raises \u003ccode\u003eDeprecationWarning\u003c/code\u003e instead of \u003ccode\u003eUserWarning\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/487\"\u003e#487\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdopt multi-phase initialization PEP 489 for the C extension. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/494\"\u003e#494\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild Windows ARM64 wheels. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/485\"\u003e#485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild Python 3.14 wheels. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/503\"\u003e#503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild riscv64 wheels. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/505\"\u003e#505\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/markupsafe/blob/main/CHANGES.rst\"\u003emarkupsafe's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.0.3\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-27\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e__version__\u003c/code\u003e raises \u003ccode\u003eDeprecationWarning\u003c/code\u003e instead of \u003ccode\u003eUserWarning\u003c/code\u003e.\n:issue:\u003ccode\u003e487\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdopt multi-phase initialisation (:pep:\u003ccode\u003e489\u003c/code\u003e) for the C extension.\n:issue:\u003ccode\u003e494\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eBuild Windows ARM64 wheels. :issue:\u003ccode\u003e485\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eBuild Python 3.14 wheels. :issue:\u003ccode\u003e503\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eBuild riscv64 wheels. :issue:\u003ccode\u003e505\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/297fc8e356e6836a62087949245d09a28e9f1b13\"\u003e\u003ccode\u003e297fc8e\u003c/code\u003e\u003c/a\u003e release version 3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/7e4e6ce249107c5f27fa6fe890e29da7a8dc8f0c\"\u003e\u003ccode\u003e7e4e6ce\u003c/code\u003e\u003c/a\u003e Free-threading: run with pytest-run-paralell (\u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/507\"\u003e#507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/6100b9c0d466495a08d55b33cb172d7b5d8e9aa1\"\u003e\u003ccode\u003e6100b9c\u003c/code\u003e\u003c/a\u003e enable riscv64 wheels (\u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/506\"\u003e#506\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/c9d5ecfc7eec6f611b19cdc8e1cde1aaa65cb8eb\"\u003e\u003ccode\u003ec9d5ecf\u003c/code\u003e\u003c/a\u003e enable riscv64 wheels\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/2f9b33753052e7c6df1464a7c900787d04ae9daf\"\u003e\u003ccode\u003e2f9b337\u003c/code\u003e\u003c/a\u003e tox for 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/78d951a9549dee9fc901c55fc79a74a5f01e96fc\"\u003e\u003ccode\u003e78d951a\u003c/code\u003e\u003c/a\u003e update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/bb6744e392e79611b110c5ba022238eb1b855cc2\"\u003e\u003ccode\u003ebb6744e\u003c/code\u003e\u003c/a\u003e add entry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/65c4134ab16a3faccbcac2cba90da0db2b799542\"\u003e\u003ccode\u003e65c4134\u003c/code\u003e\u003c/a\u003e upgrade cibuildwheel, add \u003ccode\u003ecp314\u003c/code\u003e wheels and test on CPython 3.14 (\u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/504\"\u003e#504\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/3a9bd88b84c9edba8b922bb12b84a59feed98788\"\u003e\u003ccode\u003e3a9bd88\u003c/code\u003e\u003c/a\u003e add cp314 wheels\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/aafe44d87bd7974bc82af8c4010dea9938441edf\"\u003e\u003ccode\u003eaafe44d\u003c/code\u003e\u003c/a\u003e remove slsa provenance (\u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/501\"\u003e#501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/markupsafe/compare/3.0.2...3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nbclient` from 0.10.2 to 0.10.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter/nbclient/releases\"\u003enbclient's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.10.4\u003c/h2\u003e\n\u003ch2\u003e0.10.4\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbclient/compare/v0.10.3...af9b77a952b78b2bd548945471114315d202afbf\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eMerged PRs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow \u003ccode\u003edisplay_id\u003c/code\u003e to be \u003ccode\u003eNone\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyter/nbclient/pull/338\"\u003e#338\u003c/a\u003e (\u003ca href=\"https://github.com/davidbrochart\"\u003e\u003ccode\u003e@​davidbrochart\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/YannickJadoul\"\u003e\u003ccode\u003e@​YannickJadoul\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/slayoo\"\u003e\u003ccode\u003e@​slayoo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbclient/graphs/contributors?from=2025-12-19\u0026amp;to=2025-12-23\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/davidbrochart\"\u003e\u003ccode\u003e@​davidbrochart\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbclient+involves%3Adavidbrochart+updated%3A2025-12-19..2025-12-23\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/slayoo\"\u003e\u003ccode\u003e@​slayoo\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbclient+involves%3Aslayoo+updated%3A2025-12-19..2025-12-23\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/YannickJadoul\"\u003e\u003ccode\u003e@​YannickJadoul\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbclient+involves%3AYannickJadoul+updated%3A2025-12-19..2025-12-23\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003ev0.10.3\u003c/h2\u003e\n\u003ch2\u003e0.10.3\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbclient/compare/v0.10.2...b42ad03acc0bb1ed26db65ab72ac617679cbbb62\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eMerged PRs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop Python 3.9, test 3.14 and pypy-3.11 \u003ca href=\"https://redirect.github.com/jupyter/nbclient/pull/337\"\u003e#337\u003c/a\u003e (\u003ca href=\"https://github.com/davidbrochart\"\u003e\u003ccode\u003e@​davidbrochart\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecorrect execution count in test for ipython 9.8 and above \u003ca href=\"https://redirect.github.com/jupyter/nbclient/pull/335\"\u003e#335\u003c/a\u003e (\u003ca href=\"https://github.com/drorspei\"\u003e\u003ccode\u003e@​drorspei\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/davidbrochart\"\u003e\u003ccode\u003e@​davidbrochart\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate contribution with pytest instructions, remove tox. \u003ca href=\"https://redirect.github.com/jupyter/nbclient/pull/331\"\u003e#331\u003c/a\u003e (\u003ca href=\"https://github.com/dgrahn\"\u003e\u003ccode\u003e@​dgrahn\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/davidbrochart\"\u003e\u003ccode\u003e@​davidbrochart\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbclient/graphs/contributors?from=2024-12-19\u0026amp;to=2025-12-19\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/davidbrochart\"\u003e\u003ccode\u003e@​davidbrochart\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbclient+involves%3Adavidbrochart+updated%3A2024-12-19..2025-12-19\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/dgrahn\"\u003e\u003ccode\u003e@​dgrahn\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbclient+involves%3Adgrahn+updated%3A2024-12-19..2025-12-19\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/drorspei\"\u003e\u003ccode\u003e@​drorspei\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbclient+involves%3Adrorspei+updated%3A2024-12-19..2025-12-19\u0026amp;type=Issues\"\u003eactivity\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/jupyter/nbclient/blob/main/CHANGELOG.md\"\u003enbclient's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.10.4\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbclient/compare/v0.10.3...af9b77a952b78b2bd548945471114315d202afbf\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eMerged PRs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow \u003ccode\u003edisplay_id\u003c/code\u003e to be \u003ccode\u003eNone\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyter/nbclient/pull/338\"\u003e#338\u003c/a\u003e (\u003ca href=\"https://github.com/davidbrochart\"\u003e\u003ccode\u003e@​davidbrochart\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/YannickJadoul\"\u003e\u003ccode\u003e@​YannickJadoul\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/slayoo\"\u003e\u003ccode\u003e@​slayoo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbclient/graphs/contributors?from=2025-12-19\u0026amp;to=2025-12-23\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/davidbrochart\"\u003e\u003ccode\u003e@​davidbrochart\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbclient+involves%3Adavidbrochart+updated%3A2025-12-19..2025-12-23\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/slayoo\"\u003e\u003ccode\u003e@​slayoo\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbclient+involves%3Aslayoo+updated%3A2025-12-19..2025-12-23\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/YannickJadoul\"\u003e\u003ccode\u003e@​YannickJadoul\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbclient+involves%3AYannickJadoul+updated%3A2025-12-19..2025-12-23\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e0.10.3\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbclient/compare/v0.10.2...b42ad03acc0bb1ed26db65ab72ac617679cbbb62\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eMerged PRs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop Python 3.9, test 3.14 and pypy-3.11 \u003ca href=\"https://redirect.github.com/jupyter/nbclient/pull/337\"\u003e#337\u003c/a\u003e (\u003ca href=\"https://github.com/davidbrochart\"\u003e\u003ccode\u003e@​davidbrochart\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecorrect execution count in test for ipython 9.8 and above \u003ca href=\"https://redirect.github.com/jupyter/nbclient/pull/335\"\u003e#335\u003c/a\u003e (\u003ca href=\"https://github.com/drorspei\"\u003e\u003ccode\u003e@​drorspei\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/davidbrochart\"\u003e\u003ccode\u003e@​davidbrochart\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate contribution with pytest instructions, remove tox. \u003ca href=\"https://redirect.github.com/jupyter/nbclient/pull/331\"\u003e#331\u003c/a\u003e (\u003ca href=\"https://github.com/dgrahn\"\u003e\u003ccode\u003e@​dgrahn\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/davidbrochart\"\u003e\u003ccode\u003e@​davidbrochart\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbclient/graphs/contributors?from=2024-12-19\u0026amp;to=2025-12-19\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/davidbrochart\"\u003e\u003ccode\u003e@​davidbrochart\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbclient+involves%3Adavidbrochart+updated%3A2024-12-19..2025-12-19\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/dgrahn\"\u003e\u003ccode\u003e@​dgrahn\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbclient+involves%3Adgrahn+updated%3A2024-12-19..2025-12-19\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/drorspei\"\u003e\u003ccode\u003e@​drorspei\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbclient+involves%3Adrorspei+updated%3A2024-12-19..2025-12-19\u0026amp;type=Issues\"\u003eactivity\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/jupyter/nbclient/commit/e500e95e01a0fc9abf8df06c1a882077f37e0b8e\"\u003e\u003ccode\u003ee500e95\u003c/code\u003e\u003c/a\u003e Publish 0.10.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbclient/commit/af9b77a952b78b2bd548945471114315d202afbf\"\u003e\u003ccode\u003eaf9b77a\u003c/code\u003e\u003c/a\u003e Allow display_id to be None (\u003ca href=\"https://redirect.github.com/jupyter/nbclient/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbclient/commit/5a52a0af9062f89b9aa8746441f16dfcbc4ccb1a\"\u003e\u003ccode\u003e5a52a0a\u003c/code\u003e\u003c/a\u003e Publish 0.10.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbclient/commit/b42ad03acc0bb1ed26db65ab72ac617679cbbb62\"\u003e\u003ccode\u003eb42ad03\u003c/code\u003e\u003c/a\u003e correct execution count in tests for ipython 9.8 and above (\u003ca href=\"https://redirect.github.com/jupyter/nbclient/issues/335\"\u003e#335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbclient/commit/3352484da606e1ab62705df7edd9ec1bc8f05262\"\u003e\u003ccode\u003e3352484\u003c/code\u003e\u003c/a\u003e Drop Python 3.9, test 3.14 and pypy-3.11 (\u003ca href=\"https://redirect.github.com/jupyter/nbclient/issues/337\"\u003e#337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbclient/commit/ec86eefde30136ea80bdb71cec247e7024014f2f\"\u003e\u003ccode\u003eec86eef\u003c/code\u003e\u003c/a\u003e Update contribution with hatch instructions, remove tox. (\u003ca href=\"https://redirect.github.com/jupyter/nbclient/issues/331\"\u003e#331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jupyter/nbclient/compare/v0.10.2...v0.10.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `orjson` from 3.11.3 to 3.11.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.5\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.5 - 2025-12-06\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4 - 2025-10-24\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\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/ijl/orjson/commit/fb3eb1f729c7e7b019f780af5695722c99c7c695\"\u003e\u003ccode\u003efb3eb1f\u003c/code\u003e\u003c/a\u003e 3.11.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/52688e02c51c845cde24a46cd1011a6010d10eb8\"\u003e\u003ccode\u003e52688e0\u003c/code\u003e\u003c/a\u003e Record contributors in headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/dc083e87d5262e7dde3ba4b1d2a377b5b065a27c\"\u003e\u003ccode\u003edc083e8\u003c/code\u003e\u003c/a\u003e Further compatibility and build misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/18f0186d47fbadd53c9db4e39a442d5b04225418\"\u003e\u003ccode\u003e18f0186\u003c/code\u003e\u003c/a\u003e Compatibility and build misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/a4fdeb3aff125d501ec0dd0577f9b38b2b977b4f\"\u003e\u003ccode\u003ea4fdeb3\u003c/code\u003e\u003c/a\u003e 3.11.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/2e80d68afacafca8751e6a64ca05d0d4087dbd15\"\u003e\u003ccode\u003e2e80d68\u003c/code\u003e\u003c/a\u003e unlikely to cold_path, remove intrinsics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/27edea92f8da2fdfc3f1342474e2f1686f1edf55\"\u003e\u003ccode\u003e27edea9\u003c/code\u003e\u003c/a\u003e FFI through crate::ffi, partial non-CPython compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/416a8c9578da780d0d58b5e6b751793deafc610d\"\u003e\u003ccode\u003e416a8c9\u003c/code\u003e\u003c/a\u003e Unconditionally build yyjson\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/c8c1a17dca8436a2fee05ca060febd096e653d98\"\u003e\u003ccode\u003ec8c1a17\u003c/code\u003e\u003c/a\u003e edition 2024\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/af4179a1fa0aafffd0f867203b6c36e9a522f165\"\u003e\u003ccode\u003eaf4179a\u003c/code\u003e\u003c/a\u003e build maintenance, panic_immediate_abort break, test 3.15\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ijl/orjson/compare/3.11.3...3.11.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyyaml` from 6.0.2 to 6.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/yaml/pyyaml/releases\"\u003epyyaml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.0.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14 and free-threading (experimental).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/yaml/pyyaml/compare/6.0.2...6.0.3\"\u003ehttps://github.com/yaml/pyyaml/compare/6.0.2...6.0.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/yaml/pyyaml/blob/6.0.3/CHANGES\"\u003epyyaml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e6.0.3 (2025-09-25)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/yaml/pyyaml/pull/864\"\u003eyaml/pyyaml#864\u003c/a\u003e -- Support for Python 3.14 and free-threading (experimental)\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/yaml/pyyaml/commit/49790e73684bebad1df05ef8d828fa12f685bffb\"\u003e\u003ccode\u003e49790e7\u003c/code\u003e\u003c/a\u003e Release 6.0.3 (\u003ca href=\"https://redirect.github.com/yaml/pyyaml/issues/889\"\u003e#889\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/yaml/pyyaml/compare/6.0.2...6.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `soupsieve` from 2.8 to 2.8.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/facelessuser/soupsieve/releases\"\u003esoupsieve's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.8.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFIX\u003c/strong\u003e: Changes in tests to accommodate latest Python HTML parser changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facelessuser/soupsieve/commit/f89979745e12e83dbb31dde910a0ad08e9c5c717\"\u003e\u003ccode\u003ef899797\u003c/code\u003e\u003c/a\u003e Adjust changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facelessuser/soupsieve/commit/1b964a850bb482cc183f3f70811b25487ba200ee\"\u003e\u003ccode\u003e1b964a8\u003c/code\u003e\u003c/a\u003e Switch to using Zensical for documents (\u003ca href=\"https://redirect.github.com/facelessuser/soupsieve/issues/286\"\u003e#286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facelessuser/soupsieve/commit/046ce54956a0c30120038561e53b40994d29de2c\"\u003e\u003ccode\u003e046ce54\u003c/code\u003e\u003c/a\u003e Adjustments for changes in HTML parser (\u003ca href=\"https://redirect.github.com/facelessuser/soupsieve/issues/285\"\u003e#285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/facelessuser/soupsieve/compare/2.8...2.8.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tornado` from 6.5.2 to 6.5.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tornadoweb/tornado/blob/v6.5.4/docs/releases.rst\"\u003etornado's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease notes\u003c/h1\u003e\n\u003cp\u003e.. toctree::\n:maxdepth: 2\u003c/p\u003e\n\u003cp\u003ereleases/v6.5.4\nreleases/v6.5.3\nreleases/v6.5.2\nreleases/v6.5.1\nreleases/v6.5.0\nreleases/v6.4.2\nreleases/v6.4.1\nreleases/v6.4.0\nreleases/v6.3.3\nreleases/v6.3.2\nreleases/v6.3.1\nreleases/v6.3.0\nreleases/v6.2.0\nreleases/v6.1.0\nreleases/v6.0.4\nreleases/v6.0.3\nreleases/v6.0.2\nreleases/v6.0.1\nreleases/v6.0.0\nreleases/v5.1.1\nreleases/v5.1.0\nreleases/v5.0.2\nreleases/v5.0.1\nreleases/v5.0.0\nreleases/v4.5.3\nreleases/v4.5.2\nreleases/v4.5.1\nreleases/v4.5.0\nreleases/v4.4.3\nreleases/v4.4.2\nreleases/v4.4.1\nreleases/v4.4.0\nreleases/v4.3.0\nreleases/v4.2.1\nreleases/v4.2.0\nreleases/v4.1.0\nreleases/v4.0.2\nreleases/v4.0.1\nreleases/v4.0.0\nreleases/v3.2.2\nreleases/v3.2.1\nreleases/v3.2.0\nreleases/v3.1.1\nreleases/v3.1.0\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/tornadoweb/tornado/commit/63d4df4eefa6750bb14efa1ebffe67b8c54fbad4\"\u003e\u003ccode\u003e63d4df4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3564\"\u003e#3564\u003c/a\u003e from bdarnell/release-654\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/eadbf9adbe9db19e2686a32f48ddf9a25518c4f6\"\u003e\u003ccode\u003eeadbf9a\u003c/code\u003e\u003c/a\u003e Release notes and version bump for 6.5.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/bbc2b1429c6db80765a8a95c09ddddc7bb40e4e8\"\u003e\u003ccode\u003ebbc2b14\u003c/code\u003e\u003c/a\u003e Make sure that the in-operator on HTTPHeaders is case insensitive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/38014ddb51520ff7762c1d55535925dba2cdbe31\"\u003e\u003ccode\u003e38014dd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3558\"\u003e#3558\u003c/a\u003e from bdarnell/relnotes-653\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/083e2b24bb0ab1bbc049192d5aca86c059c98d80\"\u003e\u003ccode\u003e083e2b2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3557\"\u003e#3557\u003c/a\u003e from bdarnell/perf-counter-65\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/31431c9aecefeb64b4c2fddcff5a25eccc12e981\"\u003e\u003ccode\u003e31431c9\u003c/code\u003e\u003c/a\u003e test: Use time.perf_counter instead of time.time for performance tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/07b5924706b1992ccc4c272365efcf46b08e8b0d\"\u003e\u003ccode\u003e07b5924\u003c/code\u003e\u003c/a\u003e tox: Pin pycares version 4 due to backwards-incompatible changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/a5e50e20d635916415b8609df1bbad57fce3613c\"\u003e\u003ccode\u003ea5e50e2\u003c/code\u003e\u003c/a\u003e Release notes and version bump for 6.5.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/297662942893c1f01a8e4ca0f82503e89594a53c\"\u003e\u003ccode\u003e2976629\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3555\"\u003e#3555\u003c/a\u003e from bdarnell/release-653\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/9c163aebeaad9e6e7d28bac1f33580eb00b0e421\"\u003e\u003ccode\u003e9c163ae\u003c/code\u003e\u003c/a\u003e web: Harden against invalid HTTP reason phrases\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tornadoweb/tornado/compare/v6.5.2...v6.5.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typing-inspection` from 0.4.1 to 0.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/typing-inspection/releases\"\u003etyping-inspection's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.4.2 2025-10-01\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_objects.is_noextraitems()\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/typing-inspection/pull/47\"\u003epydantic/typing-inspection#47\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/typing-inspection/compare/v0.4.1...v0.4.2\"\u003ehttps://github.com/pydantic/typing-inspection/compare/v0.4.1...v0.4.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/typing-inspection/blob/main/HISTORY.md\"\u003etyping-inspection's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.4.2 (2025-10-01)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_objects.is_noextraitems()\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/typing-inspection/pull/47\"\u003e#47\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/typing-inspection/commit/8db011350942f33ac4b5d7db60d4d9ea83ab480f\"\u003e\u003ccode\u003e8db0113\u003c/code\u003e\u003c/a\u003e Prepare release 0.4.2 (\u003ca href=\"https://redirect.github.com/pydantic/typing-inspection/issues/48\"\u003e#48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/typing-inspection/commit/f4dfd61a26694531dfb48711e35fbabb0929e75c\"\u003e\u003ccode\u003ef4dfd61\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003etyping_objects.is_noextraitems()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pydantic/typing-inspection/issues/47\"\u003e#47\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pydantic/typing-inspection/compare/v0.4.1...v0.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `wcwidth` from 0.2.13 to 0.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jquast/wcwidth/releases\"\u003ewcwidth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e0.2.14 \u003cem\u003e2025-09-22\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eDrop Support\u003c/strong\u003e for Python 2.7 and 3.5. PR \u003ca href=\"https://redirect.github.com/jquast/wcwidth/issues/117\"\u003e#117\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eUpdate\u003c/strong\u003e tables to include Unicode Specifications 16.0.0 and 17.0.0.\nPR \u003ca href=\"https://redirect.github.com/jquast/wcwidth/issues/146\"\u003e#146\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBugfix\u003c/strong\u003e U+00AD SOFT HYPHEN should measure as 1, versions 0.2.9 through\n0.2.13 measured as 0. PR \u003ca href=\"https://redirect.github.com/jquast/wcwidth/issues/149\"\u003e#149\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jquast/wcwidth/compare/0.2.13...0.2.14\"\u003ehttps://github.com/jquast/wcwidth/compare/0.2.13...0.2.14\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/jquast/wcwidth/commit/ed5fb46d9c6fd0ad9977468f84640c4df8369c3b\"\u003e\u003ccode\u003eed5fb46\u003c/code\u003e\u003c/a\u003e Set version number for 0.2.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/wcwidth/commit/f6f397ead11f02db2352ed547452aee4e885afc6\"\u003e\u003ccode\u003ef6f397e\u003c/code\u003e\u003c/a\u003e Also document drop of Python 2.7/3.5, add PR hyperlinks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/wcwidth/commit/201d7697426221ebb4e97c007190c50d9855fd72\"\u003e\u003ccode\u003e201d769\u003c/code\u003e\u003c/a\u003e update release date\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/wcwidth/commit/e3bcb1617784728ad8f7a7c825f548baea8f1f95\"\u003e\u003ccode\u003ee3bcb16\u003c/code\u003e\u003c/a\u003e Test Python 3.13+3.14 again, and, update dev/ci requirements.txt (\u003ca href=\"https://redirect.github.com/jquast/wcwidth/issues/150\"\u003e#150\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/wcwidth/commit/b9857b5f754a054aa92cb70adbc7ad23f882b812\"\u003e\u003ccode\u003eb9857b5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jquast/wcwidth/issues/149\"\u003e#149\u003c/a\u003e from jquast/jq/soft-hyphen-becomes-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/wcwidth/commit/b72dd12c0799788d9755ec31eaad601e82f83f01\"\u003e\u003ccode\u003eb72dd12\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into jq/soft-hyphen-becomes-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/wcwidth/commit/56b4327945b607a45aec5c4aed689fbffbcecbd6\"\u003e\u003ccode\u003e56b4327\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jquast/wcwidth/issues/117\"\u003e#117\u003c/a\u003e from hugovk/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/wcwidth/commit/a753ba4c17bd8036a9571e790fff0c0ec2f26933\"\u003e\u003ccode\u003ea753ba4\u003c/code\u003e\u003c/a\u003e Fix merge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/wcwidth/commit/6dc8a5f8117212655467fa5d07caf3433739fa65\"\u003e\u003ccode\u003e6dc8a5f\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'upstream/master'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/wcwidth/commit/b1f46096fb12a2c00b4ef15584636ea748c0b09a\"\u003e\u003ccode\u003eb1f4609\u003c/code\u003e\u003c/a\u003e Merge branch 'jq/soft-hyphen-becomes-1' of github.com:jquast/wcwidth into jq/...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jquast/wcwidth/compare/0.2.13...0.2.14\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `widgetsnbextension` from 4.0.14 to 4.0.15\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/IBM/oic-i-agentic-ai-tutorials/pull/37","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/IBM%2Foic-i-agentic-ai-tutorials/issues/37","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/37/packages"},{"uuid":"3731680920","node_id":"PR_kwDOHTdvBs64_Xbv","number":1388,"state":"open","title":"deps(ibis): bump the all group across 1 directory with 31 updates","user":"dependabot[bot]","labels":["ibis","dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-12-15T18:44:22.000Z","updated_at":"2025-12-15T18:44:36.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(ibis): bump","group_name":"all","update_count":31,"packages":[{"name":"fastapi","old_version":"0.120.1","new_version":"0.124.4","repository_url":"https://github.com/fastapi/fastapi"},{"name":"pydantic","old_version":"2.10.6","new_version":"2.12.5","repository_url":"https://github.com/pydantic/pydantic"},{"name":"google-auth","old_version":"2.38.0","new_version":"2.44.0","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"python-dotenv","old_version":"1.0.1","new_version":"1.2.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"orjson","old_version":"3.10.16","new_version":"3.11.5","repository_url":"https://github.com/ijl/orjson"},{"name":"geoalchemy2","old_version":"0.17.1","new_version":"0.18.1","repository_url":"https://github.com/geoalchemy/geoalchemy2"},{"name":"gql","old_version":"3.5.2","new_version":"4.0.0","repository_url":"https://github.com/graphql-python/gql"},{"name":"anyio","old_version":"4.10.0","new_version":"4.12.0","repository_url":"https://github.com/agronholm/anyio"},{"name":"duckdb","old_version":"1.3.2","new_version":"1.4.3","repository_url":"https://github.com/duckdb/duckdb-python"},{"name":"oracledb","old_version":"3.3.0","new_version":"3.4.1","repository_url":"https://github.com/oracle/python-oracledb"},{"name":"uvicorn","old_version":"0.35.0","new_version":"0.38.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"uvicorn-worker","old_version":"0.3.0","new_version":"0.4.0","repository_url":"https://github.com/Kludex/uvicorn-worker"},{"name":"redshift-connector","old_version":"2.1.7","new_version":"2.1.10","repository_url":"https://github.com/aws/amazon-redshift-python-driver"},{"name":"datafusion","old_version":"47.0.0","new_version":"50.1.0","repository_url":"https://github.com/apache/datafusion-python"},{"name":"starlette","old_version":"0.49.1","new_version":"0.50.0","repository_url":"https://github.com/Kludex/starlette"},{"name":"databricks-sql-connector","old_version":"4.1.4","new_version":"4.2.2","repository_url":"https://github.com/databricks/databricks-sql-python"},{"name":"databricks-sdk","old_version":"0.73.0","new_version":"0.74.0","repository_url":"https://github.com/databricks/databricks-sdk-py"},{"name":"jupyterlab","old_version":"4.4.9","new_version":"4.5.1","repository_url":"https://github.com/jupyterlab/jupyterlab"},{"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":"matplotlib","old_version":"3.10.6","new_version":"3.10.8","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"plotly","old_version":"6.3.0","new_version":"6.5.0","repository_url":"https://github.com/plotly/plotly.py"},{"name":"pytest","old_version":"8.3.5","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"testcontainers","old_version":"4.9.2","new_version":"4.13.3","repository_url":"https://github.com/testcontainers/testcontainers-python"},{"name":"sqlalchemy","old_version":"2.0.39","new_version":"2.0.45","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"pre-commit","old_version":"4.2.0","new_version":"4.5.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"ruff","old_version":"0.11.2","new_version":"0.14.9","repository_url":"https://github.com/astral-sh/ruff"},{"name":"trino","old_version":"0.335.0","new_version":"0.336.0","repository_url":"https://github.com/trinodb/trino-python-client"},{"name":"psycopg2","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"clickhouse-connect","old_version":"0.8.15","new_version":"0.10.0","repository_url":"https://github.com/ClickHouse/clickhouse-connect"},{"name":"polars","old_version":"1.33.1","new_version":"1.36.1","repository_url":"https://github.com/pola-rs/polars"}],"path":null,"ecosystem":"pip"},"body":"Bumps the all group with 31 updates in the /ibis-server directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.120.1` | `0.124.4` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.10.6` | `2.12.5` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.38.0` | `2.44.0` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.2.1` |\n| [orjson](https://github.com/ijl/orjson) | `3.10.16` | `3.11.5` |\n| [geoalchemy2](https://github.com/geoalchemy/geoalchemy2) | `0.17.1` | `0.18.1` |\n| [gql](https://github.com/graphql-python/gql) | `3.5.2` | `4.0.0` |\n| [anyio](https://github.com/agronholm/anyio) | `4.10.0` | `4.12.0` |\n| [duckdb](https://github.com/duckdb/duckdb-python) | `1.3.2` | `1.4.3` |\n| [oracledb](https://github.com/oracle/python-oracledb) | `3.3.0` | `3.4.1` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.35.0` | `0.38.0` |\n| [uvicorn-worker](https://github.com/Kludex/uvicorn-worker) | `0.3.0` | `0.4.0` |\n| [redshift-connector](https://github.com/aws/amazon-redshift-python-driver) | `2.1.7` | `2.1.10` |\n| [datafusion](https://github.com/apache/datafusion-python) | `47.0.0` | `50.1.0` |\n| [starlette](https://github.com/Kludex/starlette) | `0.49.1` | `0.50.0` |\n| [databricks-sql-connector](https://github.com/databricks/databricks-sql-python) | `4.1.4` | `4.2.2` |\n| [databricks-sdk](https://github.com/databricks/databricks-sdk-py) | `0.73.0` | `0.74.0` |\n| [jupyterlab](https://github.com/jupyterlab/jupyterlab) | `4.4.9` | `4.5.1` |\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| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.10.6` | `3.10.8` |\n| [plotly](https://github.com/plotly/plotly.py) | `6.3.0` | `6.5.0` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.3.5` | `9.0.2` |\n| [testcontainers](https://github.com/testcontainers/testcontainers-python) | `4.9.2` | `4.13.3` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.39` | `2.0.45` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.2.0` | `4.5.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.11.2` | `0.14.9` |\n| [trino](https://github.com/trinodb/trino-python-client) | `0.335.0` | `0.336.0` |\n| [psycopg2](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [clickhouse-connect](https://github.com/ClickHouse/clickhouse-connect) | `0.8.15` | `0.10.0` |\n| [polars](https://github.com/pola-rs/polars) | `1.33.1` | `1.36.1` |\n\n\nUpdates `fastapi` from 0.120.1 to 0.124.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.124.4\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix parameter aliases. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14371\"\u003e#14371\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.124.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix support for tagged union with discriminator inside of \u003ccode\u003eAnnotated\u003c/code\u003e with \u003ccode\u003eBody()\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14512\"\u003e#14512\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Add set of tests for request parameters and alias. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14358\"\u003e#14358\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Tweak links format. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14505\"\u003e#14505\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update docs about re-raising validation errors, do not include string as is to not leak information. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14487\"\u003e#14487\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔥 Remove external links section. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14486\"\u003e#14486\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🌐 Sync Russian docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14509\"\u003e#14509\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Sync German docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14488\"\u003e#14488\u003c/a\u003e by \u003ca href=\"https://github.com/nilslindemann\"\u003e\u003ccode\u003e@​nilslindemann\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Tweak coverage to not pass Smokeshow max file size limit. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14507\"\u003e#14507\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✅ Expand test matrix to include Windows and MacOS. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14171\"\u003e#14171\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.124.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix support for \u003ccode\u003eif TYPE_CHECKING\u003c/code\u003e,  non-evaluated stringified annotations. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14485\"\u003e#14485\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.124.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix handling arbitrary types when using \u003ccode\u003earbitrary_types_allowed=True\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14482\"\u003e#14482\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Add variants for code examples in \u0026quot;Advanced User Guide\u0026quot;. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14413\"\u003e#14413\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update tech stack in project generation docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14472\"\u003e#14472\u003c/a\u003e by \u003ca href=\"https://github.com/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Add test for Pydantic v2, dataclasses, UUID, and \u003ccode\u003e__annotations__\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14477\"\u003e#14477\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.124.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/b1d9769f97295a238df8c2d318ad65dd6a40c6ff\"\u003e\u003ccode\u003eb1d9769\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.124.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/89157a803c4c75332566a5ca499afd5358c42049\"\u003e\u003ccode\u003e89157a8\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/d86c47477e4d91b5e1f07973b3437908558a8b4b\"\u003e\u003ccode\u003ed86c474\u003c/code\u003e\u003c/a\u003e 🐛 Fix parameter aliases (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14371\"\u003e#14371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/3fe6522aaed4d36d6a38175a4a8137ee0fc62451\"\u003e\u003ccode\u003e3fe6522\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.124.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/80d1f732e5e10efe75e03427558271d46cd663e3\"\u003e\u003ccode\u003e80d1f73\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c0556ac3a50420d0ba298b5641517c61f3c1c2c4\"\u003e\u003ccode\u003ec0556ac\u003c/code\u003e\u003c/a\u003e 🐛 Fix support for tagged union with discriminator inside of \u003ccode\u003eAnnotated\u003c/code\u003e with ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/1fcec88ad2df4541b6a81c4786c4d039dc745e1e\"\u003e\u003ccode\u003e1fcec88\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/f8b216df30f4d4fd36dccf7c7e885154a2699838\"\u003e\u003ccode\u003ef8b216d\u003c/code\u003e\u003c/a\u003e 🌐 Sync Russian docs (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14509\"\u003e#14509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/4b905b614c84fbf4a278bdb69f4a22d52a43721e\"\u003e\u003ccode\u003e4b905b6\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/6c54bcefd3c37c8656e909980af00f86acea99c3\"\u003e\u003ccode\u003e6c54bce\u003c/code\u003e\u003c/a\u003e ✅ Add set of tests for request parameters and alias (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14358\"\u003e#14358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.120.1...0.124.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.10.6 to 2.12.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.5 2025-11-26\u003c/h2\u003e\n\u003ch2\u003ev2.12.5 (2025-11-26)\u003c/h2\u003e\n\u003cp\u003eThis is the fifth 2.12 patch release, addressing an issue with the \u003ccode\u003eMISSING\u003c/code\u003e sentinel and providing several documentation improvements.\u003c/p\u003e\n\u003cp\u003eThe next 2.13 minor release will be published in a couple weeks, and will include a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature addressing\nthe remaining unexpected changes to the \u003cem\u003eserialize as any\u003c/em\u003e behavior.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickle error when using \u003ccode\u003emodel_construct()\u003c/code\u003e on a model with \u003ccode\u003eMISSING\u003c/code\u003e as a default value by \u003ca href=\"https://github.com/ornariece\"\u003e\u003ccode\u003e@​ornariece\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12522\"\u003e#12522\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSeveral updates to the documentation by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.4 2025-11-05\u003c/h2\u003e\n\u003ch2\u003ev2.12.4 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003eThis is the fourth 2.12 patch release, fixing more regressions, and reverting a change in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis patch release also fixes an issue with the serialization of IP address types, when \u003ccode\u003eserialize_as_any\u003c/code\u003e is used. The next patch release\nwill try to address the remaining issues with \u003cem\u003eserialize as any\u003c/em\u003e behavior by introducing a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature, that\nshould be used in most cases in place of \u003cem\u003eserialize as any\u003c/em\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with forward references in parent \u003ccode\u003eTypedDict\u003c/code\u003e classes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12427\"\u003e#12427\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis issue is only relevant on Python 3.14 and greater.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExclude fields with \u003ccode\u003eexclude_if\u003c/code\u003e from JSON Schema required fields by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12430\"\u003e#12430\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRevert URL percent-encoding of credentials in the \u003ccode\u003ebuild()\u003c/code\u003e method of the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1833\"\u003epydantic-core#1833\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis was initially considered as a bugfix, but caused regressions and as such was fully reverted. The next release will include\nan opt-in option to percent-encode components of the URL.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type inference for IP address types by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1868\"\u003epydantic-core#1868\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThe 2.12 changes to the \u003ccode\u003eserialize_as_any\u003c/code\u003e behavior made it so that IP address types could not properly serialize to JSON.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid getting default values from defaultdict by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1853\"\u003epydantic-core#1853\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis fixes a subtle regression in the validation behavior of the \u003ca href=\"https://docs.python.org/3/library/collections.html#collections.defaultdict\"\u003e\u003ccode\u003ecollections.defaultdict\u003c/code\u003e\u003c/a\u003e\ntype.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with field serializers on nested typed dictionaries by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1879\"\u003epydantic-core#1879\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd more \u003ccode\u003epydantic-core\u003c/code\u003e builds for the three-threaded version of Python 3.14 by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1864\"\u003epydantic-core#1864\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.3...v2.12.4\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.3...v2.12.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.3 2025-10-17\u003c/h2\u003e\n\u003ch2\u003ev2.12.3 (2025-10-17)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis is the third 2.13 patch release, fixing issues related to the \u003ccode\u003eFieldInfo\u003c/code\u003e class, and reverting a change to the supported \u003ca href=\"https://docs.pydantic.dev/latest/concepts/validators/#model-validators\"\u003e\u003cem\u003eafter\u003c/em\u003e model validator\u003c/a\u003e function signatures.\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/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.5 (2025-11-26)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.5\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is the fifth 2.12 patch release, addressing an issue with the \u003ccode\u003eMISSING\u003c/code\u003e sentinel and providing several documentation improvements.\u003c/p\u003e\n\u003cp\u003eThe next 2.13 minor release will be published in a couple weeks, and will include a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature addressing\nthe remaining unexpected changes to the \u003cem\u003eserialize as any\u003c/em\u003e behavior.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickle error when using \u003ccode\u003emodel_construct()\u003c/code\u003e on a model with \u003ccode\u003eMISSING\u003c/code\u003e as a default value by \u003ca href=\"https://github.com/ornariece\"\u003e\u003ccode\u003e@​ornariece\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12522\"\u003e#12522\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSeveral updates to the documentation by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.12.4 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.4\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is the fourth 2.12 patch release, fixing more regressions, and reverting a change in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis patch release also fixes an issue with the serialization of IP address types, when \u003ccode\u003eserialize_as_any\u003c/code\u003e is used. The next patch release\nwill try to address the remaining issues with \u003cem\u003eserialize as any\u003c/em\u003e behavior by introducing a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature, that\nshould be used in most cases in place of \u003cem\u003eserialize as any\u003c/em\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with forward references in parent \u003ccode\u003eTypedDict\u003c/code\u003e classes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12427\"\u003e#12427\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis issue is only relevant on Python 3.14 and greater.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExclude fields with \u003ccode\u003eexclude_if\u003c/code\u003e from JSON Schema required fields by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12430\"\u003e#12430\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRevert URL percent-encoding of credentials in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in\n\u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1833\"\u003epydantic-core#1833\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis was initially considered as a bugfix, but caused regressions and as such was fully reverted. The next release will include\nan opt-in option to percent-encode components of the URL.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type inference for IP address types by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1868\"\u003epydantic-core#1868\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThe 2.12 changes to the \u003ccode\u003eserialize_as_any\u003c/code\u003e behavior made it so that IP address types could not properly serialize to JSON.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid getting default values from defaultdict by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1853\"\u003epydantic-core#1853\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis fixes a subtle regression in the validation behavior of the \u003ca href=\"https://docs.python.org/3/library/collections.html#collections.defaultdict\"\u003e\u003ccode\u003ecollections.defaultdict\u003c/code\u003e\u003c/a\u003e\ntype.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with field serializers on nested typed dictionaries by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1879\"\u003epydantic-core#1879\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd more \u003ccode\u003epydantic-core\u003c/code\u003e builds for the three-threaded version of Python 3.14 by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1864\"\u003epydantic-core#1864\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.12.3 (2025-10-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.3\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/bd2d0dd0137dfa1a8fdff2529b9dfb1547980150\"\u003e\u003ccode\u003ebd2d0dd\u003c/code\u003e\u003c/a\u003e Prepare release v2.12.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/7d0302ec7ec2cf115de3450a615522875bdd8b56\"\u003e\u003ccode\u003e7d0302e\u003c/code\u003e\u003c/a\u003e Document security implications when using \u003ccode\u003ecreate_model()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/e9ef980def726b6f59b6c495ddc9dc259a0228db\"\u003e\u003ccode\u003ee9ef980\u003c/code\u003e\u003c/a\u003e Fix typo in Standard Library Types documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f2c20c00c265a31a13c48f9bae923a87c829952e\"\u003e\u003ccode\u003ef2c20c0\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003epydantic-docs\u003c/code\u003e dev dependency, make use of versioning blocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a76c1aa26f2d64a3fd080ac515d80832689197e8\"\u003e\u003ccode\u003ea76c1aa\u003c/code\u003e\u003c/a\u003e Update documentation about JSON Schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8cbc72ca489891e574fba45238ee8bd4f8e719a2\"\u003e\u003ccode\u003e8cbc72c\u003c/code\u003e\u003c/a\u003e Add documentation about custom \u003ccode\u003e__init__()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/99eba599069da137b3f708ffa74627f2b456ba73\"\u003e\u003ccode\u003e99eba59\u003c/code\u003e\u003c/a\u003e Add additional test for \u003ccode\u003eFieldInfo.get_default()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c71076988e507ea93844c77c3bf0bbb85a5716af\"\u003e\u003ccode\u003ec710769\u003c/code\u003e\u003c/a\u003e Special case \u003ccode\u003eMISSING\u003c/code\u003e sentinel in \u003ccode\u003esmart_deepcopy()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/20a9d771c210fd77d52366ac923258c4c199727f\"\u003e\u003ccode\u003e20a9d77\u003c/code\u003e\u003c/a\u003e Do not delete mock validator/serializer in \u003ccode\u003erebuild_dataclass()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c86515a3a8f2120148fab2eaedd3bc45925779d0\"\u003e\u003ccode\u003ec86515a\u003c/code\u003e\u003c/a\u003e Update parts of the model and \u003ccode\u003erevalidate_instances\u003c/code\u003e documentation\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.10.6...v2.12.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-auth` from 2.38.0 to 2.44.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/releases\"\u003egoogle-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-auth 2.44.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.43.0...v2.44.0\"\u003e2.44.0\u003c/a\u003e (2025-12-12)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMDS connections use mTLS (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1856\"\u003e#1856\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0387bb95\"\u003e0387bb95\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003esupport Python 3.14 (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1822\"\u003e#1822\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0f7097e7\"\u003e0f7097e7\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd ecdsa p-384 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1872\"\u003e#1872\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/39c381a5\"\u003e39c381a5\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd shlex to correctly parse executable commands with spaces (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1855\"\u003e#1855\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/cf6fc3cc\"\u003ecf6fc3cc\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement token revocation in STS client and add revoke() metho… (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1849\"\u003e#1849\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/d5638986\"\u003ed5638986\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd temporary patch to workload cert logic to accomodate Cloud Run mis-configuration (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1880\"\u003e#1880\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/78de7907\"\u003e78de7907\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDelegate workload cert and key default lookup to helper function (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1877\"\u003e#1877\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b0993c7e\"\u003eb0993c7e\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse public refresh method for source credentials in ImpersonatedCredentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1884\"\u003e#1884\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/e0c3296f\"\u003ee0c3296f\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-auth 2.43.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.42.1...v2.43.0\"\u003e2.43.0\u003c/a\u003e (2025-11-05)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd public wrapper for _mtls_helper.check_use_client_cert which enables mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE is not set, when the MWID/X.509 cert sources detected (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1859\"\u003e#1859\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/1535eccb\"\u003e1535eccb\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnable mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE  is not set, if the MWID/X.509 cert sources detected (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1848\"\u003e#1848\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/395e405b\"\u003e395e405b\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eonboard \u003ccode\u003egoogle-auth\u003c/code\u003e to librarian (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1838\"\u003e#1838\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/c503eaa5\"\u003ec503eaa5\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.42.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.42.0...v2.42.1\"\u003e2.42.1\u003c/a\u003e (2025-10-30)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCatch ValueError for json.loads() (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1842\"\u003e#1842\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b074cad460589633adfc6744c01726ae86f2aa2b\"\u003eb074cad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.42.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.41.1...v2.42.0\"\u003e2.42.0\u003c/a\u003e (2025-10-24)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd trust boundary support for external accounts. (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1809\"\u003e#1809\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/36ecb1d65883477d27faf9c2281fc289659b9903\"\u003e36ecb1d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md\"\u003egoogle-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.43.0...v2.44.0\"\u003e2.44.0\u003c/a\u003e (2025-12-13)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport Python 3.14 (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1822\"\u003e#1822\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0f7097e78f247665b6ef0287d482033f7be2ed6d\"\u003e0f7097e78f247665b6ef0287d482033f7be2ed6d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ecdsa p-384 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1872\"\u003e#1872\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/39c381a5f6881b590025f36d333d12eff8dc60fc\"\u003e39c381a5f6881b590025f36d333d12eff8dc60fc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMDS connections use mTLS (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1856\"\u003e#1856\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0387bb95713653d47e846cad3a010eb55ef2db4c\"\u003e0387bb95713653d47e846cad3a010eb55ef2db4c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement token revocation in STS client and add revoke() metho… (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1849\"\u003e#1849\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/d5638986ca03ee95bfffa9ad821124ed7e903e63\"\u003ed5638986ca03ee95bfffa9ad821124ed7e903e63\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd shlex to correctly parse executable commands with spaces (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1855\"\u003e#1855\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/cf6fc3cced78bc1362a7fe596c32ebc9ce03c26b\"\u003ecf6fc3cced78bc1362a7fe596c32ebc9ce03c26b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse public refresh method for source credentials in ImpersonatedCredentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1884\"\u003e#1884\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/e0c3296f471747258f6d98d2d9bfde636358ecde\"\u003ee0c3296f471747258f6d98d2d9bfde636358ecde\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd temporary patch to workload cert logic to accomodate Cloud Run mis-configuration (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1880\"\u003e#1880\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/78de7907b8bdb7b5510e3c6fa8a3f3721e2436d7\"\u003e78de7907b8bdb7b5510e3c6fa8a3f3721e2436d7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDelegate workload cert and key default lookup to helper function (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1877\"\u003e#1877\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b0993c7edaba505d0fb0628af28760c43034c959\"\u003eb0993c7edaba505d0fb0628af28760c43034c959\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-auth-v2.42.1...google-auth-v2.43.0\"\u003e2.43.0\u003c/a\u003e (2025-11-05)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd public wrapper for _mtls_helper.check_use_client_cert which enables mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE is not set, when the MWID/X.509 cert sources detected (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1859\"\u003e#1859\u003c/a\u003e) Add public wrapper for check_use_client_cert which enables mTLS if\nGOOGLE_API_USE_CLIENT_CERTIFICATE is not set, when the MWID/X.509 cert\nsources detected. Also, fix check_use_client_cert to return boolean\nvalue.\nChange \u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1848\"\u003e#1848\u003c/a\u003e added the check_use_client_cert method that helps know if\nclient cert should be used for mTLS connection. However, that was in a\nprivate class, thus, created a public wrapper of the same function so\nthat it can be used by python Client Libraries. Also, updated\ncheck_use_client_cert to return a boolean value instead of existing\nstring value for better readability and future scope.\n--------- (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1535eccbff0ad8f3fd6a9775316ac8b77dca66ba\"\u003e1535eccbff0ad8f3fd6a9775316ac8b77dca66ba\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnable mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE  is not set, if the MWID/X.509 cert sources detected (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1848\"\u003e#1848\u003c/a\u003e) The Python SDK will use a hybrid approach for mTLS enablement:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eIf the GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is set\n(either true or false), the SDK will respect that setting. This is\nnecessary for test scenarios and users who need to explicitly control\nmTLS behavior.\u003c/li\u003e\n\u003cli\u003eIf the GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is not\nset, the SDK will automatically enable mTLS only if it detects Managed\nWorkload Identity (MWID) or X.509 Workforce Identity Federation (WIF)\ncertificate sources. In other cases where the variable is not set, mTLS\nwill remain disabled.\n** This change also adds the helper method \u003ccode\u003echeck_use_client_cert\u003c/code\u003e and\nit's unit test, which will be used for checking the criteria for setting\nthe mTLS to true\n** This change is only for Auth-Library, other changes will be created\nfor Client-Library use-cases.\n--------- (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/395e405b64b56ddb82ee639958c2e8056ad2e82b\"\u003e395e405b64b56ddb82ee639958c2e8056ad2e82b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/262eb9e33d58ffeb536ecd083c22d9fb12c808e6\"\u003e\u003ccode\u003e262eb9e\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20251212T161150Z (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1888\"\u003e#1888\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0f7097e78f247665b6ef0287d482033f7be2ed6d\"\u003e\u003ccode\u003e0f7097e\u003c/code\u003e\u003c/a\u003e feat: support Python 3.14 (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1822\"\u003e#1822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/e0c3296f471747258f6d98d2d9bfde636358ecde\"\u003e\u003ccode\u003ee0c3296\u003c/code\u003e\u003c/a\u003e fix(auth): Use public refresh method for source credentials in ImpersonatedCr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/78de7907b8bdb7b5510e3c6fa8a3f3721e2436d7\"\u003e\u003ccode\u003e78de790\u003c/code\u003e\u003c/a\u003e fix(auth): Add temporary patch to workload cert logic to accomodate Cloud Run...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/3e8a56687fd050ff44a35cc8db0e95e996648173\"\u003e\u003ccode\u003e3e8a566\u003c/code\u003e\u003c/a\u003e chore(tests): allow expired secret in system tests (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1883\"\u003e#1883\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b0993c7edaba505d0fb0628af28760c43034c959\"\u003e\u003ccode\u003eb0993c7\u003c/code\u003e\u003c/a\u003e fix(auth): Delegate workload cert and key default lookup to helper function (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/2c374d36a61569b75d11c17fae124d591c52ddc6\"\u003e\u003ccode\u003e2c374d3\u003c/code\u003e\u003c/a\u003e chore: update secret (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1879\"\u003e#1879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/39c381a5f6881b590025f36d333d12eff8dc60fc\"\u003e\u003ccode\u003e39c381a\u003c/code\u003e\u003c/a\u003e feat: add ecdsa p-384 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1872\"\u003e#1872\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/daabaa714820008565133efdf4d928143b8fe518\"\u003e\u003ccode\u003edaabaa7\u003c/code\u003e\u003c/a\u003e chore(tests): update secret (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1876\"\u003e#1876\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0387bb95713653d47e846cad3a010eb55ef2db4c\"\u003e\u003ccode\u003e0387bb9\u003c/code\u003e\u003c/a\u003e feat: MDS connections use mTLS (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1856\"\u003e#1856\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.38.0...v2.44.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-dotenv` from 1.0.1 to 1.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/releases\"\u003epython-dotenv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport reading .env from FIFOs (Unix) by \u003ca href=\"https://github.com/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/586\"\u003etheskumar/python-dotenv#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CI to use trusted publishing on PyPI\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/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/586\"\u003etheskumar/python-dotenv#586\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.0...v1.2.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.0...v1.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: upgrade to use ruff by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/567\"\u003etheskumar/python-dotenv#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse sys.exit() instead of exit() by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/568\"\u003etheskumar/python-dotenv#568\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat:  add \u003ccode\u003ePYTHON_DOTENV_DISABLED\u003c/code\u003e flag to disable load_dotenv (fixes \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/510\"\u003e#510\u003c/a\u003e) by \u003ca href=\"https://github.com/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Python@3.14: Github CI \u0026amp; tox.ini by \u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eocs: clarify what load_dotenv() does in README by \u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group across 1 directory with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/577\"\u003etheskumar/python-dotenv#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove project metadata and config to pyproject.toml by \u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/583\"\u003etheskumar/python-dotenv#583\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/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/583\"\u003etheskumar/python-dotenv#583\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.0\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure find_dotenv work reliably on python 3.13 by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/563\"\u003etheskumar/python-dotenv#563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(cli): issue with execvpe on Windows by \u003ca href=\"https://github.com/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003etheskumar/python-dotenv#566\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/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003etheskumar/python-dotenv#566\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.1.0...v1.1.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.0...v1.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a security policy by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/512\"\u003etheskumar/python-dotenv#512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep GitHub Actions up to date with GitHub's Dependabot by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/506\"\u003etheskumar/python-dotenv#506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: fix multiline string in test.yml \u0026amp; use fail-fast strategy by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/514\"\u003etheskumar/python-dotenv#514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnhance dotenv run: Switch to execvpe for better resource management and signal handling by \u003ca href=\"https://github.com/eekstunt\"\u003e\u003ccode\u003e@​eekstunt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/523\"\u003etheskumar/python-dotenv#523\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add py3.13 to test.yml by \u003ca href=\"https://github.com/waketzheng\"\u003e\u003ccode\u003e@​waketzheng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/527\"\u003etheskumar/python-dotenv#527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Python 3.13 trove classifier by \u003ca href=\"https://github.com/edgarrmondragon\"\u003e\u003ccode\u003e@​edgarrmondragon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/535\"\u003etheskumar/python-dotenv#535\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/529\"\u003etheskumar/python-dotenv#529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for python 3.13 and drop 3.8 by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/551\"\u003etheskumar/python-dotenv#551\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Update README.md by \u003ca href=\"https://github.com/chapeupreto\"\u003e\u003ccode\u003e@​chapeupreto\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/516\"\u003etheskumar/python-dotenv#516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSome more s/Python-dotenv/python-dotenv/ by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/552\"\u003etheskumar/python-dotenv#552\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/theskumar/python-dotenv/blob/main/CHANGELOG.md\"\u003epython-dotenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.2.1] - 2025-10-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMove more config to \u003ccode\u003epyproject.toml\u003c/code\u003e, removed \u003ccode\u003esetup.cfg\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for reading \u003ccode\u003e.env\u003c/code\u003e from FIFOs (Unix) by [\u003ca href=\"https://github.com/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/586\"\u003e#586\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.2.0] - 2025-10-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade build system to use PEP 517 \u0026amp; PEP 518 to use \u003ccode\u003ebuild\u003c/code\u003e and \u003ccode\u003epyproject.toml\u003c/code\u003e by [\u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/583\"\u003e#583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.14 by [\u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/563\"\u003e#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for disabling of \u003ccode\u003eload_dotenv()\u003c/code\u003e using \u003ccode\u003ePYTHON_DOTENV_DISABLED\u003c/code\u003e env var. by [\u003ca href=\"https://github.com/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/569\"\u003e#569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.1.1] - 2025-06-24\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCLI: Ensure \u003ccode\u003efind_dotenv\u003c/code\u003e work reliably on python 3.13 by [\u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/563\"\u003e#563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI: revert the use of execvpe on Windows by [\u003ca href=\"https://github.com/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003e#566\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.1.0] - 2025-03-25\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFeature\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for python 3.13\u003c/li\u003e\n\u003cli\u003eEnhance \u003ccode\u003edotenv run\u003c/code\u003e, switch to \u003ccode\u003eexecvpe\u003c/code\u003e for better resource management and signal handling (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/523\"\u003e#523\u003c/a\u003e) by [\u003ca href=\"https://github.com/eekstunt\"\u003e\u003ccode\u003e@​eekstunt\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFixed\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003efind_dotenv\u003c/code\u003e and \u003ccode\u003eload_dotenv\u003c/code\u003e now correctly looks up at the current directory when running in debugger or pdb (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/553\"\u003e#553\u003c/a\u003e by [\u003ca href=\"https://github.com/randomseed42\"\u003e\u003ccode\u003e@​randomseed42\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eMisc\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/eaf2a9129ccec6febda0f741eb3bb852c3f947bd\"\u003e\u003ccode\u003eeaf2a91\u003c/code\u003e\u003c/a\u003e Do not remove .coverage file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/8716196891532eeb67d24a513e8d975437f5e8b7\"\u003e\u003ccode\u003e8716196\u003c/code\u003e\u003c/a\u003e Bump version: 1.2.0 → 1.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/b87807fcad6e74332c3c63a75c92ce5814fa7a55\"\u003e\u003ccode\u003eb87807f\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/3af77d3029eb717aeec0a3c25f751b6a614a6d3c\"\u003e\u003ccode\u003e3af77d3\u003c/code\u003e\u003c/a\u003e Support reading .env from FIFOs (Unix) (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/586\"\u003e#586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/467ee22fccb2fb7ccda71a0d9e37c6ea3cb8d993\"\u003e\u003ccode\u003e467ee22\u003c/code\u003e\u003c/a\u003e Fix test failures after moving config to pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/76999e741d87e958ebd74e3ae9834c0514e77a59\"\u003e\u003ccode\u003e76999e7\u003c/code\u003e\u003c/a\u003e Move more config pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/222ce2cc58ebc82ba78da8781269267b9f585932\"\u003e\u003ccode\u003e222ce2c\u003c/code\u003e\u003c/a\u003e Update to use trusted publisher on pypi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/8ed4f79d202eba582b44bdf1f5deb726dd68783d\"\u003e\u003ccode\u003e8ed4f79\u003c/code\u003e\u003c/a\u003e Update docs requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/5bf882241c607445bf02cf5b241535d62e2b99c1\"\u003e\u003ccode\u003e5bf8822\u003c/code\u003e\u003c/a\u003e Bump version: 1.1.1 → 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/1fe11cc737ee4399e9c51d1b69b0dd858f6b4669\"\u003e\u003ccode\u003e1fe11cc\u003c/code\u003e\u003c/a\u003e upadate changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.0.1...v1.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `orjson` from 3.10.16 to 3.11.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.5\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.85 or later instead of 1.82.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.1\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePublish PyPI wheels for CPython 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003estr\u003c/code\u003e on big-endian architectures.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse a deserialization buffer allocated per request instead of a shared buffer allocated on import.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.14 beta 4.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.10.18\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix incorrect escaping of the vertical tabulation character. This was\nintroduced in 3.10.17.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.10.17\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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.5 - 2025-12-06\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4 - 2025-10-24\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3 - 2025-08-26\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2 - 2025-08-12\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.85 or later instead of 1.82.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.1 - 2025-07-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePublish PyPI wheels for CPython 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003estr\u003c/code\u003e on big-endian architectures. This was introduced in 3.11.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.0 - 2025-07-15\u003c/h2\u003e\n\u003ch3\u003eChanged\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/ijl/orjson/commit/fb3eb1f729c7e7b019f780af5695722c99c7c695\"\u003e\u003ccode\u003efb3eb1f\u003c/code\u003e\u003c/a\u003e 3.11.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/52688e02c51c845cde24a46cd1011a6010d10eb8\"\u003e\u003ccode\u003e52688e0\u003c/code\u003e\u003c/a\u003e Record contributors in headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/dc083e87d5262e7dde3ba4b1d2a377b5b065a27c\"\u003e\u003ccode\u003edc083e8\u003c/code\u003e\u003c/a\u003e Further compatibility and build misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/18f0186d47fbadd53c9db4e39a442d5b04225418\"\u003e\u003ccode\u003e18f0186\u003c/code\u003e\u003c/a\u003e Compatibility and build misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/a4fdeb3aff125d501ec0dd0577f9b38b2b977b4f\"\u003e\u003ccode\u003ea4fdeb3\u003c/code\u003e\u003c/a\u003e 3.11.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/2e80d68afacafca8751e6a64ca05d0d4087dbd15\"\u003e\u003ccode\u003e2e80d68\u003c/code\u003e\u003c/a\u003e unlikely to cold_path, remove intrinsics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/27edea92f8da2fdfc3f1342474e2f1686f1edf55\"\u003e\u003ccode\u003e27edea9\u003c/code\u003e\u003c/a\u003e FFI through crate::ffi, partial non-CPython compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/416a8c9578da780d0d58b5e6b751793deafc610d\"\u003e\u003ccode\u003e416a8c9\u003c/code\u003e\u003c/a\u003e Unconditionally build yyjson\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/c8c1a17dca8436a2fee05ca060febd096e653d98\"\u003e\u003ccode\u003ec8c1a17\u003c/code\u003e\u003c/a\u003e edition 2024\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/af4179a1fa0aafffd0f867203b6c36e9a522f165\"\u003e\u003ccode\u003eaf4179a\u003c/code\u003e\u003c/a\u003e build maintenance, panic_immediate_abort break, test 3.15\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ijl/orjson/compare/3.10.16...3.11.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `geoalchemy2` from 0.17.1 to 0.18.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/geoalchemy/geoalchemy2/releases\"\u003egeoalchemy2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.18.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix (mysql): Fix failing test for MySQL dialect by \u003ca href=\"https://github.com/google-labs-jules\"\u003e\u003ccode\u003e@​google-labs-jules\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/567\"\u003egeoalchemy/geoalchemy2#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/570\"\u003egeoalchemy/geoalchemy2#570\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Allow scientific notation within WKT string by \u003ca href=\"https://github.com/autermann\"\u003e\u003ccode\u003e@​autermann\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/573\"\u003egeoalchemy/geoalchemy2#573\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease: 0.18.1 by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/574\"\u003egeoalchemy/geoalchemy2#574\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/google-labs-jules\"\u003e\u003ccode\u003e@​google-labs-jules\u003c/code\u003e\u003c/a\u003e[bot] made their first contribution in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/567\"\u003egeoalchemy/geoalchemy2#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/autermann\"\u003e\u003ccode\u003e@​autermann\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/573\"\u003egeoalchemy/geoalchemy2#573\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/geoalchemy/geoalchemy2/compare/0.18.0...0.18.1\"\u003ehttps://github.com/geoalchemy/geoalchemy2/compare/0.18.0...0.18.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.18.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBuild: Deprecate Py\u0026lt;3.10 by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/538\"\u003egeoalchemy/geoalchemy2#538\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeat: Add more return types for spatial functions and update some typehints by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/540\"\u003egeoalchemy/geoalchemy2#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCompile literal binds by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/543\"\u003egeoalchemy/geoalchemy2#543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeat: Improve Geometry initializer to make the dimension optional by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/544\"\u003egeoalchemy/geoalchemy2#544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore (mariadb): Stop converting WKB to WKT by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/545\"\u003egeoalchemy/geoalchemy2#545\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs: Update doc to run the tests inside docker containers by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/546\"\u003egeoalchemy/geoalchemy2#546\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest: Add benchmark tests by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/547\"\u003egeoalchemy/geoalchemy2#547\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest: Add more benchmarks by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/553\"\u003egeoalchemy/geoalchemy2#553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore: Create FUNDING.yml by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/554\"\u003egeoalchemy/geoalchemy2#554\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest: Improve readbility of benchmark results by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/556\"\u003egeoalchemy/geoalchemy2#556\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePerf: Define \u003cstrong\u003eslots\u003c/strong\u003e in element classes to reduce memory usage of elements by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/555\"\u003egeoalchemy/geoalchemy2#555\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeat: Handle computed columns by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/557\"\u003egeoalchemy/geoalchemy2#557\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Remove warning message from MySQL/MariaDB reflection by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/560\"\u003egeoalchemy/geoalchemy2#560\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore: Move reflection type registering by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/561\"\u003egeoalchemy/geoalchemy2#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs: correct doc strings by \u003ca href=\"https://github.com/pjonsson\"\u003e\u003ccode\u003e@​pjonsson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/562\"\u003egeoalchemy/geoalchemy2#562\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeat: Add support of spatial indexes for Raster type for PostgreSQL by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/564\"\u003egeoalchemy/geoalchemy2#564\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease: 0.18.0 by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/565\"\u003egeoalchemy/geoalchemy2#565\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/pjonsson\"\u003e\u003ccode\u003e@​pjonsson\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/562\"\u003egeoalchemy/geoalchemy2#562\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/geoalchemy/geoalchemy2/compare/0.17.1...0.18.0\"\u003ehttps://github.com/geoalchemy/geoalchemy2/compare/0.17.1...0.18.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/geoalchemy/geoalchemy2/blob/master/CHANGES.txt\"\u003egeoalchemy2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.18.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Allow scientific notation within WKT string - \u003ca href=\"https://github.com/autermann\"\u003e\u003ccode\u003e@​autermann\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix (mysql): Fix failing test for MySQL dialect - \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.18.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeat: Add support of spatial indexes for Raster type for PostgreSQL \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocs: Fix doc strings for cache enabled - \u003ca href=\"https://github.com/pjonsson\"\u003e\u003ccode\u003e@​pjonsson\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/562\"\u003e#562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore: Move reflection type registering \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e(papacodebear/master) Fix: Remove warning from MySQL/MariaDB reflection \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/560\"\u003e#560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat: Handle computed columns \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/557\"\u003e#557\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest: Improve readability of benchmark results \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/556\"\u003e#556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePerf: Define \u003cstrong\u003eslots\u003c/strong\u003e in element classes to reduce memory usage of elements \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/555\"\u003e#555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore: Create FUNDING.yml \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/554\"\u003e#554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest: Add more benchmarks \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/553\"\u003e#553\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest: Add benchmark tests \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/547\"\u003e#547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocs: Update doc to run the tests inside docker container \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/546\"\u003e#546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePerf (mariadb): Stop converting WKB to WKT \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/545\"\u003e#545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat: Improve Geometry initializer to make the dimension optional \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/544\"\u003e#544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat: Compile literal binds properly \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/543\"\u003e#543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat: Add more return types for spatial functions and update some typehints \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/540\"\u003e#540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBuild: Deprecate Py\u0026lt;3.10 \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/538\"\u003e#538\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/geoalchemy/geoalchemy2/commit/0c311122e5228a885e262d8f79b037cb74c0949b\"\u003e\u003ccode\u003e0c31112\u003c/code\u003e\u003c/a\u003e Release: 0.18.1 (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/574\"\u003e#574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/75f87fac699ed31579ef93dffc59cc25bda241a8\"\u003e\u003ccode\u003e75f87fa\u003c/code\u003e\u003c/a\u003e Fix: Allow scientific notation within WKT string (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/8653df3a1b0236556f1c39c916f0fb717475a6d1\"\u003e\u003ccode\u003e8653df3\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/570\"\u003e#570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/3d6099504023afda68137f0ac2d041986159dac9\"\u003e\u003ccode\u003e3d60995\u003c/code\u003e\u003c/a\u003e Fix (mysql): Fix failing test for MySQL dialect (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/60767082df9f4587fadd56ab94847ebc39df8295\"\u003e\u003ccode\u003e6076708\u003c/code\u003e\u003c/a\u003e Release: 0.18.0 (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/565\"\u003e#565\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/e13112177bdf79cae0d72a6e89d815dc272e3dc5\"\u003e\u003ccode\u003ee131121\u003c/code\u003e\u003c/a\u003e Feat: Add support of spatial indexes for Raster type for PostgreSQL (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/0b432086a0c3b8ab160c5cc1864aa65e02f35362\"\u003e\u003ccode\u003e0b43208\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/563\"\u003e#563\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/8791b2eec013f21f599ca060d9fee4aba72ec2a1\"\u003e\u003ccode\u003e8791b2e\u003c/code\u003e\u003c/a\u003e Docs: Fix doc strings for cache enabled (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/562\"\u003e#562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/d3c1d04c8b462c61132403e44a7a4f04a487c142\"\u003e\u003ccode\u003ed3c1d04\u003c/code\u003e\u003c/a\u003e Chore: Move reflection type registering (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/24dc5d05d97fb9a2a57103c1823a58f06940a5e8\"\u003e\u003ccode\u003e24dc5d0\u003c/code\u003e\u003c/a\u003e Fix: Remove warning from MySQL/MariaDB reflection (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/560\"\u003e#560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/geoalchemy/geoalchemy2/compare/0.17.1...0.18.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gql` from 3.5.2 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/graphql-python/gql/releases\"\u003egql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChange transports prototype using GraphQLRequest (\u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/551\"\u003e#551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUsing GraphQLRequest instead of DocumentNode for gql, execute, subscribe methods (\u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/556\"\u003e#556\u003c/a\u003e):\n\u003cstrong\u003eThis is a big change:\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003ethe \u003ccode\u003egql\u003c/code\u003e and \u003ccode\u003edsl_gql\u003c/code\u003e methods will now return a \u003ccode\u003eGraphQLRequest\u003c/code\u003e instead of a \u003ccode\u003eDocument\u003c/code\u003e Node\na \u003ccode\u003eGraphQLRequest\u003c/code\u003e is an object containing the document and optional \u003ccode\u003evariable_values\u003c/code\u003e and \u003ccode\u003eoperation_name\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eALL the \u003ccode\u003eexecute\u003c/code\u003e and \u003ccode\u003esubscribe\u003c/code\u003e methods now receive a \u003ccode\u003eGraphQLRequest\u003c/code\u003e as main argument instead of\na \u003ccode\u003eDocumentNode\u003c/code\u003e, \u003ccode\u003evariable_values\u003c/code\u003e and \u003ccode\u003eoperation_name\u003c/code\u003e arguments\u003c/li\u003e\n\u003cli\u003eThe old method of sending \u003ccode\u003evariable_values\u003c/code\u003e as an argument of \u003ccode\u003eexecute\u003c/code\u003e or \u003ccode\u003esubscribe\u003c/code\u003e still works but is deprecated\nSee \u003ca href=\"https://gql.readthedocs.io/en/latest/usage/variables.html\"\u003ehttps://gql.readthedocs.io/en/latest/usage/variables.html\u003c/a\u003e for the new syntax.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix subscription task cancel exception swallow (\u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/548\"\u003e#548\u003c/a\u003e):\nPreviously if a task was cancelled while a subscription task was active,\nthe \u003ccode\u003easyncio.CancelledError\u003c/code\u003e Exception would be swallowed by our code.\nThis is not the case anymore so you should now trap that Exception yourself.\u003c/li\u003e\n\u003cli\u003eClean up the file upload interface with FileVar class (\u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/549\"\u003e#549\u003c/a\u003e):\nThe file upload functionality has been modified to require \u003ccode\u003eFileVar\u003c/code\u003e instances\nfor uploaded files (the old method still works but is deprecated).\nSee \u003ca href=\"https://gql.readthedocs.io/en/latest/usage/file_upload.html\"\u003ehttps://gql.readthedocs.io/en/latest/usage/file_upload.html\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSet logging level to DEBUG for all transports (\u003ca href=\"https://redirect.github.com/g...\n\n_Description has been truncated_","html_url":"https://github.com/Canner/wren-engine/pull/1388","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Canner%2Fwren-engine/issues/1388","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1388/packages"},{"uuid":"3704550760","node_id":"PR_kwDOH60e4863lSZq","number":394,"state":"open","title":"Bump ipywidgets from 8.0.1 to 8.1.8","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-12-08T04:04:23.000Z","updated_at":"2025-12-08T04:04:23.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"ipywidgets","old_version":"8.0.1","new_version":"8.1.8","repository_url":"https://github.com/jupyter-widgets/ipywidgets"}],"path":null,"ecosystem":"pip"},"body":"Bumps [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) from 8.0.1 to 8.1.8.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/releases\"\u003eipywidgets's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd JupyterCon banner and jupyter colors by \u003ca href=\"https://github.com/choldgraf\"\u003e\u003ccode\u003e@​choldgraf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3998\"\u003ejupyter-widgets/ipywidgets#3998\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix badge formatting in README.md by \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4000\"\u003ejupyter-widgets/ipywidgets#4000\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Plausible web stats by \u003ca href=\"https://github.com/jasongrout\"\u003e\u003ccode\u003e@​jasongrout\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4003\"\u003ejupyter-widgets/ipywidgets#4003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate jupyterlab_widgets metadata to indicate it works with JupyterLab 4 by \u003ca href=\"https://github.com/jasongrout\"\u003e\u003ccode\u003e@​jasongrout\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4004\"\u003ejupyter-widgets/ipywidgets#4004\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/choldgraf\"\u003e\u003ccode\u003e@​choldgraf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3998\"\u003ejupyter-widgets/ipywidgets#3998\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\"\u003ehttps://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e8.1.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix CI + remove Python 3.8 by \u003ca href=\"https://github.com/martinRenou\"\u003e\u003ccode\u003e@​martinRenou\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3989\"\u003ejupyter-widgets/ipywidgets#3989\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDynamic widgets registry by \u003ca href=\"https://github.com/martinRenou\"\u003e\u003ccode\u003e@​martinRenou\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3988\"\u003ejupyter-widgets/ipywidgets#3988\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.6...8.1.7\"\u003ehttps://github.com/jupyter-widgets/ipywidgets/compare/8.1.6...8.1.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e8.1.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix lumino and lab packages pinning by \u003ca href=\"https://github.com/martinRenou\"\u003e\u003ccode\u003e@​martinRenou\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3958\"\u003ejupyter-widgets/ipywidgets#3958\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo fix by \u003ca href=\"https://github.com/david4096\"\u003e\u003ccode\u003e@​david4096\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3960\"\u003ejupyter-widgets/ipywidgets#3960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate lables even without MatJax/TypeSetter by \u003ca href=\"https://github.com/DonJayamanne\"\u003e\u003ccode\u003e@​DonJayamanne\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3962\"\u003ejupyter-widgets/ipywidgets#3962\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate github actions and fix readthedocs by \u003ca href=\"https://github.com/brichet\"\u003e\u003ccode\u003e@​brichet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3983\"\u003ejupyter-widgets/ipywidgets#3983\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix the new line when pressing enter in textarea widget by \u003ca href=\"https://github.com/brichet\"\u003e\u003ccode\u003e@​brichet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3982\"\u003ejupyter-widgets/ipywidgets#3982\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBackward compatibility on processPhosphorMessage by \u003ca href=\"https://github.com/martinRenou\"\u003e\u003ccode\u003e@​martinRenou\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3945\"\u003ejupyter-widgets/ipywidgets#3945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInclude sourcemaps in npm tarballs by \u003ca href=\"https://github.com/manzt\"\u003e\u003ccode\u003e@​manzt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3978\"\u003ejupyter-widgets/ipywidgets#3978\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix deprecation warning when importing the backend_inline by \u003ca href=\"https://github.com/emolinlu\"\u003e\u003ccode\u003e@​emolinlu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3984\"\u003ejupyter-widgets/ipywidgets#3984\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/david4096\"\u003e\u003ccode\u003e@​david4096\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3960\"\u003ejupyter-widgets/ipywidgets#3960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brichet\"\u003e\u003ccode\u003e@​brichet\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3983\"\u003ejupyter-widgets/ipywidgets#3983\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emolinlu\"\u003e\u003ccode\u003e@​emolinlu\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3984\"\u003ejupyter-widgets/ipywidgets#3984\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.5...8.1.6\"\u003ehttps://github.com/jupyter-widgets/ipywidgets/compare/8.1.5...8.1.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e8.1.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMore Phosphor backward compatibility by \u003ca href=\"https://github.com/martinRenou\"\u003e\u003ccode\u003e@​martinRenou\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3942\"\u003ejupyter-widgets/ipywidgets#3942\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.4...8.1.5\"\u003ehttps://github.com/jupyter-widgets/ipywidgets/compare/8.1.4...8.1.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e8.1.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eNew features\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/jupyter-widgets/ipywidgets/commit/3171b1c746643a3893987190dc505661c5562877\"\u003e\u003ccode\u003e3171b1c\u003c/code\u003e\u003c/a\u003e Update Output Widget.ipynb (\u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/issues/3881\"\u003e#3881\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commit/cd817839ab8b6ef80c8e2b7a94c8f1df1de29734\"\u003e\u003ccode\u003ecd81783\u003c/code\u003e\u003c/a\u003e update image processing example notebok imports and function call (\u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/issues/3896\"\u003e#3896\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commit/cecd2b0d0314a92b71dce364e3db7a06af8cf64a\"\u003e\u003ccode\u003ececd2b0\u003c/code\u003e\u003c/a\u003e specify Jupyterlab (version 3.x or above) (\u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/issues/3880\"\u003e#3880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commit/0aa1efb563edeb3564f5738dfbee630fd6e4ed6f\"\u003e\u003ccode\u003e0aa1efb\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003einteract\u003c/code\u003e to use basic type hint annotations (\u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/issues/3908\"\u003e#3908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commit/2e15cfc030b8f6c319114be23b4f95efb537fd4d\"\u003e\u003ccode\u003e2e15cfc\u003c/code\u003e\u003c/a\u003e Update Widget List.ipynb\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commit/06ed868181a3192067ffcff0ed94815f72a1f7bf\"\u003e\u003ccode\u003e06ed868\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/issues/3793\"\u003e#3793\u003c/a\u003e from ferdnyc/mappings-work-again\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commit/31259ca8ba33c44a29ba8ffede9de0eece61fb44\"\u003e\u003ccode\u003e31259ca\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/issues/3801\"\u003e#3801\u003c/a\u003e from warrickball/patch-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commit/dd250bfacd875561ad05f692d39c41f350a56b42\"\u003e\u003ccode\u003edd250bf\u003c/code\u003e\u003c/a\u003e Handle Notebook 7 in dev install script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commit/a1282ec692b35d91e0b3062016962634c7a8012e\"\u003e\u003ccode\u003ea1282ec\u003c/code\u003e\u003c/a\u003e Fix link to \u0026quot;Output widget examples\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commit/b6b3051e0b89c1086ea79327d3e957af7da957fd\"\u003e\u003ccode\u003eb6b3051\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add note on removal of mapping types in documentation\u0026quot;\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.0.1...8.1.8\"\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=ipywidgets\u0026package-manager=pip\u0026previous-version=8.0.1\u0026new-version=8.1.8)](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/hzy-del/class/pull/394","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/hzy-del%2Fclass/issues/394","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/394/packages"},{"uuid":"3683277183","node_id":"PR_kwDOATzq8M62d6kx","number":3719,"state":"open","title":"Bump the pip group across 1 directory with 28 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-12-01T23:19:38.000Z","updated_at":"2026-01-01T20:00:41.793Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"pip","update_count":28,"packages":[{"name":"beautifulsoup4","old_version":"4.13.4","new_version":"4.14.3"},{"name":"biopython","old_version":"1.85","new_version":"1.86","repository_url":"https://github.com/biopython/biopython"},{"name":"bokeh","old_version":"3.6.2","new_version":"3.8.1","repository_url":"https://github.com/bokeh/bokeh"},{"name":"certifi","old_version":"2025.7.14","new_version":"2025.11.12","repository_url":"https://github.com/certifi/python-certifi"},{"name":"cryptography","old_version":"45.0.5","new_version":"46.0.3","repository_url":"https://github.com/pyca/cryptography"},{"name":"idna","old_version":"3.10","new_version":"3.11","repository_url":"https://github.com/kjd/idna"},{"name":"jsonschema","old_version":"4.25.0","new_version":"4.25.1","repository_url":"https://github.com/python-jsonschema/jsonschema"},{"name":"markdown","old_version":"3.8.2","new_version":"3.10","repository_url":"https://github.com/Python-Markdown/markdown"},{"name":"markupsafe","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/pallets/markupsafe"},{"name":"networkx","old_version":"3.4.2","new_version":"3.6","repository_url":"https://github.com/networkx/networkx"},{"name":"numpy","old_version":"2.2.3","new_version":"2.3.5","repository_url":"https://github.com/numpy/numpy"},{"name":"pillow","old_version":"11.3.0","new_version":"12.0.0","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"plotly","old_version":"6.2.0","new_version":"6.5.0","repository_url":"https://github.com/plotly/plotly.py"},{"name":"pycurl","old_version":"7.45.6","new_version":"7.45.7","repository_url":"https://github.com/pycurl/pycurl"},{"name":"pyopenssl","old_version":"25.1.0","new_version":"25.3.0","repository_url":"https://github.com/pyca/pyopenssl"},{"name":"scipy","old_version":"1.15.2","new_version":"1.16.3","repository_url":"https://github.com/scipy/scipy"},{"name":"ipython","old_version":"8.33.0","new_version":"9.7.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":"pandas","old_version":"2.3.1","new_version":"2.3.3","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"pymongo","old_version":"4.13.2","new_version":"4.15.4","repository_url":"https://github.com/mongodb/mongo-python-driver"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"requests","old_version":"2.32.4","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"scikit-learn","old_version":"1.6.1","new_version":"1.7.2","repository_url":"https://github.com/scikit-learn/scikit-learn"},{"name":"tornado","old_version":"6.5.1","new_version":"6.5.2","repository_url":"https://github.com/tornadoweb/tornado"},{"name":"coverage","old_version":"7.10.1","new_version":"7.12.0","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"pytest","old_version":"8.4.1","new_version":"9.0.1","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"6.2.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"ruff","old_version":"0.12.7","new_version":"0.14.7","repository_url":"https://github.com/astral-sh/ruff"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 28 updates in the /src directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.13.4` | `4.14.3` |\n| [biopython](https://github.com/biopython/biopython) | `1.85` | `1.86` |\n| [bokeh](https://github.com/bokeh/bokeh) | `3.6.2` | `3.8.1` |\n| [certifi](https://github.com/certifi/python-certifi) | `2025.7.14` | `2025.11.12` |\n| [cryptography](https://github.com/pyca/cryptography) | `45.0.5` | `46.0.3` |\n| [idna](https://github.com/kjd/idna) | `3.10` | `3.11` |\n| [jsonschema](https://github.com/python-jsonschema/jsonschema) | `4.25.0` | `4.25.1` |\n| [markdown](https://github.com/Python-Markdown/markdown) | `3.8.2` | `3.10` |\n| [markupsafe](https://github.com/pallets/markupsafe) | `3.0.2` | `3.0.3` |\n| [networkx](https://github.com/networkx/networkx) | `3.4.2` | `3.6` |\n| [numpy](https://github.com/numpy/numpy) | `2.2.3` | `2.3.5` |\n| [pillow](https://github.com/python-pillow/Pillow) | `11.3.0` | `12.0.0` |\n| [plotly](https://github.com/plotly/plotly.py) | `6.2.0` | `6.5.0` |\n| [pycurl](https://github.com/pycurl/pycurl) | `7.45.6` | `7.45.7` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `25.1.0` | `25.3.0` |\n| [scipy](https://github.com/scipy/scipy) | `1.15.2` | `1.16.3` |\n| [ipython](https://github.com/ipython/ipython) | `8.33.0` | `9.7.0` |\n| [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) | `8.1.7` | `8.1.8` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.1` | `2.3.3` |\n| [pymongo](https://github.com/mongodb/mongo-python-driver) | `4.13.2` | `4.15.4` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [requests](https://github.com/psf/requests) | `2.32.4` | `2.32.5` |\n| [scikit-learn](https://github.com/scikit-learn/scikit-learn) | `1.6.1` | `1.7.2` |\n| [tornado](https://github.com/tornadoweb/tornado) | `6.5.1` | `6.5.2` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.10.1` | `7.12.0` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.1` | `9.0.1` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.2.1` | `7.0.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.12.7` | `0.14.7` |\n\n\nUpdates `beautifulsoup4` from 4.13.4 to 4.14.3\n\nUpdates `biopython` from 1.85 to 1.86\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/biopython/biopython/blob/master/NEWS.rst\"\u003ebiopython's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e28 October 2025: Biopython 1.86\u003c/h1\u003e\n\u003cp\u003eThis release of Biopython supports Python 3.10, 3.11, 3.12, 3.13 and 3.14.  It\nhas also been tested on PyPy3.10 v7.3.19.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.SearchIO\u003c/code\u003e now supports parsing the tabular and plain text output of\n\u003ccode\u003eInfernal \u0026lt;http://eddylab.org/infernal/\u0026gt;\u003c/code\u003e (v1.0.0+) RNA search tool. The\nformat names are \u003ccode\u003einfernal-tab\u003c/code\u003e and \u003ccode\u003einfernal-text\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe default value of the gap score of a \u003ccode\u003ePairwiseAligner\u003c/code\u003e object was changed\nin this release.  Previously, for consistency with \u003ccode\u003eBio.pairwise2\u003c/code\u003e, the\ndefault value for gap score was 0.  However, this means that a mismatch, an\ninsertion followed by a deletion, and a deletion followed by an insertion all\nget assigned a score of 0.  The aligner then finds a large number of alignments\nthat are logically the same, but have trivial differences between them.  For\nexample, aligning AAACAAA to AAAGAAA previously yielded the following three\nalignments, all with score 6::\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e AAACAAA        AAAC-AAA        AAA-CAAA\n AAAGAAA        AAA-GAAA        AAAG-AAA\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eWith the new default parameter for the gap score, only the first alignment is\nreturned.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.PDB.PDBIO\u003c/code\u003e now ensures that b-factor values are always at most 6 characters to\nensure that we do not violate the wwPDB specification. This should not have an impact\non the majority of uses, as b-factor values are generally small (less than 100). When\n1000 \u0026lt;= b-factor \u0026lt; 10_000, the value is rounded to a single decimal place. When,\n10_000 \u0026lt;= b-factor \u0026lt; 999_999, the value is rounded to zero decimal places. Values\nabove 999_999 are now clamped. The justification for this is the rise in the b-factor\nfield being used for additional metadata, typically from computational tools.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.Align\u003c/code\u003e now provides a method \u003ccode\u003eAlignment.from_alignments_with_same_reference\u003c/code\u003e\nto construct a multiple sequence alignment from a collection of alignments\nthat share the same reference sequence.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.PDB.PDBIO\u003c/code\u003e will now raise module specific warnings:\n\u003ccode\u003eBio.PDB.PDBExceptions.PDBIOWarning\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.PDB.SCADIO\u003c/code\u003e now supports object selection by color in the OpenSCAD\noutput file.  This enables generation of separate STL files for each color for\nprinting protein structures on multi-material 3D printers.\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003eiplotx\u003c/code\u003e library is mentioned in the Tutorial as an option to visualise\ntrees using complex style options.\u003c/p\u003e\n\u003cp\u003eMany thanks to the Biopython developers and community for making this release\npossible, especially the following contributors:\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\u003eSee full diff in \u003ca href=\"https://github.com/biopython/biopython/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bokeh` from 3.6.2 to 3.8.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bokeh/bokeh/blob/3.8.1/docs/CHANGELOG\"\u003ebokeh's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2025-11-07    3.8.1:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ebugfixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14618\"\u003e#14618\u003c/a\u003e [component: docs] Local documentation build fails with \u003ccode\u003eExtension error (sphinxext.opengraph)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14626\"\u003e#14626\u003c/a\u003e [component: docs] Local documentation fails on Windows because of missing svg icons\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14651\"\u003e#14651\u003c/a\u003e [component: bokehjs] HoverTool parameter @$name for stacked bar chart not working in version 3.8.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003etasks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14704\"\u003e#14704\u003c/a\u003e Backports for 3.8.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2025-08-29      3.8:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ebugfixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/12430\"\u003e#12430\u003c/a\u003e [component: bokehjs] [BUG] Step glyphs do not support linked brushing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/12994\"\u003e#12994\u003c/a\u003e [component: bokehjs] [BUG] Patch does not output under certain conditions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/13616\"\u003e#13616\u003c/a\u003e [component: bokehjs] [BUG] DateRangePicker value does not reflect value in browser when selection is aborted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14334\"\u003e#14334\u003c/a\u003e js_on_change not firing when range is updated in range tool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14352\"\u003e#14352\u003c/a\u003e [component: bokehjs] Log Axis and Range1d \u0026lt; 1 failing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14383\"\u003e#14383\u003c/a\u003e [component: bokehjs] \u003ccode\u003eSerializationError: circular reference\u003c/code\u003e When Passing List of Renderers to CustomJS Callbacks, but not when passing renderers sperately.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14396\"\u003e#14396\u003c/a\u003e [component: examples] Remove context from time of day in span example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14399\"\u003e#14399\u003c/a\u003e Bad typings for \u003ccode\u003elist_attr_splat\u003c/code\u003e (e.g. \u003ccode\u003ePlot.axis\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14413\"\u003e#14413\u003c/a\u003e [component: bokehjs] \u003ccode\u003eValueRef\u003c/code\u003e \u003ccode\u003eformatter\u003c/code\u003e does not handle datetime nullable well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14420\"\u003e#14420\u003c/a\u003e [component: bokehjs] Enhance performance of WebGL multi_marker\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14422\"\u003e#14422\u003c/a\u003e [component: bokehjs] Legend renderer not correctly positioned when saved with SaveTool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14424\"\u003e#14424\u003c/a\u003e [component: bokehjs] Patches with no data does not show plot with Bokeh 3.7+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14458\"\u003e#14458\u003c/a\u003e [component: bokehjs] Removing and re-adding DOM nodes causes React problems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14461\"\u003e#14461\u003c/a\u003e [component: tests] The regression test for issue \u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14207\"\u003e#14207\u003c/a\u003e is unreliable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14468\"\u003e#14468\u003c/a\u003e [component: docs] Try on CodePen link does not work in documentation /docs/user_guide/advanced/bokehjs.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14469\"\u003e#14469\u003c/a\u003e [component: bokehjs] Canvas2D: Multiple readback operations using getImageData are faster with the willReadFrequently attribute set to true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14476\"\u003e#14476\u003c/a\u003e Improve handling of pd.NA in Property.matches\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14497\"\u003e#14497\u003c/a\u003e mypy 1.15.0 fails in CI but not locally\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14499\"\u003e#14499\u003c/a\u003e [component: docs] IndexError on importing bokeh.sphinxext.bokeh_plot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14520\"\u003e#14520\u003c/a\u003e [component: bokehjs] BokehJS complains about categorical factors for the BoxAnnotation widget\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14536\"\u003e#14536\u003c/a\u003e Flex layouts need to apply \u003ccode\u003emin_width\u003c/code\u003e and \u003ccode\u003emin_height\u003c/code\u003e selectively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14540\"\u003e#14540\u003c/a\u003e [component: tests] Tests are failing on Windows and Python 3.10 after PR \u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14531\"\u003e#14531\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14541\"\u003e#14541\u003c/a\u003e New SVG icons have inconsistent line widths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14554\"\u003e#14554\u003c/a\u003e Add support for scalar uint32 color input.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14565\"\u003e#14565\u003c/a\u003e [component: bokehjs] DataTable source update broken\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14574\"\u003e#14574\u003c/a\u003e [component: build] grammar build script failing with whitespace in path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14597\"\u003e#14597\u003c/a\u003e [component: bokehjs] \u003ccode\u003edocument_ready\u003c/code\u003e even trigger twice with Bokeh 3.4.0.dev4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14602\"\u003e#14602\u003c/a\u003e [component: bokehjs] Layoutable components in side panels don't appear in exported images\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14620\"\u003e#14620\u003c/a\u003e Re-connect race condition on page reload\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/2603\"\u003e#2603\u003c/a\u003e [component: bokehjs] Add a SizeBar guide to label relative scatter glyph sizes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/7338\"\u003e#7338\u003c/a\u003e Setting areas for the activation of the hover.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/8608\"\u003e#8608\u003c/a\u003e [component: bokehjs] [Feature request] automatic reconnect to server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/9087\"\u003e#9087\u003c/a\u003e [component: bokehjs] Provide hit_filter property on HoverTool and TapTool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/9327\"\u003e#9327\u003c/a\u003e [component: bokehjs] [BUG] Not possible to disable multi-select behavior for DataTable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/12375\"\u003e#12375\u003c/a\u003e [FEATURE] Set axis label at a fixed distance from the axis\u003c/li\u003e\n\u003c/ul\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/bokeh/bokeh/commit/7e37a6395b36d3249a4d45263ddc2a26a7234906\"\u003e\u003ccode\u003e7e37a63\u003c/code\u003e\u003c/a\u003e Deployment updates for release 3.8.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/838b7c33f60bbca68374763f910d3c7e42836529\"\u003e\u003ccode\u003e838b7c3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14704\"\u003e#14704\u003c/a\u003e from bokeh/mattpap/3.8.1_backports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/477afb390d0993653ec899cde532fa49492d2129\"\u003e\u003ccode\u003e477afb3\u003c/code\u003e\u003c/a\u003e Added release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/360d9d683f24615af0e9c4c5dfc9c770248f5d5f\"\u003e\u003ccode\u003e360d9d6\u003c/code\u003e\u003c/a\u003e set minimal version of sphinxext-opengraph to 0.11.0 (\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14625\"\u003e#14625\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/fd662c1297b1bc8ff927b5df9948e1926a2c8243\"\u003e\u003ccode\u003efd662c1\u003c/code\u003e\u003c/a\u003e add copy and delete for svg icons to make.bat (\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14627\"\u003e#14627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/9f9d602e37adc82f2bd5b2a1e915058786c7a40b\"\u003e\u003ccode\u003e9f9d602\u003c/code\u003e\u003c/a\u003e Restore @$name support and improve replace_placeholders() (\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14652\"\u003e#14652\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/b63f69158d88b5d2e7ab58b2be434d9acc7c20c8\"\u003e\u003ccode\u003eb63f691\u003c/code\u003e\u003c/a\u003e Update switcher.json\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/6431bdfdb92fc71c784700aeeca46a65ab0d9e9f\"\u003e\u003ccode\u003e6431bdf\u003c/code\u003e\u003c/a\u003e Merge deployment staging branch staging-3.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/237861996ad5f1738b8c71d90bed5977e072930b\"\u003e\u003ccode\u003e2378619\u003c/code\u003e\u003c/a\u003e Deployment updates for release 3.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/b83c74d19657baaeb1f9cdcc68f453169ecf9a18\"\u003e\u003ccode\u003eb83c74d\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003eswitcher.json\u003c/code\u003e for 3.8 release (\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14623\"\u003e#14623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bokeh/bokeh/compare/3.6.2...3.8.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2025.7.14 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\u003eSee full diff in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2025.07.14...2025.11.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 45.0.5 to 46.0.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e46.0.3 - 2025-10-15\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed compilation when using LibreSSL 4.2.0.\n\u003cp\u003e.. _v46-0-2:\u003c/p\u003e\n\u003cp\u003e46.0.2 - 2025-09-30\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.4.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-1:\u003c/p\u003e\n\u003cp\u003e46.0.1 - 2025-09-16\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed an issue where users installing via ``pip`` on Python 3.14 development\n  versions would not properly install a dependency.\n* Fixed an issue building the free-threaded macOS 3.14 wheels.\n\u003cp\u003e.. _v46-0-0:\u003c/p\u003e\n\u003cp\u003e46.0.0 - 2025-09-16\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBACKWARDS INCOMPATIBLE:\u003c/strong\u003e Support for Python 3.7 has been removed.\u003c/li\u003e\n\u003cli\u003eSupport for OpenSSL \u0026lt; 3.0 is deprecated and will be removed in the next\nrelease.\u003c/li\u003e\n\u003cli\u003eSupport for \u003ccode\u003ex86_64\u003c/code\u003e macOS (including publishing wheels) is deprecated\nand will be removed in two releases. We will switch to publishing an\n\u003ccode\u003earm64\u003c/code\u003e only wheel for macOS.\u003c/li\u003e\n\u003cli\u003eSupport for 32-bit Windows (including publishing wheels) is deprecated\nand will be removed in two releases. Users should move to a 64-bit\nPython installation.\u003c/li\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.3.\u003c/li\u003e\n\u003cli\u003eWe now build \u003ccode\u003eppc64le\u003c/code\u003e \u003ccode\u003emanylinux\u003c/code\u003e wheels and publish them to PyPI.\u003c/li\u003e\n\u003cli\u003eWe now build \u003ccode\u003ewin_arm64\u003c/code\u003e (Windows on Arm) wheels and publish them to PyPI.\u003c/li\u003e\n\u003cli\u003eAdded support for free-threaded Python 3.14.\u003c/li\u003e\n\u003cli\u003eRemoved the deprecated \u003ccode\u003eget_attribute_for_oid\u003c/code\u003e method on\n:class:\u003ccode\u003e~cryptography.x509.CertificateSigningRequest\u003c/code\u003e. Users should use\n:meth:\u003ccode\u003e~cryptography.x509.Attributes.get_attribute_for_oid\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003eRemoved the deprecated \u003ccode\u003eCAST5\u003c/code\u003e, \u003ccode\u003eSEED\u003c/code\u003e, \u003ccode\u003eIDEA\u003c/code\u003e, and \u003ccode\u003eBlowfish\u003c/code\u003e\nclasses from the cipher module. These are still available in\n:doc:\u003ccode\u003e/hazmat/decrepit/index\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eIn X.509, when performing a PSS signature with a SHA-3 hash, it is now\nencoded with the official NIST SHA3 OID.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v45-0-7:\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/pyca/cryptography/commit/c0af4dd7b75921bbe9f1d41a03dbd4b64a9e3403\"\u003e\u003ccode\u003ec0af4dd\u003c/code\u003e\u003c/a\u003e release 46.0.3 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13681\"\u003e#13681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/99efe5ad150a56efadafacaffd0e3ee319373904\"\u003e\u003ccode\u003e99efe5a\u003c/code\u003e\u003c/a\u003e bump version for 46.0.2 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13531\"\u003e#13531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e735cfc27502320101c130335c556394a125ba52\"\u003e\u003ccode\u003ee735cfc\u003c/code\u003e\u003c/a\u003e release 46.0.1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13450\"\u003e#13450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/4e457ffba43a6d87efc63c33041e2081438dd8a4\"\u003e\u003ccode\u003e4e457ff\u003c/code\u003e\u003c/a\u003e Explicitly specify python in mac uv build invocation (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13447\"\u003e#13447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/2726efdb6d67f1c90cf9c6062d9fe051965586f8\"\u003e\u003ccode\u003e2726efd\u003c/code\u003e\u003c/a\u003e Depend on CFFI 2.0.0 or newer on Python \u0026gt; 3.8 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13448\"\u003e#13448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/62230623d183706632c0eb7822c96ac95e3710a8\"\u003e\u003ccode\u003e6223062\u003c/code\u003e\u003c/a\u003e release 46.0.0 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13446\"\u003e#13446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/563c4915b0931455706f761a4579c26698824eae\"\u003e\u003ccode\u003e563c491\u003c/code\u003e\u003c/a\u003e Update comment for pyopenssl-release tag (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13445\"\u003e#13445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/d2f6f7faced35b73277bc624ff496f8af696b172\"\u003e\u003ccode\u003ed2f6f7f\u003c/code\u003e\u003c/a\u003e Bump downstream dependencies in CI (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13439\"\u003e#13439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e7ab02bd679d0b4f55d93486fe27e62554ef15d4\"\u003e\u003ccode\u003ee7ab02b\u003c/code\u003e\u003c/a\u003e we'll ship this with 3.5.3 why not (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13442\"\u003e#13442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/0b68a4bffb61202e4d4f5074cd30c2b9d15f429e\"\u003e\u003ccode\u003e0b68a4b\u003c/code\u003e\u003c/a\u003e Another pair of bump dependencies fix (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13444\"\u003e#13444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/cryptography/compare/45.0.5...46.0.3\"\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 `jsonschema` from 4.25.0 to 4.25.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/releases\"\u003ejsonschema's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.25.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidator\u003c/code\u003e protocol init to match runtime by \u003ca href=\"https://github.com/sirosen\"\u003e\u003ccode\u003e@​sirosen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1396\"\u003epython-jsonschema/jsonschema#1396\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-jsonschema/jsonschema/compare/v4.25.0...v4.25.1\"\u003ehttps://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.25.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst\"\u003ejsonschema's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev4.25.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix an incorrect required argument in the \u003ccode\u003eValidator\u003c/code\u003e protocol's type annotations (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1396\"\u003e#1396\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/331c38425519b69118d22ebe467ad230fb83a010\"\u003e\u003ccode\u003e331c384\u003c/code\u003e\u003c/a\u003e Add the fix to the changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/c1ec0a645e913e83de95995f6efbbd358676abf6\"\u003e\u003ccode\u003ec1ec0a6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1398\"\u003e#1398\u003c/a\u003e from python-jsonschema/dependabot/github_actions/ast...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/8e7d594faff13f8f663b306a0d86bea0ce5de6cb\"\u003e\u003ccode\u003e8e7d594\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1399\"\u003e#1399\u003c/a\u003e from python-jsonschema/dependabot/github_actions/act...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/460f4fae42664773160f56ccc843a4fcea34f7cf\"\u003e\u003ccode\u003e460f4fa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1396\"\u003e#1396\u003c/a\u003e from sirosen/improve-protocol-init-signature\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/1e58409b71a9696b7bf9938ae8a3a48ef95ab29e\"\u003e\u003ccode\u003e1e58409\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] auto fixes from pre-commit.com hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/64bc2171624ef201bdbf35e47780348ce30935c5\"\u003e\u003ccode\u003e64bc217\u003c/code\u003e\u003c/a\u003e Add a typing test for the Validator protocol\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/6c25741bff889477680f9b0d1aa967ae35c38f43\"\u003e\u003ccode\u003e6c25741\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/bf603d59117f840916709fc87c6625df43d1fe72\"\u003e\u003ccode\u003ebf603d5\u003c/code\u003e\u003c/a\u003e Bump astral-sh/setup-uv from 6.4.3 to 6.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/a916d8f8253baa11bacc60f0868f0bab1e42d526\"\u003e\u003ccode\u003ea916d8f\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eValidator\u003c/code\u003e protocol init to match runtime\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/de60f18bd97395a52a11b561eb62963e0ffe9e71\"\u003e\u003ccode\u003ede60f18\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1397\"\u003e#1397\u003c/a\u003e from python-jsonschema/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.25.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `markdown` from 3.8.2 to 3.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Python-Markdown/markdown/releases\"\u003emarkdown's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 3.10.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOfficially support Python 3.14 and PyPy 3.11 and drop support for Python 3.9\nand PyPy 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix an HTML comment parsing case in some Python versions that can cause an\ninfinite loop (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1554\"\u003e#1554\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRevert the default behavior of \u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e (to \u003ccode\u003eTrue\u003c/code\u003e). The new\nbehavior introduced in 3.9.0 is experimental and results are inconsistent.\nIt should not have been made the default behavior (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1561\"\u003e#1561\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.9.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFootnotes are now ordered by the occurrence of their references in the\ndocument. A new configuration option for the footnotes extension,\n\u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e, has been added to support restoring the previous\nbehavior of ordering footnotes by the occurrence of definitions (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1367\"\u003e#1367\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure inline processing iterates through elements in document order (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1546\"\u003e#1546\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix handling of incomplete HTML tags in code spans in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1547\"\u003e#1547\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/Python-Markdown/markdown/blob/master/docs/changelog.md\"\u003emarkdown's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003etitle: Changelog\ntoc_depth: 2\u003c/p\u003e\n\u003ch1\u003ePython-Markdown Changelog\u003c/h1\u003e\n\u003cp\u003eAll notable changes to this project will be documented in this file.\u003c/p\u003e\n\u003cp\u003eThe format is based on \u003ca href=\"https://keepachangelog.com/en/1.1.0/\"\u003eKeep a Changelog\u003c/a\u003e,\nand this project adheres to the\n\u003ca href=\"https://packaging.python.org/en/latest/specifications/version-specifiers/\"\u003ePython Version Specification\u003c/a\u003e.\nSee the \u003ca href=\"https://github.com/Python-Markdown/markdown/blob/master/docs/contributing.md\"\u003eContributing Guide\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003e[3.10.0] - 2025-11-03\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOfficially support Python 3.14 and PyPy 3.11 and drop support for Python 3.9\nand PyPy 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix an HTML comment parsing case in some Python versions that can cause an\ninfinite loop (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1554\"\u003e#1554\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRevert the default behavior of \u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e (to \u003ccode\u003eTrue\u003c/code\u003e). The new\nbehavior introduced in 3.9.0 is experimental and results are inconsistent.\nIt should not have been made the default behavior (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1561\"\u003e#1561\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.9.0] - 2025-09-04\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFootnotes are now ordered by the occurrence of their references in the\ndocument. A new configuration option for the footnotes extension,\n\u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e, has been added to support restoring the previous\nbehavior of ordering footnotes by the occurrence of definitions (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1367\"\u003e#1367\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure inline processing iterates through elements in document order (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1546\"\u003e#1546\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix handling of incomplete HTML tags in code spans in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1547\"\u003e#1547\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/22e89c1fc346f72218a10e392a0c3b4731912522\"\u003e\u003ccode\u003e22e89c1\u003c/code\u003e\u003c/a\u003e Bump version to 3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/c138aea5139a6aceae05bb957e866d9ce7577b94\"\u003e\u003ccode\u003ec138aea\u003c/code\u003e\u003c/a\u003e + PY314 - PY39\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/746f7f527b15f63845253e3b86947b806ef1b98f\"\u003e\u003ccode\u003e746f7f5\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/a5ee2b4aad05531898ab8fd726c7ece31ddadf8b\"\u003e\u003ccode\u003ea5ee2b4\u003c/code\u003e\u003c/a\u003e Revert the default behavior of \u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/5354daf618149f92580a1407c036115753c5df73\"\u003e\u003ccode\u003e5354daf\u003c/code\u003e\u003c/a\u003e Fix an HTML comment parsing case that can cause an infinite loop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/f39cf84a24124526c1a0efbe52219fa9950774f6\"\u003e\u003ccode\u003ef39cf84\u003c/code\u003e\u003c/a\u003e Bump version to 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/07bf2076623be5de9952e1f35bfb8c218b699300\"\u003e\u003ccode\u003e07bf207\u003c/code\u003e\u003c/a\u003e Order footnotes by reference\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/23c301de28e12426408656efdfa153b11d4ff558\"\u003e\u003ccode\u003e23c301d\u003c/code\u003e\u003c/a\u003e Fix failing cases for Python 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/4669a09894d4a35cd5f5d2106b0da95e48d1a3f9\"\u003e\u003ccode\u003e4669a09\u003c/code\u003e\u003c/a\u003e fix typo\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Python-Markdown/markdown/compare/3.8.2...3.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `markupsafe` from 3.0.2 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/markupsafe/releases\"\u003emarkupsafe's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003cp\u003eThis is the MarkupSafe 3.0.3 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/MarkupSafe/3.0.3/\"\u003ehttps://pypi.org/project/MarkupSafe/3.0.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://markupsafe.palletsprojects.com/page/changes/#version-3-0-3\"\u003ehttps://markupsafe.palletsprojects.com/page/changes/#version-3-0-3\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/markupsafe/milestone/15?closed=1\"\u003ehttps://github.com/pallets/markupsafe/milestone/15?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e__version__\u003c/code\u003e raises \u003ccode\u003eDeprecationWarning\u003c/code\u003e instead of \u003ccode\u003eUserWarning\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/487\"\u003e#487\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdopt multi-phase initialization PEP 489 for the C extension. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/494\"\u003e#494\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild Windows ARM64 wheels. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/485\"\u003e#485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild Python 3.14 wheels. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/503\"\u003e#503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild riscv64 wheels. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/505\"\u003e#505\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/markupsafe/blob/main/CHANGES.rst\"\u003emarkupsafe's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.0.3\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-27\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e__version__\u003c/code\u003e raises \u003ccode\u003eDeprecationWarning\u003c/code\u003e instead of \u003ccode\u003eUserWarning\u003c/code\u003e.\n:issue:\u003ccode\u003e487\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdopt multi-phase initialisation (:pep:\u003ccode\u003e489\u003c/code\u003e) for the C extension.\n:issue:\u003ccode\u003e494\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eBuild Windows ARM64 wheels. :issue:\u003ccode\u003e485\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eBuild Python 3.14 wheels. :issue:\u003ccode\u003e503\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eBuild riscv64 wheels. :issue:\u003ccode\u003e505\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/297fc8e356e6836a62087949245d09a28e9f1b13\"\u003e\u003ccode\u003e297fc8e\u003c/code\u003e\u003c/a\u003e release version 3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/7e4e6ce249107c5f27fa6fe890e29da7a8dc8f0c\"\u003e\u003ccode\u003e7e4e6ce\u003c/code\u003e\u003c/a\u003e Free-threading: run with pytest-run-paralell (\u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/507\"\u003e#507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/6100b9c0d466495a08d55b33cb172d7b5d8e9aa1\"\u003e\u003ccode\u003e6100b9c\u003c/code\u003e\u003c/a\u003e enable riscv64 wheels (\u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/506\"\u003e#506\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/c9d5ecfc7eec6f611b19cdc8e1cde1aaa65cb8eb\"\u003e\u003ccode\u003ec9d5ecf\u003c/code\u003e\u003c/a\u003e enable riscv64 wheels\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/2f9b33753052e7c6df1464a7c900787d04ae9daf\"\u003e\u003ccode\u003e2f9b337\u003c/code\u003e\u003c/a\u003e tox for 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/78d951a9549dee9fc901c55fc79a74a5f01e96fc\"\u003e\u003ccode\u003e78d951a\u003c/code\u003e\u003c/a\u003e update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/bb6744e392e79611b110c5ba022238eb1b855cc2\"\u003e\u003ccode\u003ebb6744e\u003c/code\u003e\u003c/a\u003e add entry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/65c4134ab16a3faccbcac2cba90da0db2b799542\"\u003e\u003ccode\u003e65c4134\u003c/code\u003e\u003c/a\u003e upgrade cibuildwheel, add \u003ccode\u003ecp314\u003c/code\u003e wheels and test on CPython 3.14 (\u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/504\"\u003e#504\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/3a9bd88b84c9edba8b922bb12b84a59feed98788\"\u003e\u003ccode\u003e3a9bd88\u003c/code\u003e\u003c/a\u003e add cp314 wheels\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/aafe44d87bd7974bc82af8c4010dea9938441edf\"\u003e\u003ccode\u003eaafe44d\u003c/code\u003e\u003c/a\u003e remove slsa provenance (\u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/501\"\u003e#501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/markupsafe/compare/3.0.2...3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `networkx` from 3.4.2 to 3.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/networkx/networkx/releases\"\u003enetworkx's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eNetworkX 3.6\u003c/h2\u003e\n\u003ch1\u003enetworkx 3.6\u003c/h1\u003e\n\u003cp\u003eWe're happy to announce the release of networkx 3.6!\u003c/p\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eENH: add normalize option for \u003ccode\u003esubgraph_centrality\u003c/code\u003e and its \u003ccode\u003e_exp\u003c/code\u003e version (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8340\"\u003e#8340\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAPI Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace \u003ccode\u003erandom_lobster\u003c/code\u003e with \u003ccode\u003erandom_lobster_graph\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8067\"\u003e#8067\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003emaybe_regular_expander\u003c/code\u003e with \u003ccode\u003emaybe_regular_expander_graph\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8050\"\u003e#8050\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRm networkx.algorithms.threshold.swap_d (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8213\"\u003e#8213\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eExpire deprecation of compute_v_structures (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8281\"\u003e#8281\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRm unused dissuade_hubs kwarg from forceatlas2 (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8293\"\u003e#8293\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eExpire deprecation of link kwarg in node_link fns (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8282\"\u003e#8282\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDEP: Deprecate metric_closure (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8304\"\u003e#8304\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove error message for removed \u003ccode\u003erandom_tree\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8105\"\u003e#8105\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eUpdate approx current_flow betweenness to use k directly (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8007\"\u003e#8007\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eProposal: update semantics for nonisomorphic trees with order 0 or 1 (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8083\"\u003e#8083\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eSCC benchmarks and use of \u003ccode\u003eG._adj\u003c/code\u003e in Tarjan algorithm (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8064\"\u003e#8064\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003ePerformance improvement and tests for \u003ccode\u003eedges_equal\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8077\"\u003e#8077\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eoptimise \u003ccode\u003eis_reachable()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8112\"\u003e#8112\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eOptimise harmonic centrality (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8158\"\u003e#8158\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003efeat(drawing): add missing connection styles in \u003ccode\u003edraw_networkx_edge_labels\u003c/code\u003e and \u003ccode\u003edisplay\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8108\"\u003e#8108\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eOptimizing Dijkstra's paths to target (~50x faster for graphs with multiple-hops shortest path) (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8023\"\u003e#8023\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eall_triangles\u003c/code\u003e generator yielding all unique triangles in a graph (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8135\"\u003e#8135\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003erefactor: simplify \u003ccode\u003ek_factor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8139\"\u003e#8139\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003efeat: add directed star graph (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8151\"\u003e#8151\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFaster \u003ccode\u003eintersection_array\u003c/code\u003e computation for checking distance-regularity (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/7181\"\u003e#7181\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eenh: short-circuit in \u003ccode\u003eis_regular\u003c/code\u003e for directed graphs (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8138\"\u003e#8138\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAvoid re-exploring nodes in Kosaraju's SCC algorithm (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8056\"\u003e#8056\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003etrust rank implementation and testing (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8165\"\u003e#8165\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd hyper_wiener_index function (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8184\"\u003e#8184\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBidirectional dijkstra optimization: from 1.1x to 25x faster (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8206\"\u003e#8206\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImplement the algorithm to find the centroid(s) of a tree (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8089\"\u003e#8089\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eSet length threshold in FR and use np.clip (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8145\"\u003e#8145\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd panther++ (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/4400\"\u003e#4400\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003emaint: use \u003ccode\u003enx.circulant_graph\u003c/code\u003e to generate Harary graphs (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8189\"\u003e#8189\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eENH: add \u003ccode\u003edirected\u003c/code\u003e kwarg to \u003ccode\u003eedges_equal\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8192\"\u003e#8192\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eOptimizing Dijkstra's path construction for all targets case (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8218\"\u003e#8218\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eENH: adds ISMAGS support for directed and multigraph with tests and refactor (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8274\"\u003e#8274\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDispatch classes such as \u003ccode\u003enx.Graph(backend=...)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/7760\"\u003e#7760\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eENH: Add is_perfect_graph using SPGT (follow-up to \u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8111\"\u003e#8111\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8318\"\u003e#8318\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd benchmark suite for shortest path algorithms on weighted graphs (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8059\"\u003e#8059\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdding Generalized Petersen Graph (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8147\"\u003e#8147\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/bb9a6ded1889f182d7a5b76831c389c335d52910\"\u003e\u003ccode\u003ebb9a6de\u003c/code\u003e\u003c/a\u003e Designate 3.6 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/436973632bf1311e348510dda41d944f18db7b32\"\u003e\u003ccode\u003e4369736\u003c/code\u003e\u003c/a\u003e Fix sphinx warnings 3.6rc (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8352\"\u003e#8352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/6dbed05b693d535f70495229c3adc364793b00ed\"\u003e\u003ccode\u003e6dbed05\u003c/code\u003e\u003c/a\u003e FEAT: Add a describe method for some basic info about graphs (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8338\"\u003e#8338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/5fa842b6c78a5e79d90e3961ae34ebf3e17620eb\"\u003e\u003ccode\u003e5fa842b\u003c/code\u003e\u003c/a\u003e Pin last value to 1.0 in \u003ccode\u003ecumulative_distribution\u003c/code\u003e to address floating-point ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/d302ea14cb75a80513052ba3a9010f14a203a587\"\u003e\u003ccode\u003ed302ea1\u003c/code\u003e\u003c/a\u003e Adding \u003ca href=\"https://github.com/amcandio\"\u003e\u003ccode\u003e@​amcandio\u003c/code\u003e\u003c/a\u003e as contributor (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8345\"\u003e#8345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/1c64369df55584106a820f30cd892dbebc14b52e\"\u003e\u003ccode\u003e1c64369\u003c/code\u003e\u003c/a\u003e DOC: Add warning about special GEXF reserved keywords. (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8343\"\u003e#8343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/f26e6bff0e161668a1eecc50491eeff4a68bf3b8\"\u003e\u003ccode\u003ef26e6bf\u003c/code\u003e\u003c/a\u003e ENH: add normalize option for \u003ccode\u003esubgraph_centrality\u003c/code\u003e and its \u003ccode\u003e_exp\u003c/code\u003e version (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/79e113baab1f9a17a1884ef62ebda2e2e1e61428\"\u003e\u003ccode\u003e79e113b\u003c/code\u003e\u003c/a\u003e Adding Generalized Petersen Graph (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8147\"\u003e#8147\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/8b1c5a19c7baeb044daccf6903a3d680efd69fde\"\u003e\u003ccode\u003e8b1c5a1\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 4 to 5 in the actions group (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8335\"\u003e#8335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/e79901a9b3d58840f958d67295967e5e94915727\"\u003e\u003ccode\u003ee79901a\u003c/code\u003e\u003c/a\u003e Fix formatting for release docs. (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8336\"\u003e#8336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/networkx/networkx/compare/networkx-3.4.2...networkx-3.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.2.3 to 2.3.5\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.5 (Nov 16, 2025)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.3.5 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.3.5 release is a patch release split between a number of maintenance\nupdates and bug fixes. This release supports Python versions 3.11-3.14.\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eA total of 10 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\u003eAaron Kollasch +\u003c/li\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003eRafael Laboissière +\u003c/li\u003e\n\u003cli\u003eSayed Awad\u003c/li\u003e\n\u003cli\u003eSebastian Berg\u003c/li\u003e\n\u003cli\u003eWarren Weckesser\u003c/li\u003e\n\u003cli\u003eYasir Ashfaq +\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 16 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/29979\"\u003e#29979\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/30026\"\u003e#30026\u003c/a\u003e: SIMD, BLD: Backport FPMATH mode on x86-32 and filter successor...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30029\"\u003e#30029\u003c/a\u003e: MAINT: Backport write_release.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30041\"\u003e#30041\u003c/a\u003e: TYP: Various typing updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30059\"\u003e#30059\u003c/a\u003e: BUG: Fix np.strings.slice if stop=None or start and stop \u0026gt;= len...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30063\"\u003e#30063\u003c/a\u003e: BUG: Fix np.strings.slice if start \u0026gt; stop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30076\"\u003e#30076\u003c/a\u003e: BUG: avoid negating INT_MIN in PyArray_Round implementation (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30071\"\u003e#30071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30090\"\u003e#30090\u003c/a\u003e: BUG: Fix resize when it contains references (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29970\"\u003e#29970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30129\"\u003e#30129\u003c/a\u003e: BLD: update scipy-openblas, use -Dpkg_config_path (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30049\"\u003e#30049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30130\"\u003e#30130\u003c/a\u003e: BUG: Avoid compilation error of wrapper file generated with SWIG...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30157\"\u003e#30157\u003c/a\u003e: BLD: use scipy-openblas 0.3.30.7 (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30132\"\u003e#30132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30158\"\u003e#30158\u003c/a\u003e: DOC: Remove nonexistent \u003ccode\u003eorder\u003c/code\u003e parameter docs of \u003ccode\u003ema.asanyarray\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30185\"\u003e#30185\u003c/a\u003e: BUG: Fix check of PyMem_Calloc return value. (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30176\"\u003e#30176\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30217\"\u003e#30217\u003c/a\u003e: DOC: fix links for newly rebuilt numpy-tutorials site\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30218\"\u003e#30218\u003c/a\u003e: BUG: Fix build on s390x with clang (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30214\"\u003e#30214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30237\"\u003e#30237\u003c/a\u003e: ENH: Make FPE blas check a runtime check for all apple arm systems\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.3.4 (Oct 15,  2025)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.3.4 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.3.4 release is a patch release split between a number of maintenance\nupdates and bug fixes. This release supports Python versions 3.11-3.14. This\nrelease is based on Python 3.14.0 final.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/c3d60fc8393f3ca3306b8ce8b6453d43737e3d90\"\u003e\u003ccode\u003ec3d60fc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30238\"\u003e#30238\u003c/a\u003e from charris/prepare-2.3.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/11451fa35d49d8c809cdef87106417833bdacfbe\"\u003e\u003ccode\u003e11451fa\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.3.5 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/eab5bd47df62782edceccf4cf99112851f7a8975\"\u003e\u003ccode\u003eeab5bd4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30237\"\u003e#30237\u003c/a\u003e from charris/backport-30102\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7cea31aa6255994bcd17b3ee2f6dbf671eaa9598\"\u003e\u003ccode\u003e7cea31a\u003c/code\u003e\u003c/a\u003e Fixup merge of multiarraymodule.c\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/b8981736060011506e497c5bca24a75c5bddee39\"\u003e\u003ccode\u003eb898173\u003c/code\u003e\u003c/a\u003e Update numpy/_core/src/common/blas_utils.h\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f755483d4858839044f159db7dacdf1818912393\"\u003e\u003ccode\u003ef755483\u003c/code\u003e\u003c/a\u003e Report FPE ignoring in matmul in \u003ccode\u003eshow_runtime()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/c47116f3858a2814222a7cd7b15ebc5eed9df4d0\"\u003e\u003ccode\u003ec47116f\u003c/code\u003e\u003c/a\u003e Move test to Python\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/bd7b93f105ddb3b3f200ceb6fb4516e7e87f3a81\"\u003e\u003ccode\u003ebd7b93f\u003c/code\u003e\u003c/a\u003e ooops, needs to be a calloc of course.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/83a1517159a2e33d05113e3341afb1df83ba615d\"\u003e\u003ccode\u003e83a1517\u003c/code\u003e\u003c/a\u003e Guard for HAVE_CBLAS and always compile the helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/ab680efe63a4f87078b7317742767581b8959d78\"\u003e\u003ccode\u003eab680ef\u003c/code\u003e\u003c/a\u003e ENH: Make FPE blas check a runtime check for all arm systems\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.2.3...v2.3.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pillow` from 11.3.0 to 12.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-pillow/Pillow/releases\"\u003epillow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e12.0.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://pillow.readthedocs.io/en/stable/releasenotes/12.0.0.html\"\u003ehttps://pillow.readthedocs.io/en/stable/releasenotes/12.0.0.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eRemovals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for FreeType \u0026lt;= 2.9.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9159\"\u003e#9159\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9119\"\u003e#9119\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eRemove deprecations for Pillow 12.0.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9053\"\u003e#9053\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate Image._show \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9186\"\u003e#9186\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eDeprecate ImageCmsProfile product_name and product_info \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/8995\"\u003e#8995\u003c/a\u003e [\u003ca href=\"https://github.com/lukegb\"\u003e\u003ccode\u003e@​lukegb\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImagingHistogramInstance can use two bands \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9251\"\u003e#9251\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate 12.0.0 release notes \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9247\"\u003e#9247\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdded ImageDraw alpha channel examples \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9201\"\u003e#9201\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate Python version \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9230\"\u003e#9230\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdated macOS tested Pillow versions \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9209\"\u003e#9209\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd GitHub profile link to release notes \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9197\"\u003e#9197\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eSplit versionadded info \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9190\"\u003e#9190\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eDocument ImageFile.MAXBLOCK \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9163\"\u003e#9163\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdated macOS version in CI targets \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9157\"\u003e#9157\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eFix typos \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9135\"\u003e#9135\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdded \u0026quot;Colors\u0026quot; to concepts \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9067\"\u003e#9067\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate macOS tested Pillow versions \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9068\"\u003e#9068\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eThanks, folks! \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9056\"\u003e#9056\u003c/a\u003e [\u003ca href=\"https://github.com/aclark4life\"\u003e\u003ccode\u003e@​aclark4life\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eSetup nit: \u0026quot;fork\u0026quot; should be lowercased \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9055\"\u003e#9055\u003c/a\u003e [\u003ca href=\"https://github.com/aclark4life\"\u003e\u003ccode\u003e@​aclark4life\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate dependency cibuildwheel to v3.2.1 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9246\"\u003e#9246\u003c/a\u003e [@\u003ca href=\"https://github.com/apps/renovate\"\u003erenovate[bot]\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9233\"\u003e#9233\u003c/a\u003e [@\u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003epre-commit-ci[bot]\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate harfbuzz to 12.1.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9218\"\u003e#9218\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate libtiff to 4.7.1 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9222\"\u003e#9222\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate FreeType to 2.14.1 on macOS and Linux wheels \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9217\"\u003e#9217\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate dependency cibuildwheel to v3.2.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9219\"\u003e#9219\u003c/a\u003e [@\u003ca href=\"https://github.com/apps/renovate\"\u003erenovate[bot]\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate Ghostscript to 10.6.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9202\"\u003e#9202\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate openjpeg to 2.5.4 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9215\"\u003e#9215\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate harfbuzz to 11.5.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9203\"\u003e#9203\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate dependency mypy to v1.18.2 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9213\"\u003e#9213\u003c/a\u003e [@\u003ca href=\"https://github.com/apps/renovate\"\u003erenovate[bot]\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate dependency mypy to v1.18.1 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9207\"\u003e#9207\u003c/a\u003e [@\u003ca href=\"https://github.com/apps/renovate\"\u003erenovate[bot]\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate github-actions \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9194\"\u003e#9194\u003c/a\u003e [@\u003ca href=\"https://github.com/apps/renovate\"\u003erenovate[bot]\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdated harfbuzz to 11.4.5 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9150\"\u003e#9150\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate zlib-ng to 2.2.5 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9140\"\u003e#9140\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate raqm to 0.10.3 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9137\"\u003e#9137\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate libjpeg-turbo to 3.1.2 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9188\"\u003e#9188\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9180\"\u003e#9180\u003c/a\u003e [@\u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003epre-commit-ci[bot]\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/python-pillow/Pillow/commit/693df7b42c666f88c719f9973be0ad71607328e0\"\u003e\u003ccode\u003e693df7b\u003c/code\u003e\u003c/a\u003e 12.0.0 version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/d175bb88a302e161173e05b1c4103910d7366623\"\u003e\u003ccode\u003ed175bb8\u003c/code\u003e\u003c/a\u003e Use macos-14 for iOS arm64 simulator (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9258\"\u003e#9258\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/592b2f820aa1f75f8ae8bf4f30e1b4bc62023535\"\u003e\u003ccode\u003e592b2f8\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Use macos-latest for iOS arm64 simulator\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/5dddb2ce94a715e54442c1d30c9ffc04914d96fe\"\u003e\u003ccode\u003e5dddb2c\u003c/code\u003e\u003c/a\u003e Use enums for Modes and RawModes in C (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9256\"\u003e#9256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/e7b72a3bbdec4e3f4120e6b5fe4082d78315ff13\"\u003e\u003ccode\u003ee7b72a3\u003c/code\u003e\u003c/a\u003e Add ImageText (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9098\"\u003e#9098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/864d4b6e0937e9d468de26b933f31b1639e0f22a\"\u003e\u003ccode\u003e864d4b6\u003c/code\u003e\u003c/a\u003e Shift bits before making value negative (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9255\"\u003e#9255\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/994a9def5d94bc59b60447bbab445834f7f9f9bf\"\u003e\u003ccode\u003e994a9de\u003c/code\u003e\u003c/a\u003e Install arro3 dependencies when type checking (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9254\"\u003e#9254\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/d5e1601b32ea43b45ce8f820e4b349e9b5e2dd6c\"\u003e\u003ccode\u003ed5e1601\u003c/code\u003e\u003c/a\u003e Improved documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/e533ccccfcef79c031ac1178a9b78db2fb000a6f\"\u003e\u003ccode\u003ee533ccc\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into imagetext\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/95a85dc6693ca221643906214b0e1f4590986c0f\"\u003e\u003ccode\u003e95a85dc\u003c/code\u003e\u003c/a\u003e Use snake case\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-pillow/Pillow/compare/11.3.0...12.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `plotly` from 6.2.0 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/pu...\n\n_Description has been truncated_","html_url":"https://github.com/kbase/narrative/pull/3719","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kbase%2Fnarrative/issues/3719","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3719/packages"},{"uuid":"3681937798","node_id":"PR_kwDON8lodc62ZZRy","number":48,"state":"closed","title":"Bump the poetry-dependencies group across 1 directory with 65 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-01T13:41:17.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-01T16:56:03.000Z","updated_at":"2026-01-01T13:41:19.000Z","time_to_close":2666714,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"poetry-dependencies","update_count":65,"packages":[{"name":"pandas","old_version":"2.2.3","new_version":"2.3.3","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"pandas-stubs","old_version":"2.2.3.241126","new_version":"2.3.2.250926","repository_url":"https://github.com/pandas-dev/pandas-stubs"},{"name":"ssb-klass-python","old_version":"1.0.0","new_version":"1.0.6","repository_url":"https://github.com/statisticsnorway/ssb-klass-python"},{"name":"pygments","old_version":"2.19.1","new_version":"2.19.2","repository_url":"https://github.com/pygments/pygments"},{"name":"black","old_version":"25.1.0","new_version":"25.11.0","repository_url":"https://github.com/psf/black"},{"name":"coverage","old_version":"7.6.12","new_version":"7.12.0","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"furo","old_version":"2024.8.6","new_version":"2025.9.25","repository_url":"https://github.com/pradyunsg/furo"},{"name":"mypy","old_version":"1.15.0","new_version":"1.19.0","repository_url":"https://github.com/python/mypy"},{"name":"pre-commit","old_version":"4.1.0","new_version":"4.5.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"pre-commit-hooks","old_version":"5.0.0","new_version":"6.0.0","repository_url":"https://github.com/pre-commit/pre-commit-hooks"},{"name":"ruff","old_version":"0.9.9","new_version":"0.14.7","repository_url":"https://github.com/astral-sh/ruff"},{"name":"pytest","old_version":"8.3.4","new_version":"9.0.1","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"sphinx-click","old_version":"6.0.0","new_version":"6.1.0","repository_url":"https://github.com/click-contrib/sphinx-click"},{"name":"typeguard","old_version":"4.4.2","new_version":"4.4.4","repository_url":"https://github.com/agronholm/typeguard"},{"name":"xdoctest","old_version":"1.2.0","new_version":"1.3.0","repository_url":"https://github.com/Erotemic/xdoctest"},{"name":"anyio","old_version":"4.8.0","new_version":"4.12.0","repository_url":"https://github.com/agronholm/anyio"},{"name":"asttokens","old_version":"3.0.0","new_version":"3.0.1","repository_url":"https://github.com/gristlabs/asttokens"},{"name":"beautifulsoup4","old_version":"4.13.3","new_version":"4.14.3"},{"name":"certifi","old_version":"2025.1.31","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.1","new_version":"3.4.4","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"click","old_version":"8.1.8","new_version":"8.3.1","repository_url":"https://github.com/pallets/click"},{"name":"comm","old_version":"0.2.2","new_version":"0.2.3","repository_url":"https://github.com/ipython/comm"},{"name":"distlib","old_version":"0.3.9","new_version":"0.4.0","repository_url":"https://github.com/pypa/distlib"},{"name":"exceptiongroup","old_version":"1.2.2","new_version":"1.3.1","repository_url":"https://github.com/agronholm/exceptiongroup"},{"name":"executing","old_version":"2.2.0","new_version":"2.2.1","repository_url":"https://github.com/alexmojaki/executing"},{"name":"filelock","old_version":"3.17.0","new_version":"3.20.0","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"h11","old_version":"0.14.0","new_version":"0.16.0","repository_url":"https://github.com/python-hyper/h11"},{"name":"identify","old_version":"2.6.8","new_version":"2.6.15","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.0.0","new_version":"2.3.0","repository_url":"https://github.com/pytest-dev/iniconfig"},{"name":"ipython","old_version":"8.33.0","new_version":"8.37.0","repository_url":"https://github.com/ipython/ipython"},{"name":"ipywidgets","old_version":"8.1.5","new_version":"8.1.8","repository_url":"https://github.com/jupyter-widgets/ipywidgets"},{"name":"jinja2","old_version":"3.1.5","new_version":"3.1.6","repository_url":"https://github.com/pallets/jinja"},{"name":"markupsafe","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/pallets/markupsafe"},{"name":"matplotlib-inline","old_version":"0.1.7","new_version":"0.2.1","repository_url":"https://github.com/ipython/matplotlib-inline"},{"name":"mdit-py-plugins","old_version":"0.4.2","new_version":"0.5.0","repository_url":"https://github.com/executablebooks/mdit-py-plugins"},{"name":"mypy-extensions","old_version":"1.0.0","new_version":"1.1.0","repository_url":"https://github.com/python/mypy_extensions"},{"name":"numpy","old_version":"2.2.3","new_version":"2.2.6","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":"platformdirs","old_version":"4.3.6","new_version":"4.5.0","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"pluggy","old_version":"1.5.0","new_version":"1.6.0","repository_url":"https://github.com/pytest-dev/pluggy"},{"name":"prompt-toolkit","old_version":"3.0.50","new_version":"3.0.52","repository_url":"https://github.com/prompt-toolkit/python-prompt-toolkit"},{"name":"pytz","old_version":"2025.1","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":"requests","old_version":"2.32.3","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"ruamel-yaml","old_version":"0.18.10","new_version":"0.18.16"},{"name":"ruamel-yaml-clib","old_version":"0.2.12","new_version":"0.2.15"},{"name":"snowballstemmer","old_version":"2.2.0","new_version":"3.0.1","repository_url":"https://github.com/snowballstem/snowball"},{"name":"soupsieve","old_version":"2.6","new_version":"2.8","repository_url":"https://github.com/facelessuser/soupsieve"},{"name":"starlette","old_version":"0.46.0","new_version":"0.50.0","repository_url":"https://github.com/Kludex/starlette"},{"name":"tokenize-rt","old_version":"6.1.0","new_version":"6.2.0","repository_url":"https://github.com/asottile/tokenize-rt"},{"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.1.0.20250204","new_version":"2025.2.0.20251108","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"tzdata","old_version":"2025.1","new_version":"2025.2","repository_url":"https://github.com/python/tzdata"},{"name":"urllib3","old_version":"2.3.0","new_version":"2.5.0","repository_url":"https://github.com/urllib3/urllib3"},{"name":"uvicorn","old_version":"0.34.0","new_version":"0.38.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"virtualenv","old_version":"20.29.2","new_version":"20.35.4","repository_url":"https://github.com/pypa/virtualenv"},{"name":"watchfiles","old_version":"1.0.4","new_version":"1.1.1","repository_url":"https://github.com/samuelcolvin/watchfiles"},{"name":"wcwidth","old_version":"0.2.13","new_version":"0.2.14","repository_url":"https://github.com/jquast/wcwidth"},{"name":"websockets","old_version":"15.0","new_version":"15.0.1","repository_url":"https://github.com/python-websockets/websockets"}],"path":null,"ecosystem":"pip"},"body":"Bumps the poetry-dependencies group with 62 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.2.3` | `2.3.3` |\n| [pandas-stubs](https://github.com/pandas-dev/pandas-stubs) | `2.2.3.241126` | `2.3.2.250926` |\n| [ssb-klass-python](https://github.com/statisticsnorway/ssb-klass-python) | `1.0.0` | `1.0.6` |\n| [pygments](https://github.com/pygments/pygments) | `2.19.1` | `2.19.2` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.11.0` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.6.12` | `7.12.0` |\n| [furo](https://github.com/pradyunsg/furo) | `2024.8.6` | `2025.9.25` |\n| [mypy](https://github.com/python/mypy) | `1.15.0` | `1.19.0` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.1.0` | `4.5.0` |\n| [pre-commit-hooks](https://github.com/pre-commit/pre-commit-hooks) | `5.0.0` | `6.0.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.9.9` | `0.14.7` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.3.4` | `9.0.1` |\n| [sphinx-click](https://github.com/click-contrib/sphinx-click) | `6.0.0` | `6.1.0` |\n| [typeguard](https://github.com/agronholm/typeguard) | `4.4.2` | `4.4.4` |\n| [xdoctest](https://github.com/Erotemic/xdoctest) | `1.2.0` | `1.3.0` |\n| [anyio](https://github.com/agronholm/anyio) | `4.8.0` | `4.12.0` |\n| [asttokens](https://github.com/gristlabs/asttokens) | `3.0.0` | `3.0.1` |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.13.3` | `4.14.3` |\n| [certifi](https://github.com/certifi/python-certifi) | `2025.1.31` | `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.1` | `3.4.4` |\n| [click](https://github.com/pallets/click) | `8.1.8` | `8.3.1` |\n| [comm](https://github.com/ipython/comm) | `0.2.2` | `0.2.3` |\n| [distlib](https://github.com/pypa/distlib) | `0.3.9` | `0.4.0` |\n| [exceptiongroup](https://github.com/agronholm/exceptiongroup) | `1.2.2` | `1.3.1` |\n| [executing](https://github.com/alexmojaki/executing) | `2.2.0` | `2.2.1` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.17.0` | `3.20.0` |\n| [h11](https://github.com/python-hyper/h11) | `0.14.0` | `0.16.0` |\n| [identify](https://github.com/pre-commit/identify) | `2.6.8` | `2.6.15` |\n| [idna](https://github.com/kjd/idna) | `3.10` | `3.11` |\n| [iniconfig](https://github.com/pytest-dev/iniconfig) | `2.0.0` | `2.3.0` |\n| [ipython](https://github.com/ipython/ipython) | `8.33.0` | `8.37.0` |\n| [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) | `8.1.5` | `8.1.8` |\n| [jinja2](https://github.com/pallets/jinja) | `3.1.5` | `3.1.6` |\n| [markupsafe](https://github.com/pallets/markupsafe) | `3.0.2` | `3.0.3` |\n| [matplotlib-inline](https://github.com/ipython/matplotlib-inline) | `0.1.7` | `0.2.1` |\n| [mdit-py-plugins](https://github.com/executablebooks/mdit-py-plugins) | `0.4.2` | `0.5.0` |\n| [mypy-extensions](https://github.com/python/mypy_extensions) | `1.0.0` | `1.1.0` |\n| [numpy](https://github.com/numpy/numpy) | `2.2.3` | `2.2.6` |\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| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.3.6` | `4.5.0` |\n| [pluggy](https://github.com/pytest-dev/pluggy) | `1.5.0` | `1.6.0` |\n| [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) | `3.0.50` | `3.0.52` |\n| [pytz](https://github.com/stub42/pytz) | `2025.1` | `2025.2` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.32.5` |\n| ruamel-yaml | `0.18.10` | `0.18.16` |\n| ruamel-yaml-clib | `0.2.12` | `0.2.15` |\n| [snowballstemmer](https://github.com/snowballstem/snowball) | `2.2.0` | `3.0.1` |\n| [soupsieve](https://github.com/facelessuser/soupsieve) | `2.6` | `2.8` |\n| [starlette](https://github.com/Kludex/starlette) | `0.46.0` | `0.50.0` |\n| [tokenize-rt](https://github.com/asottile/tokenize-rt) | `6.1.0` | `6.2.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.1.0.20250204` | `2025.2.0.20251108` |\n| [tzdata](https://github.com/python/tzdata) | `2025.1` | `2025.2` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.3.0` | `2.5.0` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.34.0` | `0.38.0` |\n| [virtualenv](https://github.com/pypa/virtualenv) | `20.29.2` | `20.35.4` |\n| [watchfiles](https://github.com/samuelcolvin/watchfiles) | `1.0.4` | `1.1.1` |\n| [wcwidth](https://github.com/jquast/wcwidth) | `0.2.13` | `0.2.14` |\n| [websockets](https://github.com/python-websockets/websockets) | `15.0` | `15.0.1` |\n\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 `pandas-stubs` from 2.2.3.241126 to 2.3.2.250926\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/fc5ab16adfb2b11060f0aa9ee2113ade4b15da19\"\u003e\u003ccode\u003efc5ab16\u003c/code\u003e\u003c/a\u003e Version 2.3.2.250926\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/7ac98f279dacad533bbfba01ca523c44964b66ee\"\u003e\u003ccode\u003e7ac98f2\u003c/code\u003e\u003c/a\u003e refactor(series)!: ⏱️ drop TimedeltaSeries (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas-stubs/issues/1273\"\u003e#1273\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/2f633544659a83d94cb7f527de21a5667d8a62c6\"\u003e\u003ccode\u003e2f63354\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/pandas-dev/pandas-stubs/issues/849\"\u003e#849\u003c/a\u003e: Update converters type in read_excel for better Pyright compatibili...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/8e5c7543262397bbc581bf639cdef58c003e1cff\"\u003e\u003ccode\u003e8e5c754\u003c/code\u003e\u003c/a\u003e fix(series): \u003ca href=\"https://redirect.github.com/pandas-dev/pandas-stubs/issues/1372\"\u003e#1372\u003c/a\u003e 🧱✖️ cumprod (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas-stubs/issues/1374\"\u003e#1374\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/c98adb3d47cd590902365e5bdcf94e5a983c5dde\"\u003e\u003ccode\u003ec98adb3\u003c/code\u003e\u003c/a\u003e GH1358 Relax index type from DataFrame.from_records (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas-stubs/issues/1375\"\u003e#1375\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/d413f0e1a05aac41973cb746e7d7bcabcfc5f143\"\u003e\u003ccode\u003ed413f0e\u003c/code\u003e\u003c/a\u003e FIX: DatetimeIndex.array should return DatetimeArray instead of ExtensionArra...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/57682145f30d654cd9379d36efd4e3e85033e9d4\"\u003e\u003ccode\u003e5768214\u003c/code\u003e\u003c/a\u003e refactor(series)!: 🕰️ drop TimestampSeries (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas-stubs/issues/1274\"\u003e#1274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/c38b6a3cbf029361d88bafa89e87e4263f0b0982\"\u003e\u003ccode\u003ec38b6a3\u003c/code\u003e\u003c/a\u003e fix(pyright): \u003ca href=\"https://redirect.github.com/microsoft/pyright/issues/10924\"\u003emicrosoft/pyright#10924\u003c/a\u003e ignore (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas-stubs/issues/1370\"\u003e#1370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/5099a1a5ea6c9609ec310794b7ef06aed279f03a\"\u003e\u003ccode\u003e5099a1a\u003c/code\u003e\u003c/a\u003e Type \u003ccode\u003eNAType\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas-stubs/issues/1348\"\u003e#1348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/2106e8b4c68e734a4ca56ffc437bd18f16f868f1\"\u003e\u003ccode\u003e2106e8b\u003c/code\u003e\u003c/a\u003e Minor test cleanup to adopt check assert_type framework (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas-stubs/issues/1369\"\u003e#1369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandas-dev/pandas-stubs/compare/v2.2.3.241126...v2.3.2.250926\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ssb-klass-python` from 1.0.0 to 1.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/statisticsnorway/ssb-klass-python/releases\"\u003essb-klass-python's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.0.6\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e:package: Dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix upperbound python (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-klass-python/issues/173\"\u003e#173\u003c/a\u003e) \u003ca href=\"https://github.com/aecorn\"\u003e\u003ccode\u003e@​aecorn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.0.5\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e:beetle: Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDowngrade to include python 3.10 AGAIN - because prodsone is still running 3.10... (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-klass-python/issues/172\"\u003e#172\u003c/a\u003e) \u003ca href=\"https://github.com/aecorn\"\u003e\u003ccode\u003e@​aecorn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:package: Dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDowngrade to include python 3.10 AGAIN - because prodsone is still running 3.10... (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-klass-python/issues/172\"\u003e#172\u003c/a\u003e) \u003ca href=\"https://github.com/aecorn\"\u003e\u003ccode\u003e@​aecorn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.0.4\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e:beetle: Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCarl fixing issues (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-klass-python/issues/171\"\u003e#171\u003c/a\u003e) \u003ca href=\"https://github.com/aecorn\"\u003e\u003ccode\u003e@​aecorn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.0.3\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e:rocket: Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdding a search option on \u0026quot;get_variant()\u0026quot; under KlassVersion - more documentation on get_changes - security updates etc. (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-klass-python/issues/169\"\u003e#169\u003c/a\u003e) \u003ca href=\"https://github.com/aecorn\"\u003e\u003ccode\u003e@​aecorn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:books: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdding a search option on \u0026quot;get_variant()\u0026quot; under KlassVersion - more documentation on get_changes - security updates etc. (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-klass-python/issues/169\"\u003e#169\u003c/a\u003e) \u003ca href=\"https://github.com/aecorn\"\u003e\u003ccode\u003e@​aecorn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:package: Dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdding a search option on \u0026quot;get_variant()\u0026quot; under KlassVersion - more documentation on get_changes - security updates etc. (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-klass-python/issues/169\"\u003e#169\u003c/a\u003e) \u003ca href=\"https://github.com/aecorn\"\u003e\u003ccode\u003e@​aecorn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump starlette from 0.46.2 to 0.49.1 (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-klass-python/issues/164\"\u003e#164\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 in /.github/workflows (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-klass-python/issues/161\"\u003e#161\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump urllib3 from 2.4.0 to 2.5.0 (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-klass-python/issues/153\"\u003e#153\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-action-dependencies group across 1 directory with 5 updates (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-klass-python/issues/162\"\u003e#162\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the workflows-dependencies group across 1 directory with 4 updates (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-klass-python/issues/165\"\u003e#165\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump requests from 2.32.3 to 2.32.4 (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-klass-python/issues/152\"\u003e#152\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.0.2\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAkseptere int som classification_id i typehint (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-klass-python/issues/144\"\u003e#144\u003c/a\u003e) \u003ca href=\"https://github.com/Bjoern-Rapp\"\u003e\u003ccode\u003e@​Bjoern-Rapp\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/statisticsnorway/ssb-klass-python/commit/651e8a2d1f0fc827864b8625a7e9292c2243765a\"\u003e\u003ccode\u003e651e8a2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-klass-python/issues/173\"\u003e#173\u003c/a\u003e from statisticsnorway/fix_upperbound_python\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-klass-python/commit/b5a364624ec76588b790a835c189941cea1a7fe6\"\u003e\u003ccode\u003eb5a3646\u003c/code\u003e\u003c/a\u003e bump version path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-klass-python/commit/84dd0a3b136a08e0222bd7b92491eb1b783c917f\"\u003e\u003ccode\u003e84dd0a3\u003c/code\u003e\u003c/a\u003e following \u003ca href=\"https://github.com/DanielElisenberg\"\u003e\u003ccode\u003e@​DanielElisenberg\u003c/code\u003e\u003c/a\u003e 's recommendations to not have a upper limit on P...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-klass-python/commit/bcba46a5f9bd97597282ffbee163fe1fdc0cb6d4\"\u003e\u003ccode\u003ebcba46a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-klass-python/issues/172\"\u003e#172\u003c/a\u003e from statisticsnorway/downgrade-to-py310-AGAIN\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-klass-python/commit/3a813929d81b4077037c0c4c27d9773a21821f91\"\u003e\u003ccode\u003e3a81392\u003c/code\u003e\u003c/a\u003e ADR00032's demand for no upper python-version bound is impossible in practice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-klass-python/commit/edf996b6af8915b34e9aa42fc0637a91207e2702\"\u003e\u003ccode\u003eedf996b\u003c/code\u003e\u003c/a\u003e following ADR00032 by not limiting python higher bound\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-klass-python/commit/8df2fb248be1634b1e02a6b11dfb2e21a47037e8\"\u003e\u003ccode\u003e8df2fb2\u003c/code\u003e\u003c/a\u003e coverage also use 3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-klass-python/commit/871eb99d1e31c2bbc106b75b816816ce533ae8ed\"\u003e\u003ccode\u003e871eb99\u003c/code\u003e\u003c/a\u003e bump package version to puclish to pypi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-klass-python/commit/3e791a2801000c000cd69f2755c407320079ca3f\"\u003e\u003ccode\u003e3e791a2\u003c/code\u003e\u003c/a\u003e u want line shifts huh\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-klass-python/commit/b3ca419c05bbb94561009761caeac5bacc2380e0\"\u003e\u003ccode\u003eb3ca419\u003c/code\u003e\u003c/a\u003e mainly prefer 3.11 for other CI activites\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/statisticsnorway/ssb-klass-python/compare/v1.0.0...v1.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pygments` from 2.19.1 to 2.19.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pygments/pygments/releases\"\u003epygments's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.19.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLua: Fix regression introduced in 2.19.0 (\u003ca href=\"https://redirect.github.com/pygments/pygments/issues/2882\"\u003e#2882\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pygments/pygments/issues/2839\"\u003e#2839\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/pygments/pygments/blob/master/CHANGES\"\u003epygments's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.19.2\u003c/h2\u003e\n\u003cp\u003e(released June 21st, 2025)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eLua: Fix regression introduced in 2.19.0 (\u003ca href=\"https://redirect.github.com/pygments/pygments/issues/2882\"\u003e#2882\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pygments/pygments/issues/2839\"\u003e#2839\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/pygments/pygments/commit/cfca62e6e95136e48a255e8cbffb0bbe1d98456c\"\u003e\u003ccode\u003ecfca62e\u003c/code\u003e\u003c/a\u003e Prepare v2.19.2 release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pygments/pygments/commit/6688300df2ea289a6137c7ee9c78d0bb95683b5c\"\u003e\u003ccode\u003e6688300\u003c/code\u003e\u003c/a\u003e Disable pyodide (currently broken.)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pygments/pygments/commit/66997c3e302226a95c22cdaebf827444327920fa\"\u003e\u003ccode\u003e66997c3\u003c/code\u003e\u003c/a\u003e Update ruff version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pygments/pygments/commit/94dda77d69a6d6c47c33f06ce2425e7f306154a2\"\u003e\u003ccode\u003e94dda77\u003c/code\u003e\u003c/a\u003e Update CHANGES.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pygments/pygments/commit/26634c856cefea620571123577d1f8cf09589ed8\"\u003e\u003ccode\u003e26634c8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pygments/pygments/issues/2882\"\u003e#2882\u003c/a\u003e from thavelick/fix_lua_runaway_regex\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pygments/pygments/commit/b6a51ece09e31d3db2b732c8536a533b6de74768\"\u003e\u003ccode\u003eb6a51ec\u003c/code\u003e\u003c/a\u003e fix lua regex causing runaway backtracking.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pygments/pygments/commit/edef94d66c2d70f05a86ac6098a69ab253b8d946\"\u003e\u003ccode\u003eedef94d\u003c/code\u003e\u003c/a\u003e Investigation for \u003ca href=\"https://redirect.github.com/pygments/pygments/issues/2839\"\u003e#2839\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pygments/pygments/commit/fb6a00ef872e45a23212c214b8494ebedbd4709b\"\u003e\u003ccode\u003efb6a00e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pygments/pygments/issues/2837\"\u003e#2837\u003c/a\u003e from dlazin/sql-cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pygments/pygments/commit/bf7aa2368fe7e0f42d4543781f0b00b4565b3995\"\u003e\u003ccode\u003ebf7aa23\u003c/code\u003e\u003c/a\u003e Clean up sql.py\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pygments/pygments/compare/2.19.1...2.19.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `black` from 25.1.0 to 25.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!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.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.1.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.6.12 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.6.12...7.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `furo` from 2024.8.6 to 2025.9.25\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\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\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\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/7c5f8fac52926f4854141cb5bf374c1681aedbec\"\u003e\u003ccode\u003e7c5f8fa\u003c/code\u003e\u003c/a\u003e Prepare release: 2025.09.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/8bfdc54b2e8803450a2cb5dcab643a40b6934be2\"\u003e\u003ccode\u003e8bfdc54\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/d92b62fee4cedd5b2ac1d267353d96541c9e0fb0\"\u003e\u003ccode\u003ed92b62f\u003c/code\u003e\u003c/a\u003e Switch the dark mode theme back to \u003ccode\u003enative\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/83c3446288014357bb8a7875bb81b664b7f15896\"\u003e\u003ccode\u003e83c3446\u003c/code\u003e\u003c/a\u003e Add Blender to \u0026quot;used by\u0026quot; section (\u003ca href=\"https://redirect.github.com/pradyunsg/furo/issues/898\"\u003e#898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/426ea05d879ee7dfdf74ba7c8b089f73081abbfd\"\u003e\u003ccode\u003e426ea05\u003c/code\u003e\u003c/a\u003e Remove old scrollbar selectors (\u003ca href=\"https://redirect.github.com/pradyunsg/furo/issues/892\"\u003e#892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/d22d31c4b196a29092ac606737b6e9a7ae99273a\"\u003e\u003ccode\u003ed22d31c\u003c/code\u003e\u003c/a\u003e Remove trailing slash on void elements (\u003ca href=\"https://redirect.github.com/pradyunsg/furo/issues/895\"\u003e#895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/f91944a688410f0aecd936b02f658279814ec017\"\u003e\u003ccode\u003ef91944a\u003c/code\u003e\u003c/a\u003e Fix invalid HTML5 (\u003ca href=\"https://redirect.github.com/pradyunsg/furo/issues/894\"\u003e#894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/a1f74d89a18ca59d231fe365bcc1616f6934ad28\"\u003e\u003ccode\u003ea1f74d8\u003c/code\u003e\u003c/a\u003e Back to development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/e2cbfce534e434c9743fae85839790ffb8fea2a2\"\u003e\u003ccode\u003ee2cbfce\u003c/code\u003e\u003c/a\u003e Prepare release: 2025.07.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/2753741615d13f00f2f5a361d9794727558d82ee\"\u003e\u003ccode\u003e2753741\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pradyunsg/furo/compare/2024.08.06...2025.09.25\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.15.0 to 1.19.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/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.15.0...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.1.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\u003ch2\u003epre-commit v4.3.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003elanguage: docker\u003c/code\u003e / \u003ccode\u003elanguage: docker_image\u003c/code\u003e: detect rootless docker.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3446\"\u003e#3446\u003c/a\u003e PR by \u003ca href=\"https://github.com/matthewhughes934\"\u003e\u003ccode\u003e@​matthewhughes934\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/1243\"\u003e#1243\u003c/a\u003e issue by \u003ca href=\"https://github.com/dkolepp\"\u003e\u003ccode\u003e@​dkolepp\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage: julia\u003c/code\u003e: avoid \u003ccode\u003estartup.jl\u003c/code\u003e when executing hooks.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3496\"\u003e#3496\u003c/a\u003e PR by \u003ca href=\"https://github.com/ericphanson\"\u003e\u003ccode\u003e@​ericphanson\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage: dart\u003c/code\u003e: support latest dart versions which require a higher sdk\nlower bound.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3507\"\u003e#3507\u003c/a\u003e PR by \u003ca href=\"https://github.com/bc-lee\"\u003e\u003ccode\u003e@​bc-lee\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.2.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFor \u003ccode\u003elanguage: python\u003c/code\u003e first attempt a versioned python executable for the default language version before consulting a potentially unversioned \u003ccode\u003esys.executable\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3430\"\u003e#3430\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\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle error during conflict detection when a file is named \u0026quot;HEAD\u0026quot;\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3425\"\u003e#3425\u003c/a\u003e PR by \u003ca href=\"https://github.com/tusharsadhwani\"\u003e\u003ccode\u003e@​tusharsadhwani\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\u003ch1\u003e4.3.0 - 2025-08-09\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003elanguage: docker\u003c/code\u003e / \u003ccode\u003elanguage: docker_image\u003c/code\u003e: detect rootless docker.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3446\"\u003e#3446\u003c/a\u003e PR by \u003ca href=\"https://github.com/matthewhughes934\"\u003e\u003ccode\u003e@​matthewhughes934\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/1243\"\u003e#1243\u003c/a\u003e issue by \u003ca href=\"https://github.com/dkolepp\"\u003e\u003ccode\u003e@​dkolepp\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage: julia\u003c/code\u003e: avoid \u003ccode\u003estartup.jl\u003c/code\u003e when executing hooks.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3496\"\u003e#3496\u003c/a\u003e PR by \u003ca href=\"https://github.com/ericphanson\"\u003e\u003ccode\u003e@​ericphanson\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage: dart\u003c/code\u003e: support latest dart versions which require a higher sdk\nlower bound.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3507\"\u003e#3507\u003c/a\u003e PR by \u003ca href=\"https://github.com/bc-lee\"\u003e\u003ccode\u003e@​bc-lee\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e4.2.0 - 2025-03-18\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFor \u003ccode\u003elanguage: python\u003c/code\u003e first attempt a versioned python executable for\nthe default language version before consulting a potentially unversioned\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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.1.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 `pre-commit-hooks` from 5.0.0 to 6.0.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-hooks/releases\"\u003epre-commit-hooks's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epre-commit-hooks v6.0.0\u003c/h2\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003echeck-shebang-scripts-are-executable\u003c/code\u003e: improve error message.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/1115\"\u003e#1115\u003c/a\u003e PR by \u003ca href=\"https://github.com/homebysix\"\u003e\u003ccode\u003e@​homebysix\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMigrating\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003enow requires python \u0026gt;= 3.9.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/1098\"\u003e#1098\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\u003e\u003ccode\u003efile-contents-sorter\u003c/code\u003e: disallow \u003ccode\u003e--unique\u003c/code\u003e and \u003ccode\u003e--ignore-case\u003c/code\u003e at the same\ntime.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/1095\"\u003e#1095\u003c/a\u003e PR by \u003ca href=\"https://github.com/nemacysts\"\u003e\u003ccode\u003e@​nemacysts\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/794\"\u003e#794\u003c/a\u003e issue by \u003ca href=\"https://github.com/teksturi\"\u003e\u003ccode\u003e@​teksturi\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003echeck-byte-order-marker\u003c/code\u003e and \u003ccode\u003efix-encoding-pragma\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003echeck-byte-order-marker\u003c/code\u003e: migrate to \u003ccode\u003efix-byte-order-marker\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efix-encoding-pragma\u003c/code\u003e: migrate to \u003ccode\u003epyupgrade\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/1034\"\u003e#1034\u003c/a\u003e PR by \u003ca href=\"https://github.com/mxr\"\u003e\u003ccode\u003e@​mxr\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/1032\"\u003e#1032\u003c/a\u003e issue by \u003ca href=\"https://github.com/mxr\"\u003e\u003ccode\u003e@​mxr\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/522\"\u003e#522\u003c/a\u003e PR by \u003ca href=\"https://github.com/jgowdy\"\u003e\u003ccode\u003e@​jgowdy\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-hooks/blob/main/CHANGELOG.md\"\u003epre-commit-hooks's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e6.0.0 - 2025-08-09\u003c/h1\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003echeck-shebang-scripts-are-executable\u003c/code\u003e: improve error message.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/1115\"\u003e#1115\u003c/a\u003e PR by \u003ca href=\"https://github.com/homebysix\"\u003e\u003ccode\u003e@​homebysix\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMigrating\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003enow requires python \u0026gt;= 3.9.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/1098\"\u003e#1098\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\u003e\u003ccode\u003efile-contents-sorter\u003c/code\u003e: disallow \u003ccode\u003e--unique\u003c/code\u003e and \u003ccode\u003e--ignore-case\u003c/code\u003e at the same\ntime.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/1095\"\u003e#1095\u003c/a\u003e PR by \u003ca href=\"https://github.com/nemacysts\"\u003e\u003ccode\u003e@​nemacysts\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/794\"\u003e#794\u003c/a\u003e issue by \u003ca href=\"https://github.com/teksturi\"\u003e\u003ccode\u003e@​teksturi\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003echeck-byte-order-marker\u003c/code\u003e and \u003ccode\u003efix-encoding-pragma\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003echeck-byte-order-marker\u003c/code\u003e: migrate to \u003ccode\u003efix-byte-order-marker\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efix-encoding-pragma\u003c/code\u003e: migrate to \u003ccode\u003epyupgrade\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/1034\"\u003e#1034\u003c/a\u003e PR by \u003ca href=\"https://github.com/mxr\"\u003e\u003ccode\u003e@​mxr\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/1032\"\u003e#1032\u003c/a\u003e issue by \u003ca href=\"https://github.com/mxr\"\u003e\u003ccode\u003e@​mxr\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/522\"\u003e#522\u003c/a\u003e PR by \u003ca href=\"https://github.com/jgowdy\"\u003e\u003ccode\u003e@​jgowdy\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-hooks/commit/3e8a8703264a2f4a69428a0aa4dcb512790b2c8c\"\u003e\u003ccode\u003e3e8a870\u003c/code\u003e\u003c/a\u003e v6.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit-hooks/commit/a8f86514f4a0c0feb925ef5f99d247f599235a73\"\u003e\u003ccode\u003ea8f8651\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/1185\"\u003e#1185\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-hooks/commit/1acd88e5a4a42378eee7c7d167650c2b5607a0fb\"\u003e\u003ccode\u003e1acd88e\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-hooks/commit/1450343284c2b606aac3b406e238986ae4f5fe9d\"\u003e\u003ccode\u003e1450343\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/1182\"\u003e#1182\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-hooks/commit/b554d0acae118aecad833aaa3639a622d0f3597a\"\u003e\u003ccode\u003eb554d0a\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-hooks/commit/582b9c66e0791980685c8b80bb11e6a3df1a06ef\"\u003e\u003ccode\u003e582b9c6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/1174\"\u003e#1174\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-hooks/commit/84f8a9d27f13fe534ad65acc88776cda81ee7fed\"\u003e\u003ccode\u003e84f8a9d\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-hooks/commit/ec458dc1db98861800bd35c16a7d97e8cdb61484\"\u003e\u003ccode\u003eec458dc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/1166\"\u003e#1166\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-hooks/commit/1ea82dfbb949818c4272dec7f386923af7f3990e\"\u003e\u003ccode\u003e1ea82df\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-hooks/commit/540cd64f14fd8aa64244a9ec1873a03913d168f8\"\u003e\u003ccode\u003e540cd64\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/1164\"\u003e#1164\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-hooks/compare/v5.0.0...v6.0.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.9.9 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 comman...\n\n_Description has been truncated_","html_url":"https://github.com/statisticsnorway/ssb-kostra-python/pull/48","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/statisticsnorway%2Fssb-kostra-python/issues/48","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/48/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":"3678496995","node_id":"PR_kwDOHIBnos62NpwY","number":464,"state":"open","title":"build(deps): bump the simple group across 1 directory with 40 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-11-30T22:10:49.000Z","updated_at":"2026-01-26T00:00:39.393Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"simple","update_count":40,"packages":[{"name":"boto3-stubs","old_version":"1.38.3","new_version":"1.41.5"},{"name":"boto3","old_version":"1.38.3","new_version":"1.41.5","repository_url":"https://github.com/boto/boto3"},{"name":"click","old_version":"8.1.3","new_version":"8.3.1","repository_url":"https://github.com/pallets/click"},{"name":"colored","old_version":"2.3.0","new_version":"2.3.1"},{"name":"humanize","old_version":"4.12.2","new_version":"4.14.0","repository_url":"https://github.com/python-humanize/humanize"},{"name":"ipympl","old_version":"0.9.7","new_version":"0.9.8","repository_url":"https://github.com/matplotlib/ipympl"},{"name":"ipywidgets","old_version":"8.1.6","new_version":"8.1.8","repository_url":"https://github.com/jupyter-widgets/ipywidgets"},{"name":"jupyterlab","old_version":"4.4.1","new_version":"4.5.0","repository_url":"https://github.com/jupyterlab/jupyterlab"},{"name":"matplotlib","old_version":"3.10.1","new_version":"3.10.7","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"matplotlib-stubs","old_version":"0.2.0","new_version":"0.3.11","repository_url":"https://github.com/hoel-bagard/matplotlib-stubs"},{"name":"networkx","old_version":"3.4.2","new_version":"3.6","repository_url":"https://github.com/networkx/networkx"},{"name":"pandas","old_version":"2.2.3","new_version":"2.3.3","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"pandas-stubs","old_version":"2.2.3.250308","new_version":"2.3.2.250926","repository_url":"https://github.com/pandas-dev/pandas-stubs"},{"name":"prettytable","old_version":"3.16.0","new_version":"3.17.0","repository_url":"https://github.com/prettytable/prettytable"},{"name":"psutil","old_version":"7.0.0","new_version":"7.1.3","repository_url":"https://github.com/giampaolo/psutil"},{"name":"psycopg","old_version":"3.2.6","new_version":"3.2.13","repository_url":"https://github.com/psycopg/psycopg"},{"name":"psycopg-binary","old_version":"3.2.6","new_version":"3.2.13","repository_url":"https://github.com/psycopg/psycopg"},{"name":"pydantic","old_version":"2.8.2","new_version":"2.12.5","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pymysql","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/PyMySQL/PyMySQL"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"requests","old_version":"2.32.3","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"ruamel-yaml","old_version":"0.18.10","new_version":"0.18.16"},{"name":"ruff","old_version":"0.0.292","new_version":"0.14.7","repository_url":"https://github.com/astral-sh/ruff"},{"name":"scipy","old_version":"1.15.2","new_version":"1.16.3","repository_url":"https://github.com/scipy/scipy"},{"name":"shtab","old_version":"1.7.2","new_version":"1.8.0","repository_url":"https://github.com/iterative/shtab"},{"name":"sqlparse","old_version":"0.5.3","new_version":"0.5.4","repository_url":"https://github.com/andialbrecht/sqlparse"},{"name":"twine","old_version":"6.1.0","new_version":"6.2.0","repository_url":"https://github.com/pypa/twine"},{"name":"types-markdown","old_version":"3.8.0.20250415","new_version":"3.10.0.20251106","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-psutil","old_version":"7.0.0.20250401","new_version":"7.1.3.20251130","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-requests","old_version":"2.32.0.20250328","new_version":"2.32.4.20250913","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"typing-extensions","old_version":"4.13.2","new_version":"4.15.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"xxhash","old_version":"3.5.0","new_version":"3.6.0","repository_url":"https://github.com/ifduyue/python-xxhash"},{"name":"yamllint","old_version":"1.37.0","new_version":"1.37.1","repository_url":"https://github.com/adrienverge/yamllint"},{"name":"confluent-kafka","old_version":"2.6.1","new_version":"2.12.2","repository_url":"https://github.com/confluentinc/confluent-kafka-python"},{"name":"fastavro","old_version":"1.10.0","new_version":"1.12.1","repository_url":"https://github.com/fastavro/fastavro"},{"name":"websocket-client","old_version":"1.8.0","new_version":"1.9.0","repository_url":"https://github.com/websocket-client/websocket-client"},{"name":"minio","old_version":"7.2.15","new_version":"7.2.20","repository_url":"https://github.com/minio/minio-py"},{"name":"zstandard","old_version":"0.23.0","new_version":"0.25.0","repository_url":"https://github.com/indygreg/python-zstandard"},{"name":"pip","old_version":"25.1","new_version":"25.3","repository_url":"https://github.com/pypa/pip"},{"name":"setuptools","old_version":"80.0.0","new_version":"80.9.0","repository_url":"https://github.com/pypa/setuptools"}],"path":null,"ecosystem":"pip"},"body":"Bumps the simple group with 40 updates in the /ci/builder directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [boto3-stubs[ec2,iam,kinesis,s3,sqs,ssm,sts]](https://github.com/youtype/mypy_boto3_builder) | `1.38.3` | `1.41.5` |\n| [boto3](https://github.com/boto/boto3) | `1.38.3` | `1.41.5` |\n| [click](https://github.com/pallets/click) | `8.1.3` | `8.3.1` |\n| [colored](https://gitlab.com/dslackw/colored) | `2.3.0` | `2.3.1` |\n| [humanize](https://github.com/python-humanize/humanize) | `4.12.2` | `4.14.0` |\n| [ipympl](https://github.com/matplotlib/ipympl) | `0.9.7` | `0.9.8` |\n| [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) | `8.1.6` | `8.1.8` |\n| [jupyterlab](https://github.com/jupyterlab/jupyterlab) | `4.4.1` | `4.5.0` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.10.1` | `3.10.7` |\n| [matplotlib-stubs](https://github.com/hoel-bagard/matplotlib-stubs) | `0.2.0` | `0.3.11` |\n| [networkx](https://github.com/networkx/networkx) | `3.4.2` | `3.6` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.2.3` | `2.3.3` |\n| [pandas-stubs](https://github.com/pandas-dev/pandas-stubs) | `2.2.3.250308` | `2.3.2.250926` |\n| [prettytable](https://github.com/prettytable/prettytable) | `3.16.0` | `3.17.0` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.1.3` |\n| [psycopg](https://github.com/psycopg/psycopg) | `3.2.6` | `3.2.13` |\n| [psycopg-binary](https://github.com/psycopg/psycopg) | `3.2.6` | `3.2.13` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.8.2` | `2.12.5` |\n| [pymysql](https://github.com/PyMySQL/PyMySQL) | `1.1.1` | `1.1.2` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.32.5` |\n| ruamel-yaml | `0.18.10` | `0.18.16` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.0.292` | `0.14.7` |\n| [scipy](https://github.com/scipy/scipy) | `1.15.2` | `1.16.3` |\n| [shtab](https://github.com/iterative/shtab) | `1.7.2` | `1.8.0` |\n| [sqlparse](https://github.com/andialbrecht/sqlparse) | `0.5.3` | `0.5.4` |\n| [twine](https://github.com/pypa/twine) | `6.1.0` | `6.2.0` |\n| [types-markdown](https://github.com/typeshed-internal/stub_uploader) | `3.8.0.20250415` | `3.10.0.20251106` |\n| [types-psutil](https://github.com/typeshed-internal/stub_uploader) | `7.0.0.20250401` | `7.1.3.20251130` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.0.20250328` | `2.32.4.20250913` |\n| [typing-extensions](https://github.com/python/typing_extensions) | `4.13.2` | `4.15.0` |\n| [xxhash](https://github.com/ifduyue/python-xxhash) | `3.5.0` | `3.6.0` |\n| [yamllint](https://github.com/adrienverge/yamllint) | `1.37.0` | `1.37.1` |\n| [confluent-kafka](https://github.com/confluentinc/confluent-kafka-python) | `2.6.1` | `2.12.2` |\n| [fastavro](https://github.com/fastavro/fastavro) | `1.10.0` | `1.12.1` |\n| [websocket-client](https://github.com/websocket-client/websocket-client) | `1.8.0` | `1.9.0` |\n| [minio](https://github.com/minio/minio-py) | `7.2.15` | `7.2.20` |\n| [zstandard](https://github.com/indygreg/python-zstandard) | `0.23.0` | `0.25.0` |\n| [pip](https://github.com/pypa/pip) | `25.1` | `25.3` |\n| [setuptools](https://github.com/pypa/setuptools) | `80.0.0` | `80.9.0` |\n\n\nUpdates `boto3-stubs[ec2,iam,kinesis,s3,sqs,ssm,sts]` from 1.38.3 to 1.41.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/youtype/mypy_boto3_builder/releases\"\u003eboto3-stubs[ec2,iam,kinesis,s3,sqs,ssm,sts]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.8.0 - Python 3.8 runtime is back\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[services]\u003c/code\u003e \u003ccode\u003einstall_requires\u003c/code\u003e section is calculated based on dependencies in use, so \u003ccode\u003etyping-extensions\u003c/code\u003e version is set properly\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[all]\u003c/code\u003e Replaced \u003ccode\u003etyping\u003c/code\u003e imports with \u003ccode\u003ecollections.abc\u003c/code\u003e with a fallback to \u003ccode\u003etyping\u003c/code\u003e for Python \u0026lt;3.9\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[all]\u003c/code\u003e Added aliases for \u003ccode\u003ebuiltins.list\u003c/code\u003e, \u003ccode\u003ebuiltins.set\u003c/code\u003e, \u003ccode\u003ebuiltins.dict\u003c/code\u003e, and \u003ccode\u003ebuiltins.type\u003c/code\u003e, so Python 3.8 runtime should work as expected again (reported by \u003ca href=\"https://github.com/YHallouard\"\u003e\u003ccode\u003e@​YHallouard\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/youtype/mypy_boto3_builder/issues/340\"\u003e#340\u003c/a\u003e and \u003ca href=\"https://github.com/Omri-Ben-Yair\"\u003e\u003ccode\u003e@​Omri-Ben-Yair\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/youtype/mypy_boto3_builder/issues/336\"\u003e#336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[all]\u003c/code\u003e Unions use the same type annotations as the rest of the structures due to proper fallbacks\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[services]\u003c/code\u003e Universal input/output shapes were not replaced properly in service subresources\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[docs]\u003c/code\u003e Simplified doc links rendering for services\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[services]\u003c/code\u003e Cleaned up unnecessary imports in \u003ccode\u003eclient.pyi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[builder]\u003c/code\u003e Import records with fallback are always rendered\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/youtype/mypy_boto3_builder/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.38.3 to 1.41.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/39215b64750416e032dbfe565cf055f5ef66a0fd\"\u003e\u003ccode\u003e39215b6\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.41.5'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/0fc80754d993e98dad51ea4e37656c4ad8962512\"\u003e\u003ccode\u003e0fc8075\u003c/code\u003e\u003c/a\u003e Bumping version to 1.41.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/573d3594fd35e4d7243a3d4319ef738a9041071e\"\u003e\u003ccode\u003e573d359\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/d707dcee915295a02aa3498bb460a81b83e959e1\"\u003e\u003ccode\u003ed707dce\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.41.4'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/b65af6aef67860ab38747da041f2c4f449dac0aa\"\u003e\u003ccode\u003eb65af6a\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.41.4' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1cc06adc8d62407f104345c3f4407f2acbc75a2f\"\u003e\u003ccode\u003e1cc06ad\u003c/code\u003e\u003c/a\u003e Bumping version to 1.41.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/636e9c9fe361e4c6744bf02f5a24f30a6ddf29ed\"\u003e\u003ccode\u003e636e9c9\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/15cb8f1e00ca0fe5e27311aa246bf0e0d740d186\"\u003e\u003ccode\u003e15cb8f1\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.41.3'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/71104782ccd5e3198f04e00d55c21a43a0aba3cb\"\u003e\u003ccode\u003e7110478\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.41.3' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/2ca97db3ab4b5a34fb56979f01d3083e83145f27\"\u003e\u003ccode\u003e2ca97db\u003c/code\u003e\u003c/a\u003e Bumping version to 1.41.3\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.38.3...1.41.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.3 to 8.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.1\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.1/\"\u003ehttps://pypi.org/project/click/8.3.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-1\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-1\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/28\"\u003ehttps://github.com/pallets/click/milestone/28\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3039\"\u003e#3039\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3055\"\u003e#3055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through the \u003ccode\u003eContext.invoke()\u003c/code\u003e method. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3066\"\u003e#3066\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3068\"\u003e#3068\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect behavior for multiple parameters using the same name. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3071\"\u003e#3071\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3079\"\u003e#3079\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is empty. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3019\"\u003e#3019\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3021\"\u003e#3021\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to \u003ccode\u003etype_cast_value\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3069\"\u003e#3069\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3090\"\u003e#3090\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters through the context inside parameter callbacks. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3136\"\u003e#3136\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-11-15\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. :issue:\u003ccode\u003e3039\u003c/code\u003e\n:pr:\u003ccode\u003e3055\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through\nthe \u003ccode\u003eContext.invoke()\u003c/code\u003e method. :issue:\u003ccode\u003e3066\u003c/code\u003e :issue:\u003ccode\u003e3065\u003c/code\u003e :pr:\u003ccode\u003e3068\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect\nbehavior for multiple parameters using the same name. :issue:\u003ccode\u003e3071\u003c/code\u003e :pr:\u003ccode\u003e3079\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters\nthrough the context inside parameter callbacks. :issue:\u003ccode\u003e3136\u003c/code\u003e :pr:\u003ccode\u003e3137\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is\nempty. :issue:\u003ccode\u003e3019\u003c/code\u003e :pr:\u003ccode\u003e3021\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to\n\u003ccode\u003etype_cast_value\u003c/code\u003e. :issue:\u003ccode\u003e3069\u003c/code\u003e :pr:\u003ccode\u003e3090\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in \u003ccode\u003eCliRunner\u003c/code\u003e. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/1d038f270701498433cb432f54db89f95f07a845\"\u003e\u003ccode\u003e1d038f2\u003c/code\u003e\u003c/a\u003e release version 8.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/03f3889f505d0c9ca4f9d6810f9e4ba2799f2a66\"\u003e\u003ccode\u003e03f3889\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3141\"\u003e#3141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/3867781222cb63693ca67df94352d29d8e6e2770\"\u003e\u003ccode\u003e3867781\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/b91bb9548a5617b1197add95e084d569f57149c3\"\u003e\u003ccode\u003eb91bb95\u003c/code\u003e\u003c/a\u003e Provide altered context to callbacks to hide \u003ccode\u003eUNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/437e1e3295c7ec979fc1bf285bb402ca20d847e7\"\u003e\u003ccode\u003e437e1e3\u003c/code\u003e\u003c/a\u003e Temporarily provide a fake context to the callback to hide \u003ccode\u003eUNSET\u003c/code\u003e values as ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/ea70da487b05d6bb758d472a3a9ffab4a5b7fcd5\"\u003e\u003ccode\u003eea70da4\u003c/code\u003e\u003c/a\u003e Don't test using a file in docs/ (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3102\"\u003e#3102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e27b307462b725722f620c69dd1d5509c032d18a\"\u003e\u003ccode\u003ee27b307\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003euv run --all-extras pyright --verifytypes click\u003c/code\u003e pass (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3072\"\u003e#3072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/a92c573f3195c9da3058eadf1735d38af186d22c\"\u003e\u003ccode\u003ea92c573\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3129\"\u003e#3129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/bd131e1ab63da2281d6dd9b8205ad2eb5a085468\"\u003e\u003ccode\u003ebd131e1\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/0b5c6b75f617e6ee2f9f6dcd071b8a4bf183d1ed\"\u003e\u003ccode\u003e0b5c6b7\u003c/code\u003e\u003c/a\u003e Add Best practices section  (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3127\"\u003e#3127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.1.3...8.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `colored` from 2.3.0 to 2.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://gitlab.com/dslackw/colored/blob/master/CHANGES.md\"\u003ecolored's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.3.1] - 2025-07-28\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor: Optimized Windows Terminal Mode initialization: Moved \u003ccode\u003eColored.enable_windows_terminal_mode()\u003c/code\u003e call from \u003ccode\u003eColored.__init__\u003c/code\u003e to module-level execution. This ensures the Windows virtual terminal processing is enabled only once when the \u003ccode\u003ecolored\u003c/code\u003e module is imported, instead of on every \u003ccode\u003eColored\u003c/code\u003e object instantiation. This change improves performance by avoiding redundant API calls and checks.\u003c/li\u003e\n\u003cli\u003eRefactor: Reduce \u003ccode\u003eColored\u003c/code\u003e instance attributes: Removed redundant instance attributes (\u003ccode\u003e_ESC\u003c/code\u003e, \u003ccode\u003e_END\u003c/code\u003e, \u003ccode\u003e_STYLES\u003c/code\u003e, etc.) from the \u003ccode\u003eColored\u003c/code\u003e class's \u003ccode\u003e__init__\u003c/code\u003e method. These constants are now accessed directly from the \u003ccode\u003eLibrary\u003c/code\u003e module, reducing memory footprint per instance and improving adherence to Pylint's \u003ccode\u003eR0902\u003c/code\u003e warning.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResolved static analysis warnings in \u003ccode\u003eenable_windows_terminal_mode()\u003c/code\u003e: Modified \u003ccode\u003eenable_windows_terminal_mode()\u003c/code\u003e to ensure consistent return statements and handle all possible execution paths explicitly. This addresses \u003ccode\u003emypy\u003c/code\u003e's \u0026quot;Missing return statement\u0026quot; error and \u003ccode\u003epylint\u003c/code\u003e's \u0026quot;inconsistent-return-statements\u0026quot; warning by making all return paths explicit and robustly handling potential \u003ccode\u003ectypes\u003c/code\u003e related exceptions. The return type hint was also updated to \u003ccode\u003eOptional[bool]\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eResolved type hinting and tuple unpacking warnings in \u003ccode\u003eUtilities.is_percentage()\u003c/code\u003e: Modified the \u003ccode\u003eUtilities.is_percentage()\u003c/code\u003e method to explicitly return a fixed-length \u003ccode\u003etuple[int, int, int]\u003c/code\u003e. This addresses \u003ccode\u003emypy\u003c/code\u003e's \u0026quot;Incompatible return value type\u0026quot; error and \u003ccode\u003epylint\u003c/code\u003e's \u0026quot;unbalanced-tuple-unpacking\u0026quot; warning by ensuring consistent and statically verifiable return types.\u003c/li\u003e\n\u003cli\u003eRefined type validation and error handling in \u003ccode\u003eControls.nav()\u003c/code\u003e: Eliminated the redundant \u003ccode\u003e_is_str_object\u003c/code\u003e static method. Integrated string type validation directly into the \u003ccode\u003enav()\u003c/code\u003e method. Replaced \u003ccode\u003eAttributeError\u003c/code\u003e with \u003ccode\u003eTypeError\u003c/code\u003e for improved semantic clarity when handling invalid argument types.\u003c/li\u003e\n\u003cli\u003eEnsured \u003ccode\u003etest_hex_1.py\u003c/code\u003e correctly uses nearest ANSI codes for hex color representation, preventing \u003ccode\u003eInvalidHexColor\u003c/code\u003e exceptions during gradient and random color tests.\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://gitlab.com/dslackw/colored/commit/9af8fd381f2b907f27005479fc17e2619de52904\"\u003e\u003ccode\u003e9af8fd3\u003c/code\u003e\u003c/a\u003e Updated for version 2.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/1a9fabd317896cc0b31479a922de35a2777e3113\"\u003e\u003ccode\u003e1a9fabd\u003c/code\u003e\u003c/a\u003e Updated for date\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/6e26a657972662d2efd4d26ff3389fb59109827b\"\u003e\u003ccode\u003e6e26a65\u003c/code\u003e\u003c/a\u003e Updated for docstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/726c7e3a9fab59fec1da0d98cd236ab30bf5d335\"\u003e\u003ccode\u003e726c7e3\u003c/code\u003e\u003c/a\u003e Fix: InvalidHexColor for test_hex_1.py module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/ea826ab8814a0560a66412e9138449eb62a3add6\"\u003e\u003ccode\u003eea826ab\u003c/code\u003e\u003c/a\u003e Fixed type annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/3ed4a56ce61d371153dcee140b57df3ba5d5d005\"\u003e\u003ccode\u003e3ed4a56\u003c/code\u003e\u003c/a\u003e Fixed type annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/c44d80740872acc5e40132df6f958df09e4aa328\"\u003e\u003ccode\u003ec44d807\u003c/code\u003e\u003c/a\u003e Updated class docstring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/c7665e76dae836d65589ef977ec50f983af3d179\"\u003e\u003ccode\u003ec7665e7\u003c/code\u003e\u003c/a\u003e Refined type validation and error handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/1950dafdb25c78a20d8513076d41b3625429ca64\"\u003e\u003ccode\u003e1950daf\u003c/code\u003e\u003c/a\u003e Fixed for mypy no-untyped-def\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/9ad5943f409aa75b5b52ef9779b4f23f80de2ecd\"\u003e\u003ccode\u003e9ad5943\u003c/code\u003e\u003c/a\u003e Updated docstrings\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://gitlab.com/dslackw/colored/compare/2.3.0...2.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `humanize` from 4.12.2 to 4.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-humanize/humanize/releases\"\u003ehumanize's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.14.0\u003c/h2\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Uzbek language (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/264\"\u003e#264\u003c/a\u003e) \u003ca href=\"https://github.com/sSimuSs\"\u003e\u003ccode\u003e@​sSimuSs\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.9 (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/268\"\u003e#268\u003c/a\u003e) \u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.13.0\u003c/h2\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOptimise \u003ccode\u003enaturalsize\u003c/code\u003e algorithm by using \u003ccode\u003emath.log\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/253\"\u003e#253\u003c/a\u003e) \u003ca href=\"https://github.com/Zaczero\"\u003e\u003ccode\u003e@​Zaczero\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eprecisedelta\u003c/code\u003e rounding (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/254\"\u003e#254\u003c/a\u003e) \u003ca href=\"https://github.com/dangillet\"\u003e\u003ccode\u003e@​dangillet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.12.3\u003c/h2\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix regression in \u003ccode\u003enaturalsize\u003c/code\u003e for \u003ccode\u003efloat\u003c/code\u003e and \u003ccode\u003estr\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/250\"\u003e#250\u003c/a\u003e) \u003ca href=\"https://github.com/loicleyendecker\"\u003e\u003ccode\u003e@​loicleyendecker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprovements for French translation (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/248\"\u003e#248\u003c/a\u003e) \u003ca href=\"https://github.com/merwok\"\u003e\u003ccode\u003e@​merwok\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/fedf432b5bd7751b3417447b647e43aa2ac7507d\"\u003e\u003ccode\u003efedf432\u003c/code\u003e\u003c/a\u003e Add Uzbek language (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/264\"\u003e#264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/bbc0398e8c1cf062d3fa4a79d1dc9f58aa26da26\"\u003e\u003ccode\u003ebbc0398\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/269\"\u003e#269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/c8810e2d559e633cc48bc180d1bfe6364d04c169\"\u003e\u003ccode\u003ec8810e2\u003c/code\u003e\u003c/a\u003e Drop support for Python 3.9 (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/268\"\u003e#268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/c16587b7ba97dcd763a79ccb88b9a01bfddbdfc3\"\u003e\u003ccode\u003ec16587b\u003c/code\u003e\u003c/a\u003e Update github-actions (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/267\"\u003e#267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/947a6b13f0e44eda81c10d8403d3c2ccab01a1b2\"\u003e\u003ccode\u003e947a6b1\u003c/code\u003e\u003c/a\u003e Update dependency mypy to v1.18.2 (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/266\"\u003e#266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/41903865abf4244c38b6340b0217611d9b86db1c\"\u003e\u003ccode\u003e4190386\u003c/code\u003e\u003c/a\u003e Update dependency mkdocstrings to v0.30.1 (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/265\"\u003e#265\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/0e027051034b7dcb4eb65aded290cf56a89d8aa9\"\u003e\u003ccode\u003e0e02705\u003c/code\u003e\u003c/a\u003e Update config (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/262\"\u003e#262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/288a7a7c1dbfd1c977add3c54a7c9283039a6c71\"\u003e\u003ccode\u003e288a7a7\u003c/code\u003e\u003c/a\u003e Test free-threaded Python 3.13t and 3.14t (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/261\"\u003e#261\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/0f5d2948d674a88a611f8e341c0df520767b1b80\"\u003e\u003ccode\u003e0f5d294\u003c/code\u003e\u003c/a\u003e Precisedelta rounding (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/254\"\u003e#254\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/58d10b43175a22eb9ece2c6f3dcff6b6b681e2df\"\u003e\u003ccode\u003e58d10b4\u003c/code\u003e\u003c/a\u003e Update docs/requirements.txt (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/260\"\u003e#260\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-humanize/humanize/compare/4.12.2...4.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ipympl` from 0.9.7 to 0.9.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/matplotlib/ipympl/releases\"\u003eipympl's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 0.9.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake 'Usage' section in README consistent with current Basic Example at current documentation by \u003ca href=\"https://github.com/fomightez\"\u003e\u003ccode\u003e@​fomightez\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/583\"\u003ematplotlib/ipympl#583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: update release workflow by \u003ca href=\"https://github.com/ianhi\"\u003e\u003ccode\u003e@​ianhi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/590\"\u003ematplotlib/ipympl#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse thread lock to support comms via subshells by \u003ca href=\"https://github.com/ianthomas23\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/603\"\u003ematplotlib/ipympl#603\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse intersphinx_registry to keep intersphinx_mapping up to date. by \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/604\"\u003ematplotlib/ipympl#604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest on python 3.14 by \u003ca href=\"https://github.com/ianthomas23\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/606\"\u003ematplotlib/ipympl#606\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix doc build issues by \u003ca href=\"https://github.com/ianthomas23\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/605\"\u003ematplotlib/ipympl#605\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.9.8 by \u003ca href=\"https://github.com/ianthomas23\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/607\"\u003ematplotlib/ipympl#607\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fomightez\"\u003e\u003ccode\u003e@​fomightez\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/583\"\u003ematplotlib/ipympl#583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/604\"\u003ematplotlib/ipympl#604\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/matplotlib/ipympl/compare/0.9.7...v0.9.8\"\u003ehttps://github.com/matplotlib/ipympl/compare/0.9.7...v0.9.8\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/matplotlib/ipympl/commit/0f19f0a2b6b3df37787368bdb3669663d833d7ac\"\u003e\u003ccode\u003e0f19f0a\u003c/code\u003e\u003c/a\u003e Release 0.9.8 (\u003ca href=\"https://redirect.github.com/matplotlib/ipympl/issues/607\"\u003e#607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/ipympl/commit/00aa8af30a74ee32215253a965264da1e9a8eb14\"\u003e\u003ccode\u003e00aa8af\u003c/code\u003e\u003c/a\u003e Fix doc build issues (\u003ca href=\"https://redirect.github.com/matplotlib/ipympl/issues/605\"\u003e#605\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/ipympl/commit/fe010195f05249fa8407ffbc8ec7f940c9219358\"\u003e\u003ccode\u003efe01019\u003c/code\u003e\u003c/a\u003e Test on python 3.14 (\u003ca href=\"https://redirect.github.com/matplotlib/ipympl/issues/606\"\u003e#606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/ipympl/commit/6ee18b822e4558c4bcbdb7d255e17c3220c5a391\"\u003e\u003ccode\u003e6ee18b8\u003c/code\u003e\u003c/a\u003e Use intersphinx_registry to keep intersphinx_mapping up to date. (\u003ca href=\"https://redirect.github.com/matplotlib/ipympl/issues/604\"\u003e#604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/ipympl/commit/1ef9f671cba3e2424fbe55126151e43d07dc5b04\"\u003e\u003ccode\u003e1ef9f67\u003c/code\u003e\u003c/a\u003e Use thread lock to support comms via subshells (\u003ca href=\"https://redirect.github.com/matplotlib/ipympl/issues/603\"\u003e#603\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/ipympl/commit/5e068ed222427919cc20c406e34d02ba9be55cc3\"\u003e\u003ccode\u003e5e068ed\u003c/code\u003e\u003c/a\u003e build: update release workflow (\u003ca href=\"https://redirect.github.com/matplotlib/ipympl/issues/590\"\u003e#590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/ipympl/commit/83994fac6ecaa0ced1a3db90f709ae842f8a96ce\"\u003e\u003ccode\u003e83994fa\u003c/code\u003e\u003c/a\u003e make usage consistent with current Basic Example at matplotlib/org/ipympl\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/matplotlib/ipympl/compare/0.9.7...v0.9.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ipywidgets` from 8.1.6 to 8.1.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/releases\"\u003eipywidgets's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd JupyterCon banner and jupyter colors by \u003ca href=\"https://github.com/choldgraf\"\u003e\u003ccode\u003e@​choldgraf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3998\"\u003ejupyter-widgets/ipywidgets#3998\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix badge formatting in README.md by \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4000\"\u003ejupyter-widgets/ipywidgets#4000\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Plausible web stats by \u003ca href=\"https://github.com/jasongrout\"\u003e\u003ccode\u003e@​jasongrout\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4003\"\u003ejupyter-widgets/ipywidgets#4003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate jupyterlab_widgets metadata to indicate it works with JupyterLab 4 by \u003ca href=\"https://github.com/jasongrout\"\u003e\u003ccode\u003e@​jasongrout\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4004\"\u003ejupyter-widgets/ipywidgets#4004\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/choldgraf\"\u003e\u003ccode\u003e@​choldgraf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3998\"\u003ejupyter-widgets/ipywidgets#3998\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\"\u003ehttps://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e8.1.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix CI + remove Python 3.8 by \u003ca href=\"https://github.com/martinRenou\"\u003e\u003ccode\u003e@​martinRenou\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3989\"\u003ejupyter-widgets/ipywidgets#3989\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDynamic widgets registry by \u003ca href=\"https://github.com/martinRenou\"\u003e\u003ccode\u003e@​martinRenou\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3988\"\u003ejupyter-widgets/ipywidgets#3988\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.6...8.1.7\"\u003ehttps://github.com/jupyter-widgets/ipywidgets/compare/8.1.6...8.1.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\u003eSee full diff in \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.6...8.1.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jupyterlab` from 4.4.1 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/jupyterlab/jupyterlab/releases\"\u003ejupyterlab's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.5.0\u003c/h2\u003e\n\u003ch2\u003e4.5.0\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyterlab/jupyterlab/compare/v4.4.1...05df0d2487691b9bbf9d5e606238702152c3c634\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eNew features added\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd terminal search functionality \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17691\"\u003e#17691\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\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix kernel status display in status bar \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18047\"\u003e#18047\u003c/a\u003e (\u003ca href=\"https://github.com/Darshan808\"\u003e\u003ccode\u003e@​Darshan808\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eDebuggerDisplayRegistry\u003c/code\u003e to provide context-aware display names for debugger panels \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18043\"\u003e#18043\u003c/a\u003e (\u003ca href=\"https://github.com/arjxn-py\"\u003e\u003ccode\u003e@​arjxn-py\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIntroduce new token for the default \u003ccode\u003eIContentProvider\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18027\"\u003e#18027\u003c/a\u003e (\u003ca href=\"https://github.com/martinRenou\"\u003e\u003ccode\u003e@​martinRenou\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eShow more outputs\u003c/code\u003e button design \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18021\"\u003e#18021\u003c/a\u003e (\u003ca href=\"https://github.com/andrii-i\"\u003e\u003ccode\u003e@​andrii-i\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimize \u003ccode\u003econtent-visibility\u003c/code\u003e application \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18013\"\u003e#18013\u003c/a\u003e (\u003ca href=\"https://github.com/Meriem-BenIsmail\"\u003e\u003ccode\u003e@​Meriem-BenIsmail\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eShow execution count in breakpoints, callstack, and sources panels while debugging in console \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18003\"\u003e#18003\u003c/a\u003e (\u003ca href=\"https://github.com/arjxn-py\"\u003e\u003ccode\u003e@​arjxn-py\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKeep debugger state though kernel restarts \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17972\"\u003e#17972\u003c/a\u003e (\u003ca href=\"https://github.com/gjmooney\"\u003e\u003ccode\u003e@​gjmooney\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eDocumentManager\u003c/code\u003e dialogs customizable \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17961\"\u003e#17961\u003c/a\u003e (\u003ca href=\"https://github.com/Darshan808\"\u003e\u003ccode\u003e@​Darshan808\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSystematise how base URL is obtained to allow swapping it more easily \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17952\"\u003e#17952\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport the \u003ccode\u003eContentProviderRegistry\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17940\"\u003e#17940\u003c/a\u003e (\u003ca href=\"https://github.com/martinRenou\"\u003e\u003ccode\u003e@​martinRenou\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake filebrowser breadcrumbs configurable \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17932\"\u003e#17932\u003c/a\u003e (\u003ca href=\"https://github.com/Darshan808\"\u003e\u003ccode\u003e@​Darshan808\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSwitch the default windowing mode to \u003ccode\u003econtentVisibility\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17926\"\u003e#17926\u003c/a\u003e (\u003ca href=\"https://github.com/Meriem-BenIsmail\"\u003e\u003ccode\u003e@​Meriem-BenIsmail\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePass context down in attachments resolver \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17924\"\u003e#17924\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow swapping the empty markdown cell placeholder (and translate it) \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17920\"\u003e#17920\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnable the minimap for all windowing modes \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17904\"\u003e#17904\u003c/a\u003e (\u003ca href=\"https://github.com/Meriem-BenIsmail\"\u003e\u003ccode\u003e@​Meriem-BenIsmail\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDebugger: Differentiate selected breakpoints with specific style \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17893\"\u003e#17893\u003c/a\u003e (\u003ca href=\"https://github.com/HaudinFlorence\"\u003e\u003ccode\u003e@​HaudinFlorence\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse console for debugger evaluation \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17892\"\u003e#17892\u003c/a\u003e (\u003ca href=\"https://github.com/gjmooney\"\u003e\u003ccode\u003e@​gjmooney\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDebugger: Visual indicator when debugger is paused \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17891\"\u003e#17891\u003c/a\u003e (\u003ca href=\"https://github.com/arjxn-py\"\u003e\u003ccode\u003e@​arjxn-py\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eIUserAPIClient\u003c/code\u003e to make swapping \u003ccode\u003eUserManager\u003c/code\u003e easier \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17884\"\u003e#17884\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProvide context about the tag and attribute to the URL resolver \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17882\"\u003e#17882\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDebugger: Show cell execution count in breakpoint/call stack/source panel \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17881\"\u003e#17881\u003c/a\u003e (\u003ca href=\"https://github.com/arjxn-py\"\u003e\u003ccode\u003e@​arjxn-py\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd file browser menu for creating new Python/R/Julia files \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17848\"\u003e#17848\u003c/a\u003e (\u003ca href=\"https://github.com/martinRenou\"\u003e\u003ccode\u003e@​martinRenou\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow configuring \u003ccode\u003etoSkip\u003c/code\u003e for the \u003ccode\u003eSettingsEditor\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17834\"\u003e#17834\u003c/a\u003e (\u003ca href=\"https://github.com/jtpio\"\u003e\u003ccode\u003e@​jtpio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003econtent-visibility\u003c/code\u003e to render notebook cells more efficiently \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17822\"\u003e#17822\u003c/a\u003e (\u003ca href=\"https://github.com/Meriem-BenIsmail\"\u003e\u003ccode\u003e@​Meriem-BenIsmail\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse toolbar registry for log console \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17814\"\u003e#17814\u003c/a\u003e (\u003ca href=\"https://github.com/gjmooney\"\u003e\u003ccode\u003e@​gjmooney\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a new \u003ccode\u003eaddExtraLineOnCellMerge\u003c/code\u003e setting \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17806\"\u003e#17806\u003c/a\u003e (\u003ca href=\"https://github.com/jtpio\"\u003e\u003ccode\u003e@​jtpio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate to mermaid 11.10, marked 16.2 \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17800\"\u003e#17800\u003c/a\u003e (\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow opening notebooks without starting a kernel \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17798\"\u003e#17798\u003c/a\u003e (\u003ca href=\"https://github.com/jtpio\"\u003e\u003ccode\u003e@​jtpio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow to swap the URL resolver \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17784\"\u003e#17784\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd the \u0026quot;Show Workspace Indicator\u0026quot; command to the palette \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17780\"\u003e#17780\u003c/a\u003e (\u003ca href=\"https://github.com/jtpio\"\u003e\u003ccode\u003e@​jtpio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAuto-switch between light and dark mode when \u0026quot;Synchronize with System Settings\u0026quot; is enabled \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17733\"\u003e#17733\u003c/a\u003e (\u003ca href=\"https://github.com/MUFFANUJ\"\u003e\u003ccode\u003e@​MUFFANUJ\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKeep cell \u003ccode\u003eid\u003c/code\u003e when the user changes cell type \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17731\"\u003e#17731\u003c/a\u003e (\u003ca href=\"https://github.com/afshin\"\u003e\u003ccode\u003e@​afshin\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDiscover the app directory relative to the installed module \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17721\"\u003e#17721\u003c/a\u003e (\u003ca href=\"https://github.com/zanieb\"\u003e\u003ccode\u003e@​zanieb\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eShow checkbox and buttons of Dialog component on separate lines \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17696\"\u003e#17696\u003c/a\u003e (\u003ca href=\"https://github.com/MUFFANUJ\"\u003e\u003ccode\u003e@​MUFFANUJ\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd types for interrupt messages, and move them from \u003ccode\u003eshell\u003c/code\u003e to \u003ccode\u003econtrol\u003c/code\u003e channel \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17684\"\u003e#17684\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd fold/unfold commands to menu and command palette \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17677\"\u003e#17677\u003c/a\u003e (\u003ca href=\"https://github.com/Darshan808\"\u003e\u003ccode\u003e@​Darshan808\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a new \u003ccode\u003eallowFileUploads\u003c/code\u003e setting to the file browser \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17676\"\u003e#17676\u003c/a\u003e (\u003ca href=\"https://github.com/jtpio\"\u003e\u003ccode\u003e@​jtpio\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/jupyterlab/jupyterlab/commit/791aecc59e9266990060de7b8616bccbae16912f\"\u003e\u003ccode\u003e791aecc\u003c/code\u003e\u003c/a\u003e [ci skip] Publish 4.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyterlab/jupyterlab/commit/05df0d2487691b9bbf9d5e606238702152c3c634\"\u003e\u003ccode\u003e05df0d2\u003c/code\u003e\u003c/a\u003e Drop \u003ccode\u003ealtair\u003c/code\u003e installation in release test; migrate from deprecated `vega_dat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyterlab/jupyterlab/commit/6e6744cd2355263d7f6548ba009502f1767dbae4\"\u003e\u003ccode\u003e6e6744c\u003c/code\u003e\u003c/a\u003e Update JupyterLab pre-release version to 4.5.0rc1 (\u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/18111\"\u003e#18111\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyterlab/jupyterlab/commit/885b2963afdd5186b58e2c3b7e4f8544a9c918cc\"\u003e\u003ccode\u003e885b296\u003c/code\u003e\u003c/a\u003e [ci skip] Publish 4.5.0rc1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyterlab/jupyterlab/commit/f1675bd277961ea24d369a90237d3d218df932b6\"\u003e\u003ccode\u003ef1675bd\u003c/code\u003e\u003c/a\u003e Update lumino to \u003ccode\u003ev2025.11.13\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/18108\"\u003e#18108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyterlab/jupyterlab/commit/99dee73e725e78af91a5caf7cb06511bbab09be8\"\u003e\u003ccode\u003e99dee73\u003c/code\u003e\u003c/a\u003e Clean up references to Gitpod (\u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/18107\"\u003e#18107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyterlab/jupyterlab/commit/19d0f28338839e4bc6f6335f8ce27e230623e4ce\"\u003e\u003ccode\u003e19d0f28\u003c/code\u003e\u003c/a\u003e Fix layout trashing when navigating notebook cell-by-cell (\u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/18080\"\u003e#18080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyterlab/jupyterlab/commit/9a86e530ab53cf6fd922ba36309a7242dc227db1\"\u003e\u003ccode\u003e9a86e53\u003c/code\u003e\u003c/a\u003e Update example for disabling \u003ccode\u003ebuildAvailable\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/18075\"\u003e#18075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyterlab/jupyterlab/commit/6f688301418232f27314a2e784810ad6b639fe84\"\u003e\u003ccode\u003e6f68830\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003eIntersectionObserver\u003c/code\u003e to disable containment for on-screen cells (\u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/18091\"\u003e#18091\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyterlab/jupyterlab/commit/c4826af4a43f165a2ed578431e03ed9602d7588f\"\u003e\u003ccode\u003ec4826af\u003c/code\u003e\u003c/a\u003e Convert documentation to Markdown (\u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/18044\"\u003e#18044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jupyterlab/jupyterlab/compare/@jupyterlab/lsp@4.4.1...@jupyterlab/lsp@4.5.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.1 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\u003ch2\u003eREL: v3.10.3\u003c/h2\u003e\n\u003cp\u003eThis is the third bugfix release of the 3.10.x series\u003c/p\u003e\n\u003c/blockquote\u003e\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.1...v3.10.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `matplotlib-stubs` from 0.2.0 to 0.3.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/releases\"\u003ematplotlib-stubs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.3.11\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ev0.3.10\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ev0.3.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix broken import in \u003ccode\u003ematplotlib.pyplot.plot_date\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.pyplot.xlim\u003c/code\u003e and \u003ccode\u003ematplotlib.pyplot.ylim\u003c/code\u003e overloads, including datetime support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.7\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ev0.3.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.axes.Axes.set_xticks\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ematplotlib.axes.Axes.bar\u003c/code\u003e to support datetime sequences\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.5\u003c/h2\u003e\n\u003cp\u003eFix \u003ccode\u003ematplotlib.pyplot.plot\u003c/code\u003e to allow using datetime sequences.\u003c/p\u003e\n\u003ch2\u003ev0.3.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eComplete type hints for:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.subplots_adjust\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.subplots\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.subplot_mosaic\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eComplete \u003ccode\u003ematplotlib.pyplot.text\u003c/code\u003e's type hints\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ematplotlib.cm.colors\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.cm\u003c/code\u003e's colormaps\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd return type to \u003ccode\u003eplt.ylabel\u003c/code\u003e and \u003ccode\u003eplt.xlabel\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix/refine argument types for \u003ccode\u003eplt.savefig\u003c/code\u003e, \u003ccode\u003eplt.plot\u003c/code\u003e and \u003ccode\u003eplt.scatter\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.0\u003c/h2\u003e\n\u003cp\u003eImprove type hints for the following functions:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.close()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.figure()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.legend()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.plot()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.savefig()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.scatter()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.title()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.xlabel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/blob/master/CHANGELOG.md\"\u003ematplotlib-stubs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.3.11 - 2025-10-23\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd type hints for \u003ccode\u003ematplotlib.pyplot\u003c/code\u003e's \u003ccode\u003eshow\u003c/code\u003e, \u003ccode\u003etight_layout\u003c/code\u003e, \u003ccode\u003ebar\u003c/code\u003e, \u003ccode\u003exticks\u003c/code\u003e and \u003ccode\u003eyticks\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.10 - 2025-10-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.pyplot.loglog\u003c/code\u003e type hints\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.9 - 2025-10-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix broken import in \u003ccode\u003ematplotlib.pyplot.plot_date\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.8 - 2025-10-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.pyplot.xlim\u003c/code\u003e and \u003ccode\u003ematplotlib.pyplot.ylim\u003c/code\u003e overloads, including datetime support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.7 - 2025-10-21\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.pyplot.axhline\u003c/code\u003e's kwargs type\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.6 - 2025-10-19\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.axes.Axes.set_xticks\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ematplotlib.axes.Axes.bar\u003c/code\u003e to support datetime sequences\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.5 - 2025-10-14\u003c/h2\u003e\n\u003cp\u003eFix \u003ccode\u003ematplotlib.pyplot.plot\u003c/code\u003e to allow using datetime sequences.\u003c/p\u003e\n\u003ch2\u003e0.3.4 - 2025-09-11\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eComplete type hints for:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.subplots_adjust\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.subplots\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.subplot_mosaic\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.3 - 2025-09-04\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eComplete \u003ccode\u003ematplotlib.pyplot.text\u003c/code\u003e's type hints\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ematplotlib.cm.colors\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.3.2] - 2025-08-07\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.cm\u003c/code\u003e's colormaps\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.3.1] - 2025-08-04\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd return type to \u003ccode\u003eplt.ylabel\u003c/code\u003e and \u003ccode\u003eplt.xlabel\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix/refine argument types for \u003ccode\u003eplt.savefig\u003c/code\u003e, \u003ccode\u003eplt.plot\u003c/code\u003e and \u003ccode\u003eplt.scatter\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/hoel-bagard/matplotlib-stubs/commit/59fdaf216331aa54996e5f1149e6ee096ca63557\"\u003e\u003ccode\u003e59fdaf2\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/b85c0f74cd4587d8f9ccdb0a65639981ca29bfaa\"\u003e\u003ccode\u003eb85c0f7\u003c/code\u003e\u003c/a\u003e feat: add type hints for show, tight_layout, bar, xticks and yticks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/8afc8f4122949daaa447febe9b715feaaa13da59\"\u003e\u003ccode\u003e8afc8f4\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/f9de850ed9f5662672ec663e2b88619b42d34e5a\"\u003e\u003ccode\u003ef9de850\u003c/code\u003e\u003c/a\u003e feat: add type hints to plt.loglog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/4ffefa652da3881b576823b003e695d8c4ad0dbe\"\u003e\u003ccode\u003e4ffefa6\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/e6a54149513cf96fab1c8e35ae1589a5106a46c2\"\u003e\u003ccode\u003ee6a5414\u003c/code\u003e\u003c/a\u003e fix: broken import\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/90b7235400fd1467a85ccf3ff06a5c068cd4e410\"\u003e\u003ccode\u003e90b7235\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/af0f45827cda237040c46dd126530a0971e41758\"\u003e\u003ccode\u003eaf0f458\u003c/code\u003e\u003c/a\u003e feat: add xlim and ylim overloads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/5d5ab771404092929deacaef66cc8efe625a4752\"\u003e\u003ccode\u003e5d5ab77\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/5f5a9e46f14de1072f07eb865af4d552a553672c\"\u003e\u003ccode\u003e5f5a9e4\u003c/code\u003e\u003c/a\u003e fix: add axhline kwargs type\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/compare/0.2.0...v0.3.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `networkx` from 3.4.2 to 3.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/networkx/networkx/releases\"\u003enetworkx's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eNetworkX 3.6\u003c/h2\u003e\n\u003ch1\u003enetworkx 3.6\u003c/h1\u003e\n\u003cp\u003eWe're happy to announce the release of networkx 3.6!\u003c/p\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eENH: add normalize option for \u003ccode\u003esubgraph_centrality\u003c/code\u003e and its \u003ccode\u003e_exp\u003c/code\u003e version (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8340\"\u003e#8340\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAPI Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace \u003ccode\u003erandom_lobster\u003c/code\u003e with \u003ccode\u003erandom_lobster_graph\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8067\"\u003e#8067\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003emaybe_regular_expander\u003c/code\u003e with \u003ccode\u003emaybe_regular_expander_graph\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8050\"\u003e#8050\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRm networkx.algorithms.threshold.swap_d (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8213\"\u003e#8213\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eExpire deprecation of compute_v_structures (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8281\"\u003e#8281\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRm unused dissuade_hubs kwarg from forceatlas2 (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8293\"\u003e#8293\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eExpire deprecation of link kwarg in node_link fns (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8282\"\u003e#8282\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDEP: Deprecate metric_closure (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8304\"\u003e#8304\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove error message for removed \u003ccode\u003erandom_tree\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8105\"\u003e#8105\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eUpdate approx current_flow betweenness to use k directly (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8007\"\u003e#8007\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eProposal: update semantics for nonisomorphic trees with order 0 or 1 (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8083\"\u003e#8083\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eSCC benchmarks and use of \u003ccode\u003eG._adj\u003c/code\u003e in Tarjan algorithm (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8064\"\u003e#8064\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003ePerformance improvement and tests for \u003ccode\u003eedges_equal\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8077\"\u003e#8077\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eoptimise \u003ccode\u003eis_reachable()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8112\"\u003e#8112\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eOptimise harmonic centrality (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8158\"\u003e#8158\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003efeat(drawing): add missing connection styles in \u003ccode\u003edraw_networkx_edge_labels\u003c/code\u003e and \u003ccode\u003edisplay\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8108\"\u003e#8108\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eOptimizing Dijkstra's paths to target (~50x faster for graphs with multiple-hops shortest path) (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8023\"\u003e#8023\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eall_triangles\u003c/code\u003e generator yielding all unique triangles in a graph (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8135\"\u003e#8135\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003erefactor: simplify \u003ccode\u003ek_factor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8139\"\u003e#8139\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003efeat: add directed star graph (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8151\"\u003e#8151\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFaster \u003ccode\u003eintersection_array\u003c/code\u003e computation for checking distance-regularity (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/7181\"\u003e#7181\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eenh: short-circuit in \u003ccode\u003eis_regular\u003c/code\u003e for directed graphs (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8138\"\u003e#8138\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAvoid re-exploring nodes in Kosaraju's SCC algorithm (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8056\"\u003e#8056\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003etrust rank implementation and testing (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8165\"\u003e#8165\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd hyper_wiener_index function (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8184\"\u003e#8184\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBidirectional dijkstra optimization: from 1.1x to 25x faster (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8206\"\u003e#8206\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImplement the algorithm to find the centroid(s) of a tree (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8089\"\u003e#8089\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eSet length threshold in FR and use np.clip (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8145\"\u003e#8145\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd panther++ (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/4400\"\u003e#4400\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003emaint: use \u003ccode\u003enx.circulant_graph\u003c/code\u003e to generate Harary graphs (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8189\"\u003e#8189\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eENH: add \u003ccode\u003edirected\u003c/code\u003e kwarg to \u003ccode\u003eedges_equal\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8192\"\u003e#8192\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eOptimizing Dijkstra's path construction for all targets case (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8218\"\u003e#8218\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eENH: adds ISMAGS support for directed and multigraph with tests and refactor (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8274\"\u003e#8274\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDispatch classes such as \u003ccode\u003enx.Graph(backend=...)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/7760\"\u003e#7760\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eENH: Add is_perfect_graph using SPGT (follow-up to \u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8111\"\u003e#8111\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8318\"\u003e#8318\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd benchmark suite for shortest path algorithms on weighted graphs (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8059\"\u003e#8059\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdding Generalized Petersen Graph (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8147\"\u003e#8147\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/bb9a6ded1889f182d7a5b76831c389c335d52910\"\u003e\u003ccode\u003ebb9a6de\u003c/code\u003e\u003c/a\u003e Designate 3.6 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/436973632bf1311e348510dda41d944f18db7b32\"\u003e\u003ccode\u003e4369736\u003c/code\u003e\u003c/a\u003e Fix sphinx warnings 3.6rc (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8352\"\u003e#8352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/6dbed05b693d535f70495229c3adc364793b00ed\"\u003e\u003ccode\u003e6dbed05\u003c/code\u003e\u003c/a\u003e FEAT: Add a describe method for some basic info about graphs (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8338\"\u003e#8338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/5fa842b6c78a5e79d90e3961ae34ebf3e17620eb\"\u003e\u003ccode\u003e5fa842b\u003c/code\u003e\u003c/a\u003e Pin last value to 1.0 in \u003ccode\u003ecumulative_distribution\u003c/code\u003e to address floating-point ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/d302ea14cb75a80513052ba3a9010f14a203a587\"\u003e\u003ccode\u003ed302ea1\u003c/code\u003e\u003c/a\u003e Adding \u003ca href=\"https://github.com/amcandio\"\u003e\u003ccode\u003e@​amcandio\u003c/code\u003e\u003c/a\u003e as contributor (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8345\"\u003e#8345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/1c64369df55584106a820f30cd892dbebc14b52e\"\u003e\u003ccode\u003e1c64369\u003c/code\u003e\u003c/a\u003e DOC: Add warning about special GEXF reserved keywords. (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8343\"\u003e#8343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/f26e6bff0e161668a1eecc50491eeff4a68bf3b8\"\u003e\u003ccode\u003ef26e6bf\u003c/code\u003e\u003c/a\u003e ENH: add normalize option for \u003ccode\u003esubgraph_centrality\u003c/code\u003e and its \u003ccode\u003e_exp\u003c/code\u003e version (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/79e113baab1f9a17a1884ef62ebda2e2e1e61428\"\u003e\u003ccode\u003e79e113b\u003c/code\u003e\u003c/a\u003e Adding Generalized Petersen Graph (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8147\"\u003e#8147\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/8b1c5a19c7baeb044daccf6903a3d680efd69fde\"\u003e\u003ccode\u003e8b1c5a1\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 4 to 5 in the actions group (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8335\"\u003e#8335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/e79901a9b3d58840f958d67295967e5e94915727\"\u003e\u003ccode\u003ee79901a\u003c/code\u003e\u003c/a\u003e Fix formatting for release docs. (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8336\"\u003e#8336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/networkx/networkx/compare/networkx-3.4.2...networkx-3.6\"\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\u003eP...\n\n_Description has been truncated_","html_url":"https://github.com/sjwiesman/materialize/pull/464","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sjwiesman%2Fmaterialize/issues/464","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/464/packages"},{"uuid":"3662533526","node_id":"PR_kwDOPF_5m861Y_wt","number":76,"state":"open","title":"chore(python)(deps): bump the python-dependencies group across 1 directory with 73 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-11-25T10:52:15.000Z","updated_at":"2025-11-25T13:02:22.164Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(python)(deps): bump","group_name":"python-dependencies","update_count":73,"packages":[{"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":"attrs","old_version":"25.3.0","new_version":"25.4.0","repository_url":"https://github.com/sponsors/hynek"},{"name":"bleach","old_version":"6.2.0","new_version":"6.3.0","repository_url":"https://github.com/mozilla/bleach"},{"name":"blinker","old_version":"1.8.2","new_version":"1.9.0","repository_url":"https://github.com/pallets-eco/blinker"},{"name":"build","old_version":"1.2.2.post1","new_version":"1.3.0","repository_url":"https://github.com/pypa/build"},{"name":"cachecontrol","old_version":"0.14.3","new_version":"0.14.4","repository_url":"https://github.com/psf/cachecontrol"},{"name":"cachetools","old_version":"6.2.0","new_version":"6.2.2","repository_url":"https://github.com/tkem/cachetools"},{"name":"charset-normalizer","old_version":"3.4.0","new_version":"3.4.4","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"cli-helpers","old_version":"2.3.1","new_version":"2.7.0","repository_url":"https://github.com/dbcli/cli_helpers"},{"name":"click","old_version":"8.1.7","new_version":"8.3.1","repository_url":"https://github.com/pallets/click"},{"name":"contourpy","old_version":"1.3.2","new_version":"1.3.3","repository_url":"https://github.com/contourpy/contourpy"},{"name":"coverage","old_version":"7.3.4","new_version":"7.12.0","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"deprecated","old_version":"1.2.18","new_version":"1.3.1","repository_url":"https://github.com/laurent-laporte-pro/deprecated"},{"name":"docutils","old_version":"0.18.1","new_version":"0.22.3","repository_url":"https://github.com/rtfd/recommonmark"},{"name":"fastapi","old_version":"0.121.2","new_version":"0.122.0","repository_url":"https://github.com/fastapi/fastapi"},{"name":"flask","old_version":"3.0.3","new_version":"3.1.2","repository_url":"https://github.com/pallets/flask"},{"name":"freezegun","old_version":"1.3.1","new_version":"1.5.5","repository_url":"https://github.com/spulec/freezegun"},{"name":"fsspec","old_version":"2025.9.0","new_version":"2025.10.0","repository_url":"https://github.com/fsspec/filesystem_spec"},{"name":"google-auth","old_version":"2.41.1","new_version":"2.43.0","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"google-auth-oauthlib","old_version":"1.2.2","new_version":"1.2.3","repository_url":"https://github.com/GoogleCloudPlatform/google-auth-library-python-oauthlib"},{"name":"grpcio","old_version":"1.75.1","new_version":"1.76.0","repository_url":"https://github.com/grpc/grpc"},{"name":"h5py","old_version":"3.14.0","new_version":"3.15.1","repository_url":"https://github.com/h5py/h5py"},{"name":"httpx","old_version":"0.27.2","new_version":"0.28.1","repository_url":"https://github.com/encode/httpx"},{"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":"ipython","old_version":"9.6.0","new_version":"9.7.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":"jiter","old_version":"0.11.0","new_version":"0.12.0","repository_url":"https://github.com/pydantic/jiter"},{"name":"jupyter","old_version":"1.0.0","new_version":"1.1.1"},{"name":"jupyter-core","old_version":"5.8.1","new_version":"5.9.1","repository_url":"https://github.com/jupyter/jupyter_core"},{"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":"libcst","old_version":"1.7.0","new_version":"1.8.6","repository_url":"https://github.com/Instagram/LibCST"},{"name":"litecli","old_version":"1.12.3","new_version":"1.17.0","repository_url":"https://github.com/dbcli/litecli"},{"name":"markdown","old_version":"3.9","new_version":"3.10","repository_url":"https://github.com/Python-Markdown/markdown"},{"name":"matplotlib-inline","old_version":"0.1.7","new_version":"0.2.1","repository_url":"https://github.com/ipython/matplotlib-inline"},{"name":"ml-dtypes","old_version":"0.5.3","new_version":"0.5.4","repository_url":"https://github.com/jax-ml/ml_dtypes"},{"name":"mutmut","old_version":"3.3.1","new_version":"3.4.0","repository_url":"https://github.com/boxed/mutmut"},{"name":"mypy","old_version":"1.5.1","new_version":"1.18.2","repository_url":"https://github.com/python/mypy"},{"name":"networkx","old_version":"3.5","new_version":"3.6","repository_url":"https://github.com/networkx/networkx"},{"name":"numpy","old_version":"2.0.2","new_version":"2.3.5","repository_url":"https://github.com/numpy/numpy"},{"name":"objection","old_version":"1.11.0","new_version":"1.12.2","repository_url":"https://github.com/sensepost/objection"},{"name":"openai","old_version":"2.8.0","new_version":"2.8.1","repository_url":"https://github.com/openai/openai-python"},{"name":"optree","old_version":"0.17.0","new_version":"0.18.0","repository_url":"https://github.com/metaopt/optree"},{"name":"packageurl-python","old_version":"0.17.5","new_version":"0.17.6","repository_url":"https://github.com/package-url/packageurl-python"},{"name":"pep517","old_version":"0.13.0","new_version":"0.13.1","repository_url":"https://github.com/pypa/pep517"},{"name":"pexpect","old_version":"4.8.0","new_version":"4.9.0","repository_url":"https://github.com/pexpect/pexpect"},{"name":"prompt-toolkit","old_version":"3.0.48","new_version":"3.0.52","repository_url":"https://github.com/prompt-toolkit/python-prompt-toolkit"},{"name":"psutil","old_version":"7.1.0","new_version":"7.1.3","repository_url":"https://github.com/giampaolo/psutil"},{"name":"pycodestyle","old_version":"2.10.0","new_version":"2.14.0","repository_url":"https://github.com/PyCQA/pycodestyle"},{"name":"pyflakes","old_version":"3.0.1","new_version":"3.4.0","repository_url":"https://github.com/PyCQA/pyflakes"},{"name":"pyparsing","old_version":"3.0.9","new_version":"3.2.5","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"pytest-mock","old_version":"3.12.0","new_version":"3.15.1","repository_url":"https://github.com/pytest-dev/pytest-mock"},{"name":"pytest-timeout","old_version":"2.2.0","new_version":"2.4.0","repository_url":"https://github.com/pytest-dev/pytest-timeout"},{"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.29.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":"seaborn","old_version":"0.12.2","new_version":"0.13.2","repository_url":"https://github.com/mwaskom/seaborn"},{"name":"sqlparse","old_version":"0.5.1","new_version":"0.5.3","repository_url":"https://github.com/andialbrecht/sqlparse"},{"name":"starlette","old_version":"0.49.3","new_version":"0.50.0","repository_url":"https://github.com/Kludex/starlette"},{"name":"termcolor","old_version":"3.1.0","new_version":"3.2.0","repository_url":"https://github.com/termcolor/termcolor"},{"name":"textual","old_version":"6.2.1","new_version":"6.6.0","repository_url":"https://github.com/Textualize/textual"},{"name":"tinycss2","old_version":"1.4.0","new_version":"1.5.1","repository_url":"https://github.com/Kozea/tinycss2"},{"name":"types-requests","old_version":"2.31.0.2","new_version":"2.32.4.20250913","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"wcwidth","old_version":"0.2.13","new_version":"0.2.14","repository_url":"https://github.com/jquast/wcwidth"},{"name":"websocket-client","old_version":"1.8.0","new_version":"1.9.0","repository_url":"https://github.com/websocket-client/websocket-client"},{"name":"werkzeug","old_version":"3.1.1","new_version":"3.1.3","repository_url":"https://github.com/pallets/werkzeug"},{"name":"widgetsnbextension","old_version":"4.0.14","new_version":"4.0.15"},{"name":"celery","old_version":"5.4.0","new_version":"5.5.3","repository_url":"https://github.com/celery/celery"},{"name":"celery","old_version":"5.4.0","new_version":"5.5.3","repository_url":"https://github.com/celery/celery"},{"name":"kombu","old_version":"5.4.2","new_version":"5.6.0","repository_url":"https://github.com/celery/kombu"},{"name":"amqp","old_version":"5.2.0","new_version":"5.3.1","repository_url":"https://github.com/celery/py-amqp"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-dependencies group with 73 updates in the /python-ai-service directory:\n\n| Package | From | To |\n| --- | --- | --- |\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| [attrs](https://github.com/sponsors/hynek) | `25.3.0` | `25.4.0` |\n| [bleach](https://github.com/mozilla/bleach) | `6.2.0` | `6.3.0` |\n| [blinker](https://github.com/pallets-eco/blinker) | `1.8.2` | `1.9.0` |\n| [build](https://github.com/pypa/build) | `1.2.2.post1` | `1.3.0` |\n| [cachecontrol](https://github.com/psf/cachecontrol) | `0.14.3` | `0.14.4` |\n| [cachetools](https://github.com/tkem/cachetools) | `6.2.0` | `6.2.2` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.0` | `3.4.4` |\n| [cli-helpers](https://github.com/dbcli/cli_helpers) | `2.3.1` | `2.7.0` |\n| [click](https://github.com/pallets/click) | `8.1.7` | `8.3.1` |\n| [contourpy](https://github.com/contourpy/contourpy) | `1.3.2` | `1.3.3` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.3.4` | `7.12.0` |\n| [deprecated](https://github.com/laurent-laporte-pro/deprecated) | `1.2.18` | `1.3.1` |\n| [docutils](https://github.com/rtfd/recommonmark) | `0.18.1` | `0.22.3` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.121.2` | `0.122.0` |\n| [flask](https://github.com/pallets/flask) | `3.0.3` | `3.1.2` |\n| [freezegun](https://github.com/spulec/freezegun) | `1.3.1` | `1.5.5` |\n| [fsspec](https://github.com/fsspec/filesystem_spec) | `2025.9.0` | `2025.10.0` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.41.1` | `2.43.0` |\n| [google-auth-oauthlib](https://github.com/GoogleCloudPlatform/google-auth-library-python-oauthlib) | `1.2.2` | `1.2.3` |\n| [grpcio](https://github.com/grpc/grpc) | `1.75.1` | `1.76.0` |\n| [h5py](https://github.com/h5py/h5py) | `3.14.0` | `3.15.1` |\n| [httpx](https://github.com/encode/httpx) | `0.27.2` | `0.28.1` |\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| [ipython](https://github.com/ipython/ipython) | `9.6.0` | `9.7.0` |\n| [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) | `8.1.7` | `8.1.8` |\n| [jiter](https://github.com/pydantic/jiter) | `0.11.0` | `0.12.0` |\n| [jupyter](https://jupyter.org) | `1.0.0` | `1.1.1` |\n| [jupyter-core](https://github.com/jupyter/jupyter_core) | `5.8.1` | `5.9.1` |\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| [libcst](https://github.com/Instagram/LibCST) | `1.7.0` | `1.8.6` |\n| [litecli](https://github.com/dbcli/litecli) | `1.12.3` | `1.17.0` |\n| [markdown](https://github.com/Python-Markdown/markdown) | `3.9` | `3.10` |\n| [matplotlib-inline](https://github.com/ipython/matplotlib-inline) | `0.1.7` | `0.2.1` |\n| [ml-dtypes](https://github.com/jax-ml/ml_dtypes) | `0.5.3` | `0.5.4` |\n| [mutmut](https://github.com/boxed/mutmut) | `3.3.1` | `3.4.0` |\n| [mypy](https://github.com/python/mypy) | `1.5.1` | `1.18.2` |\n| [networkx](https://github.com/networkx/networkx) | `3.5` | `3.6` |\n| [numpy](https://github.com/numpy/numpy) | `2.0.2` | `2.3.5` |\n| [objection](https://github.com/sensepost/objection) | `1.11.0` | `1.12.2` |\n| [openai](https://github.com/openai/openai-python) | `2.8.0` | `2.8.1` |\n| [optree](https://github.com/metaopt/optree) | `0.17.0` | `0.18.0` |\n| [packageurl-python](https://github.com/package-url/packageurl-python) | `0.17.5` | `0.17.6` |\n| [pep517](https://github.com/pypa/pep517) | `0.13.0` | `0.13.1` |\n| [pexpect](https://github.com/pexpect/pexpect) | `4.8.0` | `4.9.0` |\n| [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) | `3.0.48` | `3.0.52` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.1.0` | `7.1.3` |\n| [pycodestyle](https://github.com/PyCQA/pycodestyle) | `2.10.0` | `2.14.0` |\n| [pyflakes](https://github.com/PyCQA/pyflakes) | `3.0.1` | `3.4.0` |\n| [pyparsing](https://github.com/pyparsing/pyparsing) | `3.0.9` | `3.2.5` |\n| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.12.0` | `3.15.1` |\n| [pytest-timeout](https://github.com/pytest-dev/pytest-timeout) | `2.2.0` | `2.4.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.29.0` |\n| [scipy](https://github.com/scipy/scipy) | `1.15.3` | `1.16.3` |\n| [seaborn](https://github.com/mwaskom/seaborn) | `0.12.2` | `0.13.2` |\n| [sqlparse](https://github.com/andialbrecht/sqlparse) | `0.5.1` | `0.5.3` |\n| [starlette](https://github.com/Kludex/starlette) | `0.49.3` | `0.50.0` |\n| [termcolor](https://github.com/termcolor/termcolor) | `3.1.0` | `3.2.0` |\n| [textual](https://github.com/Textualize/textual) | `6.2.1` | `6.6.0` |\n| [tinycss2](https://github.com/Kozea/tinycss2) | `1.4.0` | `1.5.1` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.31.0.2` | `2.32.4.20250913` |\n| [wcwidth](https://github.com/jquast/wcwidth) | `0.2.13` | `0.2.14` |\n| [websocket-client](https://github.com/websocket-client/websocket-client) | `1.8.0` | `1.9.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `3.1.1` | `3.1.3` |\n| [widgetsnbextension](http://jupyter.org) | `4.0.14` | `4.0.15` |\n| [celery](https://github.com/celery/celery) | `5.4.0` | `5.5.3` |\n| [celery[redis]](https://github.com/celery/celery) | `5.4.0` | `5.5.3` |\n| [kombu](https://github.com/celery/kombu) | `5.4.2` | `5.6.0` |\n| [amqp](https://github.com/celery/py-amqp) | `5.2.0` | `5.3.1` |\n\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 `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 `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 `blinker` from 1.8.2 to 1.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets-eco/blinker/releases\"\u003eblinker's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.9.0\u003c/h2\u003e\n\u003cp\u003eThis is the Blinker 1.9.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/blinker/1.9.0/\"\u003ehttps://pypi.org/project/blinker/1.9.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://blinker.readthedocs.io/en/stable/#version-1-9-0\"\u003ehttps://blinker.readthedocs.io/en/stable/#version-1-9-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets-eco/blinker/milestone/1?closed=1\"\u003ehttps://github.com/pallets-eco/blinker/milestone/1?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets-eco/blinker/issues/175\"\u003e#175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove previously deprecated \u003ccode\u003e__version__\u003c/code\u003e, \u003ccode\u003ereceiver_connected\u003c/code\u003e, \u003ccode\u003eSignal.temporarily_connected_to\u003c/code\u003e and \u003ccode\u003eWeakNamespace\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets-eco/blinker/issues/172\"\u003e#172\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip weakref signal cleanup if the interpreter is shutting down. \u003ca href=\"https://redirect.github.com/pallets-eco/blinker/issues/173\"\u003e#173\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets-eco/blinker/blob/main/CHANGES.rst\"\u003eblinker's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.9.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e175\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRemove previously deprecated \u003ccode\u003e__version__\u003c/code\u003e, \u003ccode\u003ereceiver_connected\u003c/code\u003e,\n\u003ccode\u003eSignal.temporarily_connected_to\u003c/code\u003e and \u003ccode\u003eWeakNamespace\u003c/code\u003e. :pr:\u003ccode\u003e172\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eSkip weakref signal cleanup if the interpreter is shutting down.\n:issue:\u003ccode\u003e173\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/669f3a027828d19786e708b511277fabcd6b9532\"\u003e\u003ccode\u003e669f3a0\u003c/code\u003e\u003c/a\u003e release version 1.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/cfe116fa7912d8dcb0deee4907aa63d1efaadf5b\"\u003e\u003ccode\u003ecfe116f\u003c/code\u003e\u003c/a\u003e try disabling attestions on test pypi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/16e4bd70a19353d9d7cf47e4df7de54936296377\"\u003e\u003ccode\u003e16e4bd7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pallets-eco/blinker/issues/174\"\u003e#174\u003c/a\u003e from projectgus/bugfix/weakref_disconnect_shutdown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/42561fdf065032f5c39aea04d8c3fb4db93f73f3\"\u003e\u003ccode\u003e42561fd\u003c/code\u003e\u003c/a\u003e Fix \u0026quot;Exception ignored\u0026quot; in weakref callback during interpreter shutdown.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/dcce3e97743494433025e0b68f742f3582b6ba6a\"\u003e\u003ccode\u003edcce3e9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pallets-eco/blinker/issues/175\"\u003e#175\u003c/a\u003e from pallets-eco/drop-python3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/efa95eaa080b0d4a8dcfc46ad1f387ea1ddebd97\"\u003e\u003ccode\u003eefa95ea\u003c/code\u003e\u003c/a\u003e drop support for python 3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/82305185358d8ce21619ec0f324688a14a89c23b\"\u003e\u003ccode\u003e8230518\u003c/code\u003e\u003c/a\u003e update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/94f1202f08c6d00a9fe1ecf5c8cba9da84e4b22f\"\u003e\u003ccode\u003e94f1202\u003c/code\u003e\u003c/a\u003e update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/8c983ecd764e1d113d24522838c2a7312460b7eb\"\u003e\u003ccode\u003e8c983ec\u003c/code\u003e\u003c/a\u003e remove previously deprecated code (\u003ca href=\"https://redirect.github.com/pallets-eco/blinker/issues/172\"\u003e#172\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/f5915f3bfcd9f9da0caf6cd4858bf68068c52963\"\u003e\u003ccode\u003ef5915f3\u003c/code\u003e\u003c/a\u003e set up pre-commit lite workflow\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets-eco/blinker/compare/1.8.2...1.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `build` from 1.2.2.post1 to 1.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/build/releases\"\u003ebuild's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--config-json\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/916\"\u003e#916\u003c/a\u003e, fixes issue \u003ca href=\"https://redirect.github.com/pypa/build/issues/900\"\u003e#900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop Python 3.8 (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/891\"\u003e#891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest on Python 3.14, colorful help on 3.14+ (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/895\"\u003e#895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eModuleNotFoundError\u003c/code\u003e when \u003ccode\u003epip\u003c/code\u003e is not installed (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/898\"\u003e#898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisable use of \u003ccode\u003epip install --python\u003c/code\u003e for debundled pip (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/861\"\u003e#861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't pass no-wheel to virtualenv if it would warn (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/892\"\u003e#892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimize our tests to run faster (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/871\"\u003e#871\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/872\"\u003e#872\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/738\"\u003e#738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow running our tests without virtualenv (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix issues in our tests (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/824\"\u003e#824\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/918\"\u003e#918\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/870\"\u003e#870\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/915\"\u003e#915\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/862\"\u003e#862\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/863\"\u003e#863\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/899\"\u003e#899\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/896\"\u003e#896\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/854\"\u003e#854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse SPDX identifiers for our license metadata (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/914\"\u003e#914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse dependency-groups for our development (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/880\"\u003e#880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMention conda and update uv mention in README/docs (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/842\"\u003e#842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/816\"\u003e#816\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/917\"\u003e#917\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/pypa/build/blob/main/CHANGELOG.rst\"\u003ebuild's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.3.0 (2025-08-01)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--config-json\u003c/code\u003e\n(PR :pr:\u003ccode\u003e916\u003c/code\u003e, fixes issue :issue:\u003ccode\u003e900\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDrop Python 3.8\n(PR :pr:\u003ccode\u003e891\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eTest on Python 3.14, colorful help on 3.14+\n(PR :pr:\u003ccode\u003e895\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eModuleNotFoundError\u003c/code\u003e when \u003ccode\u003epip\u003c/code\u003e is not installed\n(PR :pr:\u003ccode\u003e898\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDisable use of \u003ccode\u003epip install --python\u003c/code\u003e for debundled pip\n(PR :pr:\u003ccode\u003e861\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDon't pass no-wheel to virtualenv if it would warn\n(PR :pr:\u003ccode\u003e892\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eOptimize our tests to run faster\n(PR :pr:\u003ccode\u003e871\u003c/code\u003e, :pr:\u003ccode\u003e872\u003c/code\u003e, :pr:\u003ccode\u003e738\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAllow running our tests without virtualenv\n(PR :pr:\u003ccode\u003e911\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix issues in our tests\n(PR :pr:\u003ccode\u003e824\u003c/code\u003e, :pr:\u003ccode\u003e918\u003c/code\u003e, :pr:\u003ccode\u003e870\u003c/code\u003e, :pr:\u003ccode\u003e915\u003c/code\u003e, :pr:\u003ccode\u003e862\u003c/code\u003e, :pr:\u003ccode\u003e863\u003c/code\u003e, :pr:\u003ccode\u003e899\u003c/code\u003e, :pr:\u003ccode\u003e896\u003c/code\u003e, :pr:\u003ccode\u003e854\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse SPDX identifiers for our license metadata\n(PR :pr:\u003ccode\u003e914\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse dependency-groups for our development\n(PR :pr:\u003ccode\u003e880\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMention conda and update uv mention in README/docs\n(PR :pr:\u003ccode\u003e842\u003c/code\u003e, :pr:\u003ccode\u003e816\u003c/code\u003e, :pr:\u003ccode\u003e917\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.2.2 (2024-09-06)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd editable to \u003ccode\u003ebuilder.get_requries_for_build\u003c/code\u003e's static types\n(PR :pr:\u003ccode\u003e764\u003c/code\u003e, fixes issue :issue:\u003ccode\u003e763\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eInclude artifact attestations in our release\n(PR :pr:\u003ccode\u003e782\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix typing compatibility with typed \u003ccode\u003epyproject-hooks\u003c/code\u003e\n(PR :pr:\u003ccode\u003e788\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMark more tests with \u003ccode\u003enetwork\u003c/code\u003e\n(PR :pr:\u003ccode\u003e808\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd more intersphinx links to docs\n(PR :pr:\u003ccode\u003e804\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003euv\u003c/code\u003e optional for tests\n(PR :pr:\u003ccode\u003e807\u003c/code\u003e and :pr:\u003ccode\u003e813\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.2.1 (2024-03-28)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid error when terminal width is undetectable on Python \u0026lt; 3.11\n(PR :pr:\u003ccode\u003e761\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/pypa/build/commit/60e8752f69178d2b2c3563e9c8fa17aa6e11b12c\"\u003e\u003ccode\u003e60e8752\u003c/code\u003e\u003c/a\u003e chore: bump to 1.3.0 (\u003ca href=\"https://redirect.github.com/pypa/build/issues/919\"\u003e#919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/807cfba618bc4f7b13e938ffa395fffd82494383\"\u003e\u003ccode\u003e807cfba\u003c/code\u003e\u003c/a\u003e feat: add --config-json (\u003ca href=\"https://redirect.github.com/pypa/build/issues/916\"\u003e#916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/bf54ad04ffe30e7f7847ea0bcbc081b550830950\"\u003e\u003ccode\u003ebf54ad0\u003c/code\u003e\u003c/a\u003e tests: fix issues with ignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/53852df8d84d1d17afaa851d4e1cc3754676bb29\"\u003e\u003ccode\u003e53852df\u003c/code\u003e\u003c/a\u003e docs: uv example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/b983371befe0547b312aba36083b859d923d9bfc\"\u003e\u003ccode\u003eb983371\u003c/code\u003e\u003c/a\u003e tests: optional virtualenv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/6cd157ad0b614a76a13374032a4f56b65048c0be\"\u003e\u003ccode\u003e6cd157a\u003c/code\u003e\u003c/a\u003e Adopt PEP 639 \u0026quot;license\u0026quot; field (\u003ca href=\"https://redirect.github.com/pypa/build/issues/914\"\u003e#914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/bdaea367438b8e5ed3c26a7497eafc007084fbec\"\u003e\u003ccode\u003ebdaea36\u003c/code\u003e\u003c/a\u003e tests: fixes for errors in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/14d6508679e2ddb4a511b4b41e972cb374e9dadb\"\u003e\u003ccode\u003e14d6508\u003c/code\u003e\u003c/a\u003e pre-commit: bump repositories\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/59ac60e78e0dc5164355bd29eb99fb1cb2d7a59c\"\u003e\u003ccode\u003e59ac60e\u003c/code\u003e\u003c/a\u003e pre-commit: bump repositories\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/48ebd63cd7049dff737093c462970262ae1ceed0\"\u003e\u003ccode\u003e48ebd63\u003c/code\u003e\u003c/a\u003e pre-commit: bump repositories\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/build/compare/1.2.2.post1...1.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cachecontrol` from 0.14.3 to 0.14.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/cachecontrol/releases\"\u003ecachecontrol's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.16 to 3.28.17 in the 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/psf/cachecontrol/pull/382\"\u003epsf/cachecontrol#382\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.17 to 3.28.18 in the 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/psf/cachecontrol/pull/383\"\u003epsf/cachecontrol#383\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump astral-sh/setup-uv from 6.0.1 to 6.1.0 in the 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/psf/cachecontrol/pull/385\"\u003epsf/cachecontrol#385\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(ci): cleanup, add Python 3.14 by \u003ca href=\"https://github.com/woodruffw\"\u003e\u003ccode\u003e@​woodruffw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/psf/cachecontrol/pull/392\"\u003epsf/cachecontrol#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix typo by \u003ca href=\"https://github.com/zackzack38\"\u003e\u003ccode\u003e@​zackzack38\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/psf/cachecontrol/pull/388\"\u003epsf/cachecontrol#388\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: prepare for 0.14.4 by \u003ca href=\"https://github.com/woodruffw\"\u003e\u003ccode\u003e@​woodruffw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/psf/cachecontrol/pull/394\"\u003epsf/cachecontrol#394\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/zackzack38\"\u003e\u003ccode\u003e@​zackzack38\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/cachecontrol/pull/388\"\u003epsf/cachecontrol#388\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/cachecontrol/compare/v0.14.3...v0.14.4\"\u003ehttps://github.com/psf/cachecontrol/compare/v0.14.3...v0.14.4\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/cachecontrol/blob/master/docs/release_notes.rst\"\u003ecachecontrol's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e0.14.4\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eExplicitly support Python 3.14.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/cachecontrol/commit/aba0315599d7d4200074ab3606384732be7bbc25\"\u003e\u003ccode\u003eaba0315\u003c/code\u003e\u003c/a\u003e chore: prepare for 0.14.4 (\u003ca href=\"https://redirect.github.com/psf/cachecontrol/issues/394\"\u003e#394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/cachecontrol/commit/e8a968302db0bab1d8016b1da07440803eb230c6\"\u003e\u003ccode\u003ee8a9683\u003c/code\u003e\u003c/a\u003e fix typo (\u003ca href=\"https://redirect.github.com/psf/cachecontrol/issues/388\"\u003e#388\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/cachecontrol/commit/02df424c36e1103c90131879949c12b8254b64dd\"\u003e\u003ccode\u003e02df424\u003c/code\u003e\u003c/a\u003e chore(ci): cleanup, add Python 3.14 (\u003ca href=\"https://redirect.github.com/psf/cachecontrol/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/cachecontrol/commit/9af76f749721ef7ee27e692c5c62a19aedab7731\"\u003e\u003ccode\u003e9af76f7\u003c/code\u003e\u003c/a\u003e build(deps): bump astral-sh/setup-uv in the actions group (\u003ca href=\"https://redirect.github.com/psf/cachecontrol/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/cachecontrol/commit/3f169f69e3871340833535380306b43735b5b0a9\"\u003e\u003ccode\u003e3f169f6\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/psf/cachecontrol/issues/383\"\u003e#383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/cachecontrol/commit/3e0c8f2fbd85bc1d64ecaac7d6b0e838a8dae8f7\"\u003e\u003ccode\u003e3e0c8f2\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/psf/cachecontrol/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/psf/cachecontrol/compare/v0.14.3...v0.14.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cachetools` from 6.2.0 to 6.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tkem/cachetools/blob/master/CHANGELOG.rst\"\u003ecachetools's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev6.2.2 (2025-11-13)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMinor improvements from GitHub Copilot code review.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImprove documentation.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev6.2.1 (2025-10-12)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for Python 3.14.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImprove documentation.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate CI environment.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/4ee2600ab09b109f79d4ef08103240bf9f239b2d\"\u003e\u003ccode\u003e4ee2600\u003c/code\u003e\u003c/a\u003e Release v6.2.2.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/f1cec391fea1a1e407fe596b6e37b849adf7fce5\"\u003e\u003ccode\u003ef1cec39\u003c/code\u003e\u003c/a\u003e Minor improvements from GitHub Copilot code review.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/e9117dc1e18389341ce4836f171e23d89f306b65\"\u003e\u003ccode\u003ee9117dc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tkem/cachetools/issues/371\"\u003e#371\u003c/a\u003e from RektPunk/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/6774af212c0c95c2179f2644023fac74317d0262\"\u003e\u003ccode\u003e6774af2\u003c/code\u003e\u003c/a\u003e fix typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/4d8fc20d9eac2cf93d0d938127f6dd3c30441c22\"\u003e\u003ccode\u003e4d8fc20\u003c/code\u003e\u003c/a\u003e docs: add cachetools-async to related projects in README (\u003ca href=\"https://redirect.github.com/tkem/cachetools/issues/369\"\u003e#369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/ca7508fd56103a1b6d6f17c8e93e36c60b44ca25\"\u003e\u003ccode\u003eca7508f\u003c/code\u003e\u003c/a\u003e Release v6.2.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/f7193077decbbeddbbb76677a1d8912a454886f2\"\u003e\u003ccode\u003ef719307\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/tkem/cachetools/issues/339\"\u003e#339\u003c/a\u003e: Improve documentation regarding funtion default arguments.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/b32d00b7d4ca95ba67edfa3167c81938761ae09a\"\u003e\u003ccode\u003eb32d00b\u003c/code\u003e\u003c/a\u003e Fix typos.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/a9a7e2cc8f2f6ab3403d5b967e3324cf237878c0\"\u003e\u003ccode\u003ea9a7e2c\u003c/code\u003e\u003c/a\u003e Move extended \u003ca href=\"https://github.com/ttl\"\u003e\u003ccode\u003e@​ttl\u003c/code\u003e\u003c/a\u003e_cache docs to proper place.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/072b7e1724b5f608e611ba6d40162722012c9149\"\u003e\u003ccode\u003e072b7e1\u003c/code\u003e\u003c/a\u003e docs: clarify what units the \u003ccode\u003ettl\u003c/code\u003e argument uses (i.e., seconds)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tkem/cachetools/compare/v6.2.0...v6.2.2\"\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.0 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\u003ch2\u003eVersion 3.4.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.2...3.4.3\"\u003e3.4.3\u003c/a\u003e (2025-08-09)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emypy(c) is no longer a required dependency at build time if \u003ccode\u003eCHARSET_NORMALIZER_USE_MYPYC\u003c/code\u003e isn't set to \u003ccode\u003e1\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/595\"\u003e#595\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/583\"\u003e#583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eautomatically lower confidence on small bytes samples that are not Unicode in \u003ccode\u003edetect\u003c/code\u003e output legacy function. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCustom build backend to overcome inability to mark mypy as an optional dependency in the build phase.\u003c/li\u003e\n\u003cli\u003eSupport for Python 3.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esdist archive contained useless directories.\u003c/li\u003e\n\u003cli\u003eautomatically fallback on valid UTF-16 or UTF-32 even if the md says it's noisy. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/633\"\u003e#633\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSBOM are automatically published to the relevant GitHub release to comply with regulatory changes.\nEach published wheel comes with its SBOM. We choose CycloneDX as the format.\u003c/li\u003e\n\u003cli\u003ePrebuilt optimized wheel are no longer distributed by default for CPython 3.7 due to a change in cibuildwheel.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.4.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.1...3.4.2\"\u003e3.4.2\u003c/a\u003e (2025-05-02)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAddressed the DeprecationWarning in our CLI regarding \u003ccode\u003eargparse.FileType\u003c/code\u003e by backporting the target class into the package. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/591\"\u003e#591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved the overall reliability of the detector with CJK Ideographs. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/605\"\u003e#605\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/587\"\u003e#587\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptional mypyc compilation upgraded to version 1.15 for Python \u0026gt;= 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.4.1\u003c/h2\u003e\n\u003ch2\u003e🚀 We're still raising awareness around HTTP/2, and HTTP/3!\u003c/h2\u003e\n\u003cp\u003eDid you know that Internet Explorer 11 shipped with an optional HTTP/2 support back in 2013? also libcurl did ship it in 2014[...]\nUsing Requests today is the rough equivalent of using EOL Windows 8!  We promptly invite Python developers to look at the first drop-in replacement for Requests, \u003ca href=\"https://github.com/jawah/niquests\"\u003enamely Niquests\u003c/a\u003e. Ship with native WebSocket, SSE, Happy Eyeballs, DNS over HTTPS, and so on[...] All of this while remaining compatible with all Requests prior plug-ins / add-ons.\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/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\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.2...3.4.3\"\u003e3.4.3\u003c/a\u003e (2025-08-09)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emypy(c) is no longer a required dependency at build time if \u003ccode\u003eCHARSET_NORMALIZER_USE_MYPYC\u003c/code\u003e isn't set to \u003ccode\u003e1\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/595\"\u003e#595\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/583\"\u003e#583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eautomatically lower confidence on small bytes samples that are not Unicode in \u003ccode\u003edetect\u003c/code\u003e output legacy function. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCustom build backend to overcome inability to mark mypy as an optional dependency in the build phase.\u003c/li\u003e\n\u003cli\u003eSupport for Python 3.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esdist archive contained useless directories.\u003c/li\u003e\n\u003cli\u003eautomatically fallback on valid UTF-16 or UTF-32 even if the md says it's noisy. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/633\"\u003e#633\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSBOM are automatically published to the relevant GitHub release to comply with regulatory changes.\nEach published wheel comes with its SBOM. We choose CycloneDX as the format.\u003c/li\u003e\n\u003cli\u003ePrebuilt optimized wheel are no longer distributed by default for CPython 3.7 due to a change in cibuildwheel.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.1...3.4.2\"\u003e3.4.2\u003c/a\u003e (2025-05-02)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAddressed the DeprecationWarning in our CLI regarding \u003ccode\u003eargparse.FileType\u003c/code\u003e by backporting the target class into the package. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/591\"\u003e#591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved the overall reliability of the detector with CJK Ideographs. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/605\"\u003e#605\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/587\"\u003e#587\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptional mypyc compilation upgraded to version 1.15 for Python \u0026gt;= 3.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.0...3.4.1\"\u003e3.4.1\u003c/a\u003e (2024-12-24)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eProject metadata are now stored using \u003ccode\u003epyproject.toml\u003c/code\u003e instead of \u003ccode\u003esetup.cfg\u003c/code\u003e using setuptools as the build backend.\u003c/li\u003e\n\u003cli\u003eEnforce annotation delayed loading for a simpler and consistent types in the project.\u003c/li\u003e\n\u003cli\u003eOptional mypyc compilation upgraded to version 1.14 for Python \u0026gt;= 3.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\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/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.0...3.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cli-helpers` from 2.3.1 to 2.7.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dbcli/cli_helpers/blob/main/CHANGELOG\"\u003ecli-helpers's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.7.0\u003c/h2\u003e\n\u003cp\u003e(released on 2025-07-28)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003emysql\u003c/code\u003e and \u003ccode\u003emysql_unicode\u003c/code\u003e output formats which right-align numbers.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 2.6.0\u003c/h2\u003e\n\u003cp\u003e(released on 2025-07-12)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRegister the JSON formats so they are actually usable.\u003c/li\u003e\n\u003cli\u003eMake JSON formats able to encode Decimals and None/NULLs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 2.5.0\u003c/h2\u003e\n\u003cp\u003e(released on 2025-07-10)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded noheader CSV and TSV output formats.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ejsonl\u003c/code\u003e and \u003ccode\u003ejsonl_escaped\u003c/code\u003e output formats.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 2.4.0\u003c/h2\u003e\n\u003cp\u003e(released on 2025-03-10)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded format_timestamps preprocessor for per-column date/time formatting.\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/dbcli/cli_helpers/commit/c34ae9fc68c4c8a74124c2cd416fc06148d71445\"\u003e\u003ccode\u003ec34ae9f\u003c/code\u003e\u003c/a\u003e Releasing version 2.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dbcli/cli_helpers/commit/c0d127c362583fe96ca1a49a6365187f9a03cffb\"\u003e\u003ccode\u003ec0d127c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/dbcli/cli_helpers/issues/96\"\u003e#96\u003c/a\u003e from dbcli/RW/add-mysql-output-formats\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dbcli/cli_helpers/commit/6f804e9636499f2c37154192e8d60c47670403cc\"\u003e\u003ccode\u003e6f804e9\u003c/code\u003e\u003c/a\u003e add mysql/mysql_unicode output formats\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dbcli/cli_helpers/commit/22881bb13b98f0fdf85faf61af3c5c92a2184044\"\u003e\u003ccode\u003e22881bb\u003c/code\u003e\u003c/a\u003e Releasing version 2.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dbcli/cli_helpers/commit/090a529385052852115f7274ce3a0915820610e4\"\u003e\u003ccode\u003e090a529\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/dbcli/cli_helpers/issues/95\"\u003e#95\u003c/a\u003e from dbcli/RW/changelog-v2-6-0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dbcli/cli_helpers/commit/a94997008b955647a4d0c5951b5d19b9105efc36\"\u003e\u003ccode\u003ea949970\u003c/code\u003e\u003c/a\u003e update changelog for release v2.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dbcli/cli_helpers/commit/789daf491d2945f23e2359f6a3ae93067cf31e7b\"\u003e\u003ccode\u003e789daf4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/dbcli/cli_helpers/issues/94\"\u003e#94\u003c/a\u003e from dbcli/RW/json-format-followups\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dbcli/cli_helpers/commit/49bfdb922915a9906ca6af23e1cab9216b055253\"\u003e\u003ccode\u003e49bfdb9\u003c/code\u003e\u003c/a\u003e followups for JSON output formats\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dbcli/cli_helpers/commit/0edf14eabfaaf556d75560ae2bfd674ed2276ba9\"\u003e\u003ccode\u003e0edf14e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/dbcli/cli_helpers/issues/93\"\u003e#93\u003c/a\u003e from dbcli/RW/prepare-v2-5-0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dbcli/cli_helpers/commit/24fb5fc2bdc561301c34e3e7e572a51352741ba2\"\u003e\u003ccode\u003e24fb5fc\u003c/code\u003e\u003c/a\u003e bump version for v2.5.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dbcli/cli_helpers/compare/v2.3.1...v2.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.7 to 8.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.1\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.1/\"\u003ehttps://pypi.org/project/click/8.3.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-1\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-1\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/28\"\u003ehttps://github.com/pallets/click/milestone/28\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3039\"\u003e#3039\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3055\"\u003e#3055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through the \u003ccode\u003eContext.invoke()\u003c/code\u003e method. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3066\"\u003e#3066\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3068\"\u003e#3068\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect behavior for multiple parameters using the same name. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3071\"\u003e#3071\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3079\"\u003e#3079\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is empty. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3019\"\u003e#3019\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3021\"\u003e#3021\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to \u003ccode\u003etype_cast_value\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3069\"\u003e#3069\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3090\"\u003e#3090\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters through the context inside parameter callbacks. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3136\"\u003e#3136\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-11-15\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. :issue:\u003ccode\u003e3039\u003c/code\u003e\n:pr:\u003ccode\u003e3055\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through\nthe \u003ccode\u003eContext.invoke()\u003c/code\u003e method. :issue:\u003ccode\u003e3066\u003c/code\u003e :issue:\u003ccode\u003e3065\u003c/code\u003e :pr:\u003ccode\u003e3068\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect\nbehavior for multiple parameters using the same name. :issue:\u003ccode\u003e3071\u003c/code\u003e :pr:\u003ccode\u003e3079\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters\nthrough the context inside parameter callbacks. :issue:\u003ccode\u003e3136\u003c/code\u003e :pr:\u003ccode\u003e3137\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is\nempty. :issue:\u003ccode\u003e3019\u003c/code\u003e :pr:\u003ccode\u003e3021\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to\n\u003ccode\u003etype_cast_value\u003c/code\u003e. :issue:\u003ccode\u003e3069\u003c/code\u003e :pr:\u003ccode\u003e3090\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in \u003ccode\u003eCliRunner\u003c/code\u003e. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/1d038f270701498433cb432f54db89f95f07a845\"\u003e\u003ccode\u003e1d038f2\u003c/code\u003e\u003c/a\u003e release version 8.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/03f3889f505d0c9ca4f9d6810f9e4ba2799f2a66\"\u003e\u003ccode\u003e03f3889\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3141\"\u003e#3141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/3867781222cb63693ca67df94352d29d8e6e2770\"\u003e\u003ccode\u003e3867781\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/b91bb9548a5617b1197add95e084d569f57149c3\"\u003e\u003ccode\u003eb91bb95\u003c/code\u003e\u003c/a\u003e Provide altered context to callbacks to hide \u003ccode\u003eUNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/437e1e3295c7ec979fc1bf285bb402ca20d847e7\"\u003e\u003ccode\u003e437e1e3\u003c/code\u003e\u003c/a\u003e Temporarily provide a fake context to the callback to hide \u003ccode\u003eUNSET\u003c/code\u003e values as ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/ea70da487b05d6bb758d472a3a9ffab4a5b7fcd5\"\u003e\u003ccode\u003eea70da4\u003c/code\u003e\u003c/a\u003e Don't test using a file in docs/ (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3102\"\u003e#3102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e27b307462b725722f620c69dd1d5509c032d18a\"\u003e\u003ccode\u003ee27b307\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003euv run --all-extras pyright --verifytypes click\u003c/code\u003e pass (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3072\"\u003e#3072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/a92c573f3195c9da3058eadf1735d38af186d22c\"\u003e\u003ccode\u003ea92c573\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3129\"\u003e#3129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/bd131e1ab63da2281d6dd9b8205ad2eb5...\n\n_Description has been truncated_","html_url":"https://github.com/magic-ai-trading-bot/bot-core/pull/76","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/magic-ai-trading-bot%2Fbot-core/issues/76","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/76/packages"},{"uuid":"3657021932","node_id":"PR_kwDOAt0r8c61GfAp","number":3601,"state":"closed","title":"Bump the requirements group with 11 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-11-24T11:17:57.000Z","author_association":null,"state_reason":null,"created_at":"2025-11-24T04:21:57.000Z","updated_at":"2025-11-24T11:18:05.000Z","time_to_close":24960,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"requirements","update_count":11,"packages":[{"name":"numpy","old_version":"2.3.2","new_version":"2.3.5","repository_url":"https://github.com/numpy/numpy"},{"name":"ipywidgets","old_version":"8.1.7","new_version":"8.1.8","repository_url":"https://github.com/jupyter-widgets/ipywidgets"},{"name":"setuptools-scm","old_version":"8.3.1","new_version":"9.2.2","repository_url":"https://github.com/pypa/setuptools-scm"},{"name":"lmdb","old_version":"1.7.3","new_version":"1.7.5","repository_url":"https://github.com/jnwatson/py-lmdb"},{"name":"redis","old_version":"6.4.0","new_version":"7.1.0","repository_url":"https://github.com/redis/redis-py"},{"name":"pymongo","old_version":"4.14.0","new_version":"4.15.4","repository_url":"https://github.com/mongodb/mongo-python-driver"},{"name":"pytest-cov","old_version":"6.2.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-doctestplus","old_version":"1.4.0","new_version":"1.6.0","repository_url":"https://github.com/scientific-python/pytest-doctestplus"},{"name":"h5py","old_version":"3.14.0","new_version":"3.15.1","repository_url":"https://github.com/h5py/h5py"},{"name":"fasteners","old_version":"0.19","new_version":"0.20","repository_url":"https://github.com/harlowja/fasteners"},{"name":"pytest","old_version":"8.4.1","new_version":"9.0.1","repository_url":"https://github.com/pytest-dev/pytest"}],"path":null,"ecosystem":"pip"},"body":"Bumps the requirements group with 11 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [numpy](https://github.com/numpy/numpy) | `2.3.2` | `2.3.5` |\n| [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) | `8.1.7` | `8.1.8` |\n| [setuptools-scm](https://github.com/pypa/setuptools-scm) | `8.3.1` | `9.2.2` |\n| [lmdb](https://github.com/jnwatson/py-lmdb) | `1.7.3` | `1.7.5` |\n| [redis](https://github.com/redis/redis-py) | `6.4.0` | `7.1.0` |\n| [pymongo](https://github.com/mongodb/mongo-python-driver) | `4.14.0` | `4.15.4` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.2.1` | `7.0.0` |\n| [pytest-doctestplus](https://github.com/scientific-python/pytest-doctestplus) | `1.4.0` | `1.6.0` |\n| [h5py](https://github.com/h5py/h5py) | `3.14.0` | `3.15.1` |\n| [fasteners](https://github.com/harlowja/fasteners) | `0.19` | `0.20` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.1` | `9.0.1` |\n\nUpdates `numpy` from 2.3.2 to 2.3.5\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.5 (Nov 16, 2025)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.3.5 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.3.5 release is a patch release split between a number of maintenance\nupdates and bug fixes. This release supports Python versions 3.11-3.14.\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eA total of 10 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\u003eAaron Kollasch +\u003c/li\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003eRafael Laboissière +\u003c/li\u003e\n\u003cli\u003eSayed Awad\u003c/li\u003e\n\u003cli\u003eSebastian Berg\u003c/li\u003e\n\u003cli\u003eWarren Weckesser\u003c/li\u003e\n\u003cli\u003eYasir Ashfaq +\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 16 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/29979\"\u003e#29979\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/30026\"\u003e#30026\u003c/a\u003e: SIMD, BLD: Backport FPMATH mode on x86-32 and filter successor...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30029\"\u003e#30029\u003c/a\u003e: MAINT: Backport write_release.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30041\"\u003e#30041\u003c/a\u003e: TYP: Various typing updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30059\"\u003e#30059\u003c/a\u003e: BUG: Fix np.strings.slice if stop=None or start and stop \u0026gt;= len...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30063\"\u003e#30063\u003c/a\u003e: BUG: Fix np.strings.slice if start \u0026gt; stop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30076\"\u003e#30076\u003c/a\u003e: BUG: avoid negating INT_MIN in PyArray_Round implementation (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30071\"\u003e#30071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30090\"\u003e#30090\u003c/a\u003e: BUG: Fix resize when it contains references (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29970\"\u003e#29970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30129\"\u003e#30129\u003c/a\u003e: BLD: update scipy-openblas, use -Dpkg_config_path (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30049\"\u003e#30049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30130\"\u003e#30130\u003c/a\u003e: BUG: Avoid compilation error of wrapper file generated with SWIG...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30157\"\u003e#30157\u003c/a\u003e: BLD: use scipy-openblas 0.3.30.7 (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30132\"\u003e#30132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30158\"\u003e#30158\u003c/a\u003e: DOC: Remove nonexistent \u003ccode\u003eorder\u003c/code\u003e parameter docs of \u003ccode\u003ema.asanyarray\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30185\"\u003e#30185\u003c/a\u003e: BUG: Fix check of PyMem_Calloc return value. (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30176\"\u003e#30176\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30217\"\u003e#30217\u003c/a\u003e: DOC: fix links for newly rebuilt numpy-tutorials site\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30218\"\u003e#30218\u003c/a\u003e: BUG: Fix build on s390x with clang (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30214\"\u003e#30214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30237\"\u003e#30237\u003c/a\u003e: ENH: Make FPE blas check a runtime check for all apple arm systems\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.3.4 (Oct 15,  2025)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.3.4 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.3.4 release is a patch release split between a number of maintenance\nupdates and bug fixes. This release supports Python versions 3.11-3.14. This\nrelease is based on Python 3.14.0 final.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/c3d60fc8393f3ca3306b8ce8b6453d43737e3d90\"\u003e\u003ccode\u003ec3d60fc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30238\"\u003e#30238\u003c/a\u003e from charris/prepare-2.3.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/11451fa35d49d8c809cdef87106417833bdacfbe\"\u003e\u003ccode\u003e11451fa\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.3.5 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/eab5bd47df62782edceccf4cf99112851f7a8975\"\u003e\u003ccode\u003eeab5bd4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30237\"\u003e#30237\u003c/a\u003e from charris/backport-30102\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7cea31aa6255994bcd17b3ee2f6dbf671eaa9598\"\u003e\u003ccode\u003e7cea31a\u003c/code\u003e\u003c/a\u003e Fixup merge of multiarraymodule.c\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/b8981736060011506e497c5bca24a75c5bddee39\"\u003e\u003ccode\u003eb898173\u003c/code\u003e\u003c/a\u003e Update numpy/_core/src/common/blas_utils.h\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f755483d4858839044f159db7dacdf1818912393\"\u003e\u003ccode\u003ef755483\u003c/code\u003e\u003c/a\u003e Report FPE ignoring in matmul in \u003ccode\u003eshow_runtime()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/c47116f3858a2814222a7cd7b15ebc5eed9df4d0\"\u003e\u003ccode\u003ec47116f\u003c/code\u003e\u003c/a\u003e Move test to Python\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/bd7b93f105ddb3b3f200ceb6fb4516e7e87f3a81\"\u003e\u003ccode\u003ebd7b93f\u003c/code\u003e\u003c/a\u003e ooops, needs to be a calloc of course.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/83a1517159a2e33d05113e3341afb1df83ba615d\"\u003e\u003ccode\u003e83a1517\u003c/code\u003e\u003c/a\u003e Guard for HAVE_CBLAS and always compile the helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/ab680efe63a4f87078b7317742767581b8959d78\"\u003e\u003ccode\u003eab680ef\u003c/code\u003e\u003c/a\u003e ENH: Make FPE blas check a runtime check for all arm systems\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.3.2...v2.3.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ipywidgets` from 8.1.7 to 8.1.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/releases\"\u003eipywidgets's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd JupyterCon banner and jupyter colors by \u003ca href=\"https://github.com/choldgraf\"\u003e\u003ccode\u003e@​choldgraf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3998\"\u003ejupyter-widgets/ipywidgets#3998\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix badge formatting in README.md by \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4000\"\u003ejupyter-widgets/ipywidgets#4000\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Plausible web stats by \u003ca href=\"https://github.com/jasongrout\"\u003e\u003ccode\u003e@​jasongrout\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4003\"\u003ejupyter-widgets/ipywidgets#4003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate jupyterlab_widgets metadata to indicate it works with JupyterLab 4 by \u003ca href=\"https://github.com/jasongrout\"\u003e\u003ccode\u003e@​jasongrout\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4004\"\u003ejupyter-widgets/ipywidgets#4004\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/choldgraf\"\u003e\u003ccode\u003e@​choldgraf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3998\"\u003ejupyter-widgets/ipywidgets#3998\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\"\u003ehttps://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\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\u003eSee full diff in \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `setuptools-scm` from 8.3.1 to 9.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/setuptools-scm/releases\"\u003esetuptools-scm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.2.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: don't warn about tool.setuptools.dynamic.version when only using file finder by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1232\"\u003epypa/setuptools-scm#1232\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/setuptools-scm/compare/v9.2.1...v9.2.2\"\u003ehttps://github.com/pypa/setuptools-scm/compare/v9.2.1...v9.2.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev9.2.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMark recently yanked versions in changelog by \u003ca href=\"https://github.com/seifertm\"\u003e\u003ccode\u003e@​seifertm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1209\"\u003epypa/setuptools-scm#1209\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix 1216 explicitly deprecate setuptools dynamic version when active by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1219\"\u003epypa/setuptools-scm#1219\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eprepare Release v9.2.1 by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1226\"\u003epypa/setuptools-scm#1226\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/seifertm\"\u003e\u003ccode\u003e@​seifertm\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1209\"\u003epypa/setuptools-scm#1209\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/setuptools-scm/compare/v9.2.0...v9.2.1\"\u003ehttps://github.com/pypa/setuptools-scm/compare/v9.2.0...v9.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev9.2.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereiterate version inference by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1202\"\u003epypa/setuptools-scm#1202\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003esimple activation now requires a extra instead of setting up many pre-existing projects for failure/error\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/setuptools-scm/compare/v9.1.1...v9.2.0\"\u003ehttps://github.com/pypa/setuptools-scm/compare/v9.1.1...v9.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev9.1.1 (yanked)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ehandle missing pyproject config in case version keyword is used by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1195\"\u003epypa/setuptools-scm#1195\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/setuptools-scm/compare/v9.1.0...v9.1.1\"\u003ehttps://github.com/pypa/setuptools-scm/compare/v9.1.0...v9.1.1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eyanked after hitting regressions wrt legcy project setups triggering auto activate\u003c/p\u003e\n\u003ch2\u003ev9.1.0 (yanked)\u003c/h2\u003e\n\u003ch1\u003eyanked\u003c/h1\u003e\n\u003cp\u003ea regression makes some sdists report version 0.0.0\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereiterate version inference logic by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1193\"\u003epypa/setuptools-scm#1193\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/pypa/setuptools-scm/blob/main/CHANGELOG.md\"\u003esetuptools-scm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.2.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1231\"\u003e#1231\u003c/a\u003e: don't warn about \u003ccode\u003etool.setuptools.dynamic.version\u003c/code\u003e when only using file finder.\nThe warning about combining version guessing with setuptools dynamic versions should only\nbe issued when setuptools-scm is performing version inference, not when it's only being\nused for its file finder functionality.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.2.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1216\"\u003e#1216\u003c/a\u003e: accept and create a warning for usages of \u003ccode\u003eversion = attr:\u003c/code\u003e in setuptools config.\nunfortunately dozens of projects cargo-culted that antipattern\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.2.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eadd simplified activation via \u003ccode\u003esetuptools-scm[simple]\u003c/code\u003e extra\u003c/p\u003e\n\u003cp\u003eA new streamlined way to enable version inference without requiring a \u003ccode\u003e[tool.setuptools_scm]\u003c/code\u003e section.\nWhen \u003ccode\u003esetuptools-scm[simple]\u003c/code\u003e is in \u003ccode\u003ebuild-system.requires\u003c/code\u003e and \u003ccode\u003eversion\u003c/code\u003e is in \u003ccode\u003eproject.dynamic\u003c/code\u003e,\nversion inference is automatically enabled with default settings.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eunchecked simplified activation - too many projects use setups where it would fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefine activation logic and add unittest for the relevant cases instead of trying to speedrun setuptools\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.1.1 (yanked)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1194\"\u003e#1194\u003c/a\u003e: correctly handle version keyword when pyproject metadata is missing\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.1.0 (yanked)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecomplete reiteration of the decision logic for enabling version inference on setuptools_scm\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/e56b78fcd4c1e79aa36c1e4700fca34c8ff540fe\"\u003e\u003ccode\u003ee56b78f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1232\"\u003e#1232\u003c/a\u003e from RonnyPfannschmidt/fix-1231-dont-warn-when-no-guess\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/4f55e9585e398e13103112a6fd488109d9da4ead\"\u003e\u003ccode\u003e4f55e95\u003c/code\u003e\u003c/a\u003e docs: update changelog for v9.2.2 patch release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/95a0c47553ea0b373238bb64aa344b2c2547c849\"\u003e\u003ccode\u003e95a0c47\u003c/code\u003e\u003c/a\u003e fix: don't warn about tool.setuptools.dynamic.version when only using file fi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/338f562e6a38f8d32fd5aeb4677b3f87fc5a0122\"\u003e\u003ccode\u003e338f562\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1226\"\u003e#1226\u003c/a\u003e from RonnyPfannschmidt/prepare-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/a893634c36a074052ed3f6d0e77b076b582c72ab\"\u003e\u003ccode\u003ea893634\u003c/code\u003e\u003c/a\u003e Prepare release v9.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/ad83282242e96fe11c958227740ee03a7a2ed0fe\"\u003e\u003ccode\u003ead83282\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1225\"\u003e#1225\u003c/a\u003e from pypa/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/20a44648f299f64b1241a448bdbafde9b1871ebf\"\u003e\u003ccode\u003e20a4464\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/70f69429c40f8c8d3c4e0eec2d8b4a6794671c88\"\u003e\u003ccode\u003e70f6942\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1219\"\u003e#1219\u003c/a\u003e from RonnyPfannschmidt/fix-1216-explicitly-deprecate...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/14d85c0fb8fa9efd1ec4bac3413f48aea0e319f5\"\u003e\u003ccode\u003e14d85c0\u003c/code\u003e\u003c/a\u003e Install Mercurial on Windows runners via Chocolatey\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/8c5cec917123e4cc87b490f56b6e7af27a3b0399\"\u003e\u003ccode\u003e8c5cec9\u003c/code\u003e\u003c/a\u003e Fix API stability check workflow to install griffe and improve reporting\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/setuptools-scm/compare/v8.3.1...v9.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lmdb` from 1.7.3 to 1.7.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jnwatson/py-lmdb/blob/master/ChangeLog\"\u003elmdb's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e2025-10-14 1.7.5\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCI-only: Fix generation of 3.14 binaries.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e2025-10-14 1.7.4 -- yanked\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCI-only: Generate Python 3.14 binaries.\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/jnwatson/py-lmdb/commit/4e5c2ebf47ff1da60c01254bfdcac116c893abfc\"\u003e\u003ccode\u003e4e5c2eb\u003c/code\u003e\u003c/a\u003e Bump version to 1.7.5 for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnwatson/py-lmdb/commit/9c7dd9212d20512ced2c5aae593508ab592433bd\"\u003e\u003ccode\u003e9c7dd92\u003c/code\u003e\u003c/a\u003e Update cibuildwheel version to build 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnwatson/py-lmdb/commit/aa5a921430374e9ee11f5d36d0c3f408a494e9a0\"\u003e\u003ccode\u003eaa5a921\u003c/code\u003e\u003c/a\u003e Fix android issue (\u003ca href=\"https://redirect.github.com/jnwatson/py-lmdb/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnwatson/py-lmdb/commit/d46f05741b2d8d60a3b8b07d6550de356075149d\"\u003e\u003ccode\u003ed46f057\u003c/code\u003e\u003c/a\u003e Bump version to 1.7.4 for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnwatson/py-lmdb/commit/28105a344da9e99078994277ed4dc0f13249fcc8\"\u003e\u003ccode\u003e28105a3\u003c/code\u003e\u003c/a\u003e Update CI for Python 3.14\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jnwatson/py-lmdb/compare/py-lmdb_1.7.3...py-lmdb_1.7.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `redis` from 6.4.0 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/redis/redis-py/releases\"\u003eredis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.1.0\u003c/h2\u003e\n\u003ch1\u003eChanges\u003c/h1\u003e\n\u003ch2\u003e🚀 New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdding MSETEX command support. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3823\"\u003e#3823\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding CLAIM option to XREADGROUP command + unit tests (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3825\"\u003e#3825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eApply routing and response aggregation policies in OSS Cluster mode (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3834\"\u003e#3834\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Experimental Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdding support for CAS/CAD commands. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3837\"\u003e#3837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding support for HYBRID search. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3813\"\u003e#3813\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3843\"\u003e#3843\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🔥 Breaking changes (in experimental features)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace default health check and failure detector with custom (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3822\"\u003e#3822\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd **options to parse functions for sentinel (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3831\"\u003e#3831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenerating unique command cache key (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3765\"\u003e#3765\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdding Redis 8.4 RC1 image to test matrix. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3820\"\u003e#3820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove Python 3.9 support. Add Python 3.14 support. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3814\"\u003e#3814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSync readme with 7.0.1 and update lib version to latest stable released version - 7.0.1 (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3821\"\u003e#3821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump rojopolis/spellcheck-github-actions from 0.52.0 to 0.53.0 (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3827\"\u003e#3827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump actions/upload-artifact from 4 to 5 (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3828\"\u003e#3828\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump github/codeql-action from 3 to 4 (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3829\"\u003e#3829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixing flaky tests (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3833\"\u003e#3833\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3838\"\u003e#3838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate 8.4 RC image tag to 8.4-RC1-pre.2 for pipeline test matrix (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3832\"\u003e#3832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing f-string when returning an error. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3841\"\u003e#3841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding latest 8.4 image to test matrix. Updating the Hybrid VSIM query format to be in sync with spec after srv issue was fixed. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3843\"\u003e#3843\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand cluster READ_COMMANDS with additional read-only commands and reorganize the list of commands by category (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3845\"\u003e#3845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Type Hints for List Command Parameters from str to KeyT (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3848\"\u003e#3848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanging log level to be debug for failed maintenance notification enablement when enabled='auto' (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3851\"\u003e#3851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded custom event handler section (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3853\"\u003e#3853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanging current version to 8.4 as it is already GA (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3854\"\u003e#3854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWe'd like to thank all the contributors who worked on this release!\n\u003ca href=\"https://github.com/ShubhamKaudewar\"\u003e\u003ccode\u003e@​ShubhamKaudewar\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/matthewwiese\"\u003e\u003ccode\u003e@​matthewwiese\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/peperon\"\u003e\u003ccode\u003e@​peperon\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vladvildanov\"\u003e\u003ccode\u003e@​vladvildanov\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/petyaslavova\"\u003e\u003ccode\u003e@​petyaslavova\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e7.0.1\u003c/h2\u003e\n\u003ch1\u003eChanges\u003c/h1\u003e\n\u003cp\u003eThis release adds small fixes related to documentation.\u003c/p\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd 'multi_database' section to documentation index (313d93f)\u003c/li\u003e\n\u003cli\u003eRevised multi-database client documentation(78df745)\u003c/li\u003e\n\u003cli\u003eAdding info about Multi-database client in README.md (3f7a55e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/f7c1755d732a677e0eb05e74e46520115c087153\"\u003e\u003ccode\u003ef7c1755\u003c/code\u003e\u003c/a\u003e Changing current version to 8.4 as it is already GA (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3854\"\u003e#3854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/2235cc76d59a009d546e773d959261503ec3568e\"\u003e\u003ccode\u003e2235cc7\u003c/code\u003e\u003c/a\u003e Added custom event handler section (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3853\"\u003e#3853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/8cc50a5bc9cb972354e17fd9cd8b8542a6f1e4f5\"\u003e\u003ccode\u003e8cc50a5\u003c/code\u003e\u003c/a\u003e Changing log level to be debug for failed maintenance notification enablement...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/d1769a2e2b66c7cd0067358db10db1cc26b2967a\"\u003e\u003ccode\u003ed1769a2\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3612\"\u003e#3612\u003c/a\u003e Generating unique command cache key (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3765\"\u003e#3765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/b49dce1ff0f38c38a5fb89b3f332e84eae8186cb\"\u003e\u003ccode\u003eb49dce1\u003c/code\u003e\u003c/a\u003e Update Type Hints for List Command Parameters from str to KeyT (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3848\"\u003e#3848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/46ff0426550d65e51c7686fa0e12e8954d5d1bcd\"\u003e\u003ccode\u003e46ff042\u003c/code\u003e\u003c/a\u003e Expand cluster READ_COMMANDS with additional read-only commands and reorganiz...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/dc476754600e480dd29a16a2290db5a442114b33\"\u003e\u003ccode\u003edc47675\u003c/code\u003e\u003c/a\u003e Updating lib version to 7.1.0 and added note in README that Python 3.9 suppor...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/f026c1e66be68dc18d89e60bd54c5032bd927680\"\u003e\u003ccode\u003ef026c1e\u003c/code\u003e\u003c/a\u003e Adding latest 8.4 image to test matrix. Updating the Hybrid VSIM query format...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/a5ab18fb76522cb1341c81e0032d29df87c85013\"\u003e\u003ccode\u003ea5ab18f\u003c/code\u003e\u003c/a\u003e Adding support for HYBRID search. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3813\"\u003e#3813\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/e6fb50506967dbdd6e8c334190c32651ebea1506\"\u003e\u003ccode\u003ee6fb505\u003c/code\u003e\u003c/a\u003e Adding support for CAS/CAD commands. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3837\"\u003e#3837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/redis/redis-py/compare/v6.4.0...v7.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymongo` from 4.14.0 to 4.15.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mongodb/mongo-python-driver/releases\"\u003epymongo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePyMongo 4.15.4\u003c/h2\u003e\n\u003cp\u003eCommunity notes: \u003ca href=\"https://www.mongodb.com/community/forums/t/pymongo-4-15-4-released/331292\"\u003ehttps://www.mongodb.com/community/forums/t/pymongo-4-15-4-released/331292\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePyMongo 4.15.3\u003c/h2\u003e\n\u003cp\u003eCommunity notes: \u003ca href=\"https://www.mongodb.com/community/forums/t/pymongo-4-15-3-released/329778\"\u003ehttps://www.mongodb.com/community/forums/t/pymongo-4-15-3-released/329778\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePyMongo 4.15.2\u003c/h2\u003e\n\u003cp\u003eCommunity notes: \u003ca href=\"https://www.mongodb.com/community/forums/t/pymongo-4-15-2-released/329543\"\u003ehttps://www.mongodb.com/community/forums/t/pymongo-4-15-2-released/329543\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePyMongo 4.15.1\u003c/h2\u003e\n\u003cp\u003eCommunity notes: \u003ca href=\"https://www.mongodb.com/community/forums/t/pymongo-4-15-1-released/328837\"\u003ehttps://www.mongodb.com/community/forums/t/pymongo-4-15-1-released/328837\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePyMongo 4.15.0\u003c/h2\u003e\n\u003cp\u003eCommunity notes: \u003ca href=\"https://www.mongodb.com/community/forums/t/pymongo-4-15-released/328574\"\u003ehttps://www.mongodb.com/community/forums/t/pymongo-4-15-released/328574\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePyMongo 4.14.1\u003c/h2\u003e\n\u003cp\u003eCommunity notes: \u003ca href=\"https://www.mongodb.com/community/forums/t/pymongo-4-14-1-released/327511\"\u003ehttps://www.mongodb.com/community/forums/t/pymongo-4-14-1-released/327511\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/mongodb/mongo-python-driver/blob/master/doc/changelog.rst\"\u003epymongo's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges in Version 4.15.4 (2025/10/21)\u003c/h2\u003e\n\u003cp\u003eVersion 4.15.4 is a bug fix release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRelaxed the callback type of :meth:\u003ccode\u003e~pymongo.asynchronous.client_session.AsyncClientSession.with_transaction\u003c/code\u003e to allow the broader Awaitable type rather than only Coroutine objects.\u003c/li\u003e\n\u003cli\u003eAdded the missing Python 3.14 trove classifier to the package metadata.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIssues Resolved\n...............\u003c/p\u003e\n\u003cp\u003eSee the \u003ccode\u003ePyMongo 4.15.4 release notes in JIRA\u003c/code\u003e_ for the list of resolved issues\nin this release.\u003c/p\u003e\n\u003cp\u003e.. _PyMongo 4.15.4 release notes in JIRA: \u003ca href=\"https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004\u0026amp;version=47237\"\u003ehttps://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004\u0026amp;version=47237\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eChanges in Version 4.15.3 (2025/10/07)\u003c/h2\u003e\n\u003cp\u003eVersion 4.15.3 is a bug fix release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a memory leak when raising :class:\u003ccode\u003ebson.errors.InvalidDocument\u003c/code\u003e with C extensions.\u003c/li\u003e\n\u003cli\u003eFixed the return type of the  :meth:\u003ccode\u003e~pymongo.asynchronous.collection.AsyncCollection.distinct\u003c/code\u003e,\n:meth:\u003ccode\u003e~pymongo.synchronous.collection.Collection.distinct\u003c/code\u003e, :meth:\u003ccode\u003epymongo.asynchronous.cursor.AsyncCursor.distinct\u003c/code\u003e,\nand :meth:\u003ccode\u003epymongo.asynchronous.cursor.AsyncCursor.distinct\u003c/code\u003e methods.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIssues Resolved\n...............\u003c/p\u003e\n\u003cp\u003eSee the \u003ccode\u003ePyMongo 4.15.3 release notes in JIRA\u003c/code\u003e_ for the list of resolved issues\nin this release.\u003c/p\u003e\n\u003cp\u003e.. _PyMongo 4.15.3 release notes in JIRA: \u003ca href=\"https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004\u0026amp;version=47293\"\u003ehttps://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004\u0026amp;version=47293\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eChanges in Version 4.15.2 (2025/10/01)\u003c/h2\u003e\n\u003cp\u003eVersion 4.15.2 is a bug fix release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd wheels for Python 3.14 and 3.14t that were missing from 4.15.0 release. Drop the 3.13t wheel.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIssues Resolved\n...............\u003c/p\u003e\n\u003cp\u003eSee the \u003ccode\u003ePyMongo 4.15.2 release notes in JIRA\u003c/code\u003e_ for the list of resolved issues\nin this release.\u003c/p\u003e\n\u003cp\u003e.. _PyMongo 4.15.2 release notes in JIRA: \u003ca href=\"https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004\u0026amp;version=47186\"\u003ehttps://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004\u0026amp;version=47186\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eChanges in Version 4.15.1 (2025/09/16)\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/mongodb/mongo-python-driver/commit/07d51b10a3f90857549dcf2c06a168dc9e30396e\"\u003e\u003ccode\u003e07d51b1\u003c/code\u003e\u003c/a\u003e PYTHON-5639 Prep for 4.15.4 release (\u003ca href=\"https://redirect.github.com/mongodb/mongo-python-driver/issues/2614\"\u003e#2614\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mongodb/mongo-python-driver/commit/477217f6667a6cf28bc33f059b4092cbdb5c463f\"\u003e\u003ccode\u003e477217f\u003c/code\u003e\u003c/a\u003e [TASK]-[PYTHON-5623]: [v4.15] Change with_transaction callback return type to...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mongodb/mongo-python-driver/commit/f3ea3738bf4ebd67e88c6a78ad3f42a7b76e3a59\"\u003e\u003ccode\u003ef3ea373\u003c/code\u003e\u003c/a\u003e PYTHON-5624 - Add Python 3.14 trove classifier (\u003ca href=\"https://redirect.github.com/mongodb/mongo-python-driver/issues/2593\"\u003e#2593\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mongodb/mongo-python-driver/commit/a5a50a89df8c293c8268c3369d2fc4a129bbbc14\"\u003e\u003ccode\u003ea5a50a8\u003c/code\u003e\u003c/a\u003e BUMP 4.15.4.dev0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mongodb/mongo-python-driver/commit/611681140700c774d606d0cc1bce288b2b6683f8\"\u003e\u003ccode\u003e6116811\u003c/code\u003e\u003c/a\u003e PYTHON-5609 Prepare for 4.15.3 Release (\u003ca href=\"https://redirect.github.com/mongodb/mongo-python-driver/issues/2584\"\u003e#2584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mongodb/mongo-python-driver/commit/fef10d26aa52d2ccab82c8b74e730b3ef3187692\"\u003e\u003ccode\u003efef10d2\u003c/code\u003e\u003c/a\u003e PYTHON-5596 Fix return type for distinct methods (\u003ca href=\"https://redirect.github.com/mongodb/mongo-python-driver/issues/2576\"\u003e#2576\u003c/a\u003e) [v4.15] (\u003ca href=\"https://redirect.github.com/mongodb/mongo-python-driver/issues/2583\"\u003e#2583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mongodb/mongo-python-driver/commit/039c35ba63a2479536975c42bd9eed5d9308c4ca\"\u003e\u003ccode\u003e039c35b\u003c/code\u003e\u003c/a\u003e [v4.15] PYTHON-5571 - Fix memory leak when raising InvalidDocument with C ext...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mongodb/mongo-python-driver/commit/a71c96d2ed1a0bfe03d96abed0b2f93dc985febf\"\u003e\u003ccode\u003ea71c96d\u003c/code\u003e\u003c/a\u003e BUMP 4.15.3.dev0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mongodb/mongo-python-driver/commit/eda41f3e872b0c777c1d8b83322ed4d05702cb82\"\u003e\u003ccode\u003eeda41f3\u003c/code\u003e\u003c/a\u003e final preparation for v4.15.2 release (\u003ca href=\"https://redirect.github.com/mongodb/mongo-python-driver/issues/2569\"\u003e#2569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mongodb/mongo-python-driver/commit/f33e832beb436d2456138fad2a548cf730c3b5e1\"\u003e\u003ccode\u003ef33e832\u003c/code\u003e\u003c/a\u003e PYTHON-5584 Add wheels for Python 3.14 and 3.14t (\u003ca href=\"https://redirect.github.com/mongodb/mongo-python-driver/issues/2568\"\u003e#2568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mongodb/mongo-python-driver/compare/4.14.0...4.15.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-cov` from 6.2.1 to 7.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst\"\u003epytest-cov's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.0 (2025-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDropped support for subprocesses measurement.\u003c/p\u003e\n\u003cp\u003eIt was a feature added long time ago when coverage lacked a nice way to measure subprocesses created in tests.\nIt relied on a \u003ccode\u003e.pth\u003c/code\u003e file, there was no way to opt-out and it created bad interations\nwith \u003ccode\u003ecoverage's new patch system \u0026lt;https://coverage.readthedocs.io/en/latest/config.html#run-patch\u0026gt;\u003c/code\u003e_ added\nin \u003ccode\u003e7.10 \u0026lt;https://coverage.readthedocs.io/en/7.10.6/changes.html#version-7-10-0-2025-07-24\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003cp\u003eTo migrate to this release you might need to enable the suprocess patch, example for \u003ccode\u003e.coveragerc\u003c/code\u003e:\u003c/p\u003e\n\u003cp\u003e.. code-block:: ini\u003c/p\u003e\n\u003cp\u003e[run]\npatch = subprocess\u003c/p\u003e\n\u003cp\u003eThis release also requires at least coverage 7.10.6.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSwitched packaging to have metadata completely in \u003ccode\u003epyproject.toml\u003c/code\u003e and use \u003ccode\u003ehatchling \u0026lt;https://pypi.org/project/hatchling/\u0026gt;\u003c/code\u003e_ for\nbuilding.\nContributed by Ofek Lev in \u003ccode\u003e[#551](https://github.com/pytest-dev/pytest-cov/issues/551) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/551\u0026gt;\u003c/code\u003e_\nwith some extras in \u003ccode\u003e[#716](https://github.com/pytest-dev/pytest-cov/issues/716) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/716\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemoved some not really necessary testing deps like \u003ccode\u003esix\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.3.0 (2025-09-06)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for markdown reports.\nContributed by Marcos Boger in \u003ccode\u003e[#712](https://github.com/pytest-dev/pytest-cov/issues/712) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/712\u0026gt;\u003c/code\u003e_\nand \u003ccode\u003e[#714](https://github.com/pytest-dev/pytest-cov/issues/714) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/714\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eFixed some formatting issues in docs.\nAnonymous contribution in \u003ccode\u003e[#706](https://github.com/pytest-dev/pytest-cov/issues/706) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/706\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/224d8964caad90074a8cf6dc8720b8f70f31629b\"\u003e\u003ccode\u003e224d896\u003c/code\u003e\u003c/a\u003e Bump version: 6.3.0 → 7.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/73424e3999f865eac72e27f09d5fe11b9703cfd6\"\u003e\u003ccode\u003e73424e3\u003c/code\u003e\u003c/a\u003e Cleanup the docs a bit.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/36f1cc2967831dbd4c8aa70086fc86dc495f8b9a\"\u003e\u003ccode\u003e36f1cc2\u003c/code\u003e\u003c/a\u003e Bump pins in template.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/f299c590a63a48e51e3ae949993dc7bb1f1d480d\"\u003e\u003ccode\u003ef299c59\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/25f0b2e0cdbc345c0d3e49170f7a328c3e0d805f\"\u003e\u003ccode\u003e25f0b2e\u003c/code\u003e\u003c/a\u003e Update docs/config.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/bb23eacc5531fb8f499213d8420407e0d72f88e3\"\u003e\u003ccode\u003ebb23eac\u003c/code\u003e\u003c/a\u003e Improve configuration docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/a19531e91e1ab753ccf648a2d9bab08a6fddebb9\"\u003e\u003ccode\u003ea19531e\u003c/code\u003e\u003c/a\u003e Switch from build/pre-commit to uv/prek - this should make this faster.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/82f999391073f2fb8ae422af452602f310086a2a\"\u003e\u003ccode\u003e82f9993\u003c/code\u003e\u003c/a\u003e Update changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/211b5cd41c29916bc643b4a11b00578ba4fd6fe8\"\u003e\u003ccode\u003e211b5cd\u003c/code\u003e\u003c/a\u003e Fix links.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/97aadd74bcbc00a2078d240e8fe871dd62b83d80\"\u003e\u003ccode\u003e97aadd7\u003c/code\u003e\u003c/a\u003e Update some ci config, reformat and apply some lint fixes.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-cov/compare/v6.2.1...v7.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-doctestplus` from 1.4.0 to 1.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/releases\"\u003epytest-doctestplus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTST: Catch ResourceWarning under bad combo by \u003ca href=\"https://github.com/pllim\"\u003e\u003ccode\u003e@​pllim\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/307\"\u003escientific-python/pytest-doctestplus#307\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: move on from deprecated macos image by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/309\"\u003escientific-python/pytest-doctestplus#309\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTST: Debug and fix new Windows + Python 3.14 failure (try 2) by \u003ca href=\"https://github.com/pllim\"\u003e\u003ccode\u003e@​pllim\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/310\"\u003escientific-python/pytest-doctestplus#310\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBUG: Fix directives that do not have any content by \u003ca href=\"https://github.com/seberg\"\u003e\u003ccode\u003e@​seberg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/311\"\u003escientific-python/pytest-doctestplus#311\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure skipped doctest are visible by \u003ca href=\"https://github.com/lagru\"\u003e\u003ccode\u003e@​lagru\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/312\"\u003escientific-python/pytest-doctestplus#312\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/lagru\"\u003e\u003ccode\u003e@​lagru\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/312\"\u003escientific-python/pytest-doctestplus#312\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/compare/v1.5.0...v1.6.0\"\u003ehttps://github.com/scientific-python/pytest-doctestplus/compare/v1.5.0...v1.6.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.5.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eintroduced option to specify file encoding by \u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/284\"\u003escientific-python/pytest-doctestplus#284\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTST: adding new python version to the fail list by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/289\"\u003escientific-python/pytest-doctestplus#289\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: exclude bots from release notes by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/290\"\u003escientific-python/pytest-doctestplus#290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: xfailing test now passes with new version by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/293\"\u003escientific-python/pytest-doctestplus#293\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: adding deprecation filterwarning for pytest-asyncio by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/294\"\u003escientific-python/pytest-doctestplus#294\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTST: new python version out, new xfail for the test by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/295\"\u003escientific-python/pytest-doctestplus#295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: adding Python 3.14 for testing by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/300\"\u003escientific-python/pytest-doctestplus#300\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: adding more versions to the matrix by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/306\"\u003escientific-python/pytest-doctestplus#306\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/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/284\"\u003escientific-python/pytest-doctestplus#284\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/compare/v1.4.0...v1.5.0\"\u003ehttps://github.com/scientific-python/pytest-doctestplus/compare/v1.4.0...v1.5.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/scientific-python/pytest-doctestplus/blob/main/CHANGES.rst\"\u003epytest-doctestplus's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.6.0 (2025-11-20)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixing directives that should not have any content and therefore fixing\npreviously crashing sphinx builds. Using these directives with a content\nnow results an error. \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/issues/311\"\u003e#311\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure that tests skipped with \u003ccode\u003e__doctest_skip__\u003c/code\u003e and\n\u003ccode\u003e__doctest_requires__\u003c/code\u003e show up as skipped tests in Pytest's output. \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/issues/312\"\u003e#312\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.5.0 (2025-10-17)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdding the usage of the \u003ccode\u003edoctest_encoding\u003c/code\u003e ini option when overwriting\nfiles with the \u003ccode\u003edoctest-plus-generate-diff\u003c/code\u003e option. \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/issues/284\"\u003e#284\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/scientific-python/pytest-doctestplus/commit/720babcfb72d3aedcd62d8eda14ca75f95bef3fa\"\u003e\u003ccode\u003e720babc\u003c/code\u003e\u003c/a\u003e Finalizing changelog for v1.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/commit/a90cca350bcd543a22312762c6f3576e01254342\"\u003e\u003ccode\u003ea90cca3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/issues/312\"\u003e#312\u003c/a\u003e from lagru/show-import-skips\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/commit/666e38d25ad439dca1a4fa080193cd78e4c80ff1\"\u003e\u003ccode\u003e666e38d\u003c/code\u003e\u003c/a\u003e Assert that importorskip does not affect locals()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/commit/e3a4df4710be6f2a9e78154c78038b20c4f1a72b\"\u003e\u003ccode\u003ee3a4df4\u003c/code\u003e\u003c/a\u003e Note this fix in CHANGES.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/commit/606a629830a7e60fe4676135dc692593c2961a1b\"\u003e\u003ccode\u003e606a629\u003c/code\u003e\u003c/a\u003e Cleanup temporary hidden variable too\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/commit/3188e5ba9b02d3f6054d2748e492c550e3530412\"\u003e\u003ccode\u003e3188e5b\u003c/code\u003e\u003c/a\u003e Ensure skipped doctest are visible\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/commit/a93f85937fe6407430aebc9e50a4be97ecec6892\"\u003e\u003ccode\u003ea93f859\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/issues/311\"\u003e#311\u003c/a\u003e from seberg/fix-directives\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/commit/ec76b0b0fd76225961f9be8cf0061c9e52b2bae7\"\u003e\u003ccode\u003eec76b0b\u003c/code\u003e\u003c/a\u003e Also fixup the docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/commit/d2b6b0a7ae9f43ede91f8dcd9f7395e6fe174140\"\u003e\u003ccode\u003ed2b6b0a\u003c/code\u003e\u003c/a\u003e BUG: Fix directives that do not have any content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/commit/5af936ad6bda3513de51cdd8d4383e2e591397ca\"\u003e\u003ccode\u003e5af936a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/issues/310\"\u003e#310\u003c/a\u003e from pllim/fix-win-py314-pt2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/compare/v1.4.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 `h5py` from 3.14.0 to 3.15.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/h5py/h5py/releases\"\u003eh5py's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.15.1\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003e3.15.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.h5py.org/en/latest/whatsnew/3.15.html\"\u003ehttps://docs.h5py.org/en/latest/whatsnew/3.15.html\u003c/a\u003e for release notes\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/h5py/h5py/commit/fad034c16f595cb24f4393bbd0dcd23c53bc9a33\"\u003e\u003ccode\u003efad034c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/h5py/h5py/issues/2727\"\u003e#2727\u003c/a\u003e from takluyver/prepare-3.15.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/435015dd3b3ff0ed1f9eb785fb3c42852b0120df\"\u003e\u003ccode\u003e435015d\u003c/code\u003e\u003c/a\u003e Version number -\u0026gt; 3.15.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/3cf3343435316f72e9e6dace114caf3c3c01e12a\"\u003e\u003ccode\u003e3cf3343\u003c/code\u003e\u003c/a\u003e Add release note for 3.15.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/c4d3394a422e5c4d0cc1374e491d180d9faacbfc\"\u003e\u003ccode\u003ec4d3394\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/h5py/h5py/issues/2725\"\u003e#2725\u003c/a\u003e from crusaderky/test_lowlevel_vds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/a0a707f3bc8c280492b70e0ea2b065b35d851f2c\"\u003e\u003ccode\u003ea0a707f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/h5py/h5py/issues/2722\"\u003e#2722\u003c/a\u003e from neutrinoceros/whl/fix-hdf5-macosx-deployment-ta...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/b30f4fa7b4731e41ac42d040ecfa242f34d9bba3\"\u003e\u003ccode\u003eb30f4fa\u003c/code\u003e\u003c/a\u003e WHL: build HDF5 with backward compatible system APIs on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/eff7fa8a5973fb7893c1e99ef1db491c626cc749\"\u003e\u003ccode\u003eeff7fa8\u003c/code\u003e\u003c/a\u003e TST: File hygiene in test_lowlevel_vds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/dffdd1a7c0f514a7fef5865e58bd3b0269447b3f\"\u003e\u003ccode\u003edffdd1a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/h5py/h5py/issues/2723\"\u003e#2723\u003c/a\u003e from takluyver/ci/gh-release-non-draft\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/9f675940af1d385fe0cb244c3ed43b1d101d19c3\"\u003e\u003ccode\u003e9f67594\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/h5py/h5py/issues/2724\"\u003e#2724\u003c/a\u003e from h5py/dependabot/github_actions/actions-e74af9633e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/0e8285793020c391eb774686e6fab5e07154404d\"\u003e\u003ccode\u003e0e82857\u003c/code\u003e\u003c/a\u003e Build(deps): Bump softprops/action-gh-release in the actions group\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/h5py/h5py/compare/3.14.0...3.15.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fasteners` from 0.19 to 0.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/harlowja/fasteners/releases\"\u003efasteners's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInterProcessLock now catches OSError and handles BlockingIOError correctly.\u003c/li\u003e\n\u003cli\u003eRemove support for python 3.8, python 3.9 and pypy 3.9. It should still work,\nbut is no longer tested.\u003c/li\u003e\n\u003cli\u003eAdd support for python 3.12, 3.13 and pypy 3.11.\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/harlowja/fasteners/blob/main/CHANGELOG.md\"\u003efasteners's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.20]\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInterProcessLock now catches OSError and handles BlockingIOError correctly.\u003c/li\u003e\n\u003cli\u003eRemove support for python 3.8, python 3.9 and pypy 3.9. It should still work,\nbut is no longer tested.\u003c/li\u003e\n\u003cli\u003eAdd support for python 3.12, 3.13 and pypy 3.11.\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/harlowja/fasteners/commit/87839f4acc6660856c67963b128dedd84e94907d\"\u003e\u003ccode\u003e87839f4\u003c/code\u003e\u003c/a\u003e Release 0.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/harlowja/fasteners/commit/559e58654a5587dd5a8247e979179f80af1ba727\"\u003e\u003ccode\u003e559e586\u003c/code\u003e\u003c/a\u003e Use uv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/harlowja/fasteners/commit/59edee2438b89f54eb0e372441face03a97c6689\"\u003e\u003ccode\u003e59edee2\u003c/code\u003e\u003c/a\u003e Update licence fields in pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/harlowja/fasteners/commit/433df5df95de7c79f3d993e5f0511e3bfa2752a5\"\u003e\u003ccode\u003e433df5d\u003c/code\u003e\u003c/a\u003e update docs build github action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/harlowja/fasteners/commit/fb2206259297ef70cccaa679499582dfbbea2fd5\"\u003e\u003ccode\u003efb22062\u003c/code\u003e\u003c/a\u003e Catch OSError in the InterProcessLock (\u003ca href=\"https://redirect.github.com/harlowja/fasteners/issues/123\"\u003e#123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/harlowja/fasteners/commit/3f114f01ca775db3e78b20a0e54ca561c5d31eb0\"\u003e\u003ccode\u003e3f114f0\u003c/code\u003e\u003c/a\u003e Update CI python versions (\u003ca href=\"https://redirect.github.com/harlowja/fasteners/issues/120\"\u003e#120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/harlowja/fasteners/compare/0.19...0.20\"\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.1 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.1...9.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/zarr-developers/zarr-python/pull/3601","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/zarr-developers%2Fzarr-python/issues/3601","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3601/packages"},{"uuid":"3634630258","node_id":"PR_kwDOHTdvBs6z7O3d","number":1379,"state":"open","title":"deps(ibis): bump the all group across 1 directory with 30 updates","user":"dependabot[bot]","labels":["ibis","dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-11-17T18:59:44.000Z","updated_at":"2025-11-17T19:00:20.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(ibis): bump","group_name":"all","update_count":30,"packages":[{"name":"fastapi","old_version":"0.120.1","new_version":"0.121.2","repository_url":"https://github.com/fastapi/fastapi"},{"name":"pydantic","old_version":"2.10.6","new_version":"2.12.4","repository_url":"https://github.com/pydantic/pydantic"},{"name":"google-auth","old_version":"2.38.0","new_version":"2.43.0","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"python-dotenv","old_version":"1.0.1","new_version":"1.2.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"orjson","old_version":"3.10.16","new_version":"3.11.4","repository_url":"https://github.com/ijl/orjson"},{"name":"geoalchemy2","old_version":"0.17.1","new_version":"0.18.0","repository_url":"https://github.com/geoalchemy/geoalchemy2"},{"name":"gql","old_version":"3.5.2","new_version":"4.0.0","repository_url":"https://github.com/graphql-python/gql"},{"name":"anyio","old_version":"4.10.0","new_version":"4.11.0","repository_url":"https://github.com/agronholm/anyio"},{"name":"duckdb","old_version":"1.3.2","new_version":"1.4.2","repository_url":"https://github.com/duckdb/duckdb-python"},{"name":"oracledb","old_version":"3.3.0","new_version":"3.4.1","repository_url":"https://github.com/oracle/python-oracledb"},{"name":"uvicorn","old_version":"0.35.0","new_version":"0.38.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"uvicorn-worker","old_version":"0.3.0","new_version":"0.4.0","repository_url":"https://github.com/Kludex/uvicorn-worker"},{"name":"redshift-connector","old_version":"2.1.7","new_version":"2.1.9","repository_url":"https://github.com/aws/amazon-redshift-python-driver"},{"name":"datafusion","old_version":"47.0.0","new_version":"50.1.0","repository_url":"https://github.com/apache/datafusion-python"},{"name":"starlette","old_version":"0.49.1","new_version":"0.49.3","repository_url":"https://github.com/Kludex/starlette"},{"name":"databricks-sql-connector","old_version":"4.1.4","new_version":"4.2.0","repository_url":"https://github.com/databricks/databricks-sql-python"},{"name":"jupyterlab","old_version":"4.4.9","new_version":"4.4.10","repository_url":"https://github.com/jupyterlab/jupyterlab"},{"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":"matplotlib","old_version":"3.10.6","new_version":"3.10.7","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"plotly","old_version":"6.3.0","new_version":"6.5.0","repository_url":"https://github.com/plotly/plotly.py"},{"name":"pytest","old_version":"8.3.5","new_version":"9.0.1","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"testcontainers","old_version":"4.9.2","new_version":"4.13.3","repository_url":"https://github.com/testcontainers/testcontainers-python"},{"name":"sqlalchemy","old_version":"2.0.39","new_version":"2.0.44","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"pre-commit","old_version":"4.2.0","new_version":"4.4.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"ruff","old_version":"0.11.2","new_version":"0.14.5","repository_url":"https://github.com/astral-sh/ruff"},{"name":"trino","old_version":"0.335.0","new_version":"0.336.0","repository_url":"https://github.com/trinodb/trino-python-client"},{"name":"psycopg2","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"clickhouse-connect","old_version":"0.8.15","new_version":"0.10.0","repository_url":"https://github.com/ClickHouse/clickhouse-connect"},{"name":"polars","old_version":"1.33.1","new_version":"1.35.2","repository_url":"https://github.com/pola-rs/polars"}],"path":null,"ecosystem":"pip"},"body":"Bumps the all group with 30 updates in the /ibis-server directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.120.1` | `0.121.2` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.10.6` | `2.12.4` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.38.0` | `2.43.0` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.2.1` |\n| [orjson](https://github.com/ijl/orjson) | `3.10.16` | `3.11.4` |\n| [geoalchemy2](https://github.com/geoalchemy/geoalchemy2) | `0.17.1` | `0.18.0` |\n| [gql](https://github.com/graphql-python/gql) | `3.5.2` | `4.0.0` |\n| [anyio](https://github.com/agronholm/anyio) | `4.10.0` | `4.11.0` |\n| [duckdb](https://github.com/duckdb/duckdb-python) | `1.3.2` | `1.4.2` |\n| [oracledb](https://github.com/oracle/python-oracledb) | `3.3.0` | `3.4.1` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.35.0` | `0.38.0` |\n| [uvicorn-worker](https://github.com/Kludex/uvicorn-worker) | `0.3.0` | `0.4.0` |\n| [redshift-connector](https://github.com/aws/amazon-redshift-python-driver) | `2.1.7` | `2.1.9` |\n| [datafusion](https://github.com/apache/datafusion-python) | `47.0.0` | `50.1.0` |\n| [starlette](https://github.com/Kludex/starlette) | `0.49.1` | `0.49.3` |\n| [databricks-sql-connector](https://github.com/databricks/databricks-sql-python) | `4.1.4` | `4.2.0` |\n| [jupyterlab](https://github.com/jupyterlab/jupyterlab) | `4.4.9` | `4.4.10` |\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| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.10.6` | `3.10.7` |\n| [plotly](https://github.com/plotly/plotly.py) | `6.3.0` | `6.5.0` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.3.5` | `9.0.1` |\n| [testcontainers](https://github.com/testcontainers/testcontainers-python) | `4.9.2` | `4.13.3` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.39` | `2.0.44` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.2.0` | `4.4.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.11.2` | `0.14.5` |\n| [trino](https://github.com/trinodb/trino-python-client) | `0.335.0` | `0.336.0` |\n| [psycopg2](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [clickhouse-connect](https://github.com/ClickHouse/clickhouse-connect) | `0.8.15` | `0.10.0` |\n| [polars](https://github.com/pola-rs/polars) | `1.33.1` | `1.35.2` |\n\n\nUpdates `fastapi` from 0.120.1 to 0.121.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.121.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix handling of JSON Schema attributes named \u0026quot;$ref\u0026quot;. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14349\"\u003e#14349\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Add EuroPython talk \u0026amp; podcast episode with Sebastián Ramírez. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14260\"\u003e#14260\u003c/a\u003e by \u003ca href=\"https://github.com/clytaemnestra\"\u003e\u003ccode\u003e@​clytaemnestra\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✏️ Fix links and add missing permalink in docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14217\"\u003e#14217\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🌐 Update Portuguese translations with LLM prompt. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14228\"\u003e#14228\u003c/a\u003e by \u003ca href=\"https://github.com/ceb10n\"\u003e\u003ccode\u003e@​ceb10n\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔨 Add Portuguese translations LLM prompt. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14208\"\u003e#14208\u003c/a\u003e by \u003ca href=\"https://github.com/ceb10n\"\u003e\u003ccode\u003e@​ceb10n\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Sync Russian docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14331\"\u003e#14331\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Sync German docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14317\"\u003e#14317\u003c/a\u003e by \u003ca href=\"https://github.com/nilslindemann\"\u003e\u003ccode\u003e@​nilslindemann\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.121.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003eDepends(func, scope='function')\u003c/code\u003e for top level (parameterless) dependencies. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14301\"\u003e#14301\u003c/a\u003e by \u003ca href=\"https://github.com/luzzodev\"\u003e\u003ccode\u003e@​luzzodev\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Upate docs for advanced dependencies with \u003ccode\u003eyield\u003c/code\u003e, noting the changes in 0.121.0, adding \u003ccode\u003escope\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14287\"\u003e#14287\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump ruff from 0.13.2 to 0.14.3. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14276\"\u003e#14276\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14289\"\u003e#14289\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.121.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add support for dependencies with scopes, support \u003ccode\u003escope=\u0026quot;request\u0026quot;\u003c/code\u003e for dependencies with \u003ccode\u003eyield\u003c/code\u003e that exit before the response is sent. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14262\"\u003e#14262\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eNew docs: \u003ca href=\"https://fastapi.tiangolo.com/tutorial/dependencies/dependencies-with-yield/#early-exit-and-scope\"\u003eDependencies with \u003ccode\u003eyield\u003c/code\u003e - Early exit and \u003ccode\u003escope\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👥 Update FastAPI People - Contributors and Translators. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14273\"\u003e#14273\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👥 Update FastAPI People - Sponsors. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14274\"\u003e#14274\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👥 Update FastAPI GitHub topic repositories. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14280\"\u003e#14280\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-macros-plugin from 1.4.0 to 1.4.1. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14277\"\u003e#14277\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocstrings[python] from 0.26.1 to 0.30.1. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14279\"\u003e#14279\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.120.4\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix security schemes in OpenAPI when added at the top level app. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14266\"\u003e#14266\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/02e108d1663149faac4156dd23595cbdf74287c2\"\u003e\u003ccode\u003e02e108d\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.121.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/d3b75974f48cd180f6f87de39adc475c7bf8900a\"\u003e\u003ccode\u003ed3b7597\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/5d40dfbc9bc1df1c7801acc53857ec7a072b7697\"\u003e\u003ccode\u003e5d40dfb\u003c/code\u003e\u003c/a\u003e 🐛 Fix handling of JSON Schema attributes named \u0026quot;$ref\u0026quot; (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14349\"\u003e#14349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/eaf611f9ee56de4f16c837d4f487a4b9fca507c4\"\u003e\u003ccode\u003eeaf611f\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/004ab1a9d1c746bf885d4d6428a721074b2c2d78\"\u003e\u003ccode\u003e004ab1a\u003c/code\u003e\u003c/a\u003e 📝 Add EuroPython talk \u0026amp; podcast episode with Sebastián Ramírez (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14260\"\u003e#14260\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/d1be85c728c64aa3d99f8bc7e9865b342f209117\"\u003e\u003ccode\u003ed1be85c\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/42930fe60065420034b7d6ff4932b25993a68481\"\u003e\u003ccode\u003e42930fe\u003c/code\u003e\u003c/a\u003e ✏️ Fix links and add missing permalink in docs (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14217\"\u003e#14217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/9e362d9f6e66078c67295e5ed5e5918739dfe5f0\"\u003e\u003ccode\u003e9e362d9\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/540a83da65b2e3b219ee3d41c4be7837ab05dc84\"\u003e\u003ccode\u003e540a83d\u003c/code\u003e\u003c/a\u003e 🌐 Update Portuguese translations with LLM prompt (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14228\"\u003e#14228\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/1a2e4152ed1173dc129bf4feb45c84b704c55eb8\"\u003e\u003ccode\u003e1a2e415\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.120.1...0.121.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.10.6 to 2.12.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.4 2025-11-05\u003c/h2\u003e\n\u003ch2\u003ev2.12.4 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003eThis is the fourth 2.12 patch release, fixing more regressions, and reverting a change in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis patch release also fixes an issue with the serialization of IP address types, when \u003ccode\u003eserialize_as_any\u003c/code\u003e is used. The next patch release\nwill try to address the remaining issues with \u003cem\u003eserialize as any\u003c/em\u003e behavior by introducing a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature, that\nshould be used in most cases in place of \u003cem\u003eserialize as any\u003c/em\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with forward references in parent \u003ccode\u003eTypedDict\u003c/code\u003e classes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12427\"\u003e#12427\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis issue is only relevant on Python 3.14 and greater.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExclude fields with \u003ccode\u003eexclude_if\u003c/code\u003e from JSON Schema required fields by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12430\"\u003e#12430\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRevert URL percent-encoding of credentials in the \u003ccode\u003ebuild()\u003c/code\u003e method of the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1833\"\u003epydantic-core#1833\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis was initially considered as a bugfix, but caused regressions and as such was fully reverted. The next release will include\nan opt-in option to percent-encode components of the URL.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type inference for IP address types by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1868\"\u003epydantic-core#1868\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThe 2.12 changes to the \u003ccode\u003eserialize_as_any\u003c/code\u003e behavior made it so that IP address types could not properly serialize to JSON.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid getting default values from defaultdict by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1853\"\u003epydantic-core#1853\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis fixes a subtle regression in the validation behavior of the \u003ca href=\"https://docs.python.org/3/library/collections.html#collections.defaultdict\"\u003e\u003ccode\u003ecollections.defaultdict\u003c/code\u003e\u003c/a\u003e\ntype.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with field serializers on nested typed dictionaries by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1879\"\u003epydantic-core#1879\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd more \u003ccode\u003epydantic-core\u003c/code\u003e builds for the three-threaded version of Python 3.14 by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1864\"\u003epydantic-core#1864\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.3...v2.12.4\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.3...v2.12.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.3 2025-10-17\u003c/h2\u003e\n\u003ch2\u003ev2.12.3 (2025-10-17)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis is the third 2.13 patch release, fixing issues related to the \u003ccode\u003eFieldInfo\u003c/code\u003e class, and reverting a change to the supported \u003ca href=\"https://docs.pydantic.dev/latest/concepts/validators/#model-validators\"\u003e\u003cem\u003eafter\u003c/em\u003e model validator\u003c/a\u003e function signatures.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRaise a warning when an invalid after model validator function signature is raised by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12414\"\u003e#12414\u003c/a\u003e.\nStarting in 2.12.0, using class methods for \u003cem\u003eafter\u003c/em\u003e model validators raised an error, but the error wasn't raised concistently. We decided to emit a deprecation warning instead.\u003c/li\u003e\n\u003cli\u003eAdd \u003ca href=\"https://docs.pydantic.dev/latest/api/fields/#pydantic.fields.FieldInfo.asdict\"\u003e\u003ccode\u003eFieldInfo.asdict()\u003c/code\u003e\u003c/a\u003e method, improve documentation around \u003ccode\u003eFieldInfo\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12411\"\u003e#12411\u003c/a\u003e.\nThis also adds back support for mutations on \u003ccode\u003eFieldInfo\u003c/code\u003e classes, that are reused as \u003ccode\u003eAnnotated\u003c/code\u003e metadata. \u003cstrong\u003eHowever\u003c/strong\u003e, note that this is still \u003cem\u003enot\u003c/em\u003e a supported pattern. Instead, please refer to the \u003ca href=\"https://docs.pydantic.dev/latest/examples/dynamic_models/\"\u003eadded example\u003c/a\u003e in the documentation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-12-release#changes\"\u003eblog post\u003c/a\u003e section on changes was also updated to document the changes related to \u003ccode\u003eserialize_as_any\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.2...v2.12.3\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.2...v2.12.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.2 2025-10-14\u003c/h2\u003e\n\u003ch2\u003ev2.12.2 (2025-10-14)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/v2.12.4/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.4 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.4\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is the fourth 2.12 patch release, fixing more regressions, and reverting a change in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis patch release also fixes an issue with the serialization of IP address types, when \u003ccode\u003eserialize_as_any\u003c/code\u003e is used. The next patch release\nwill try to address the remaining issues with \u003cem\u003eserialize as any\u003c/em\u003e behavior by introducing a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature, that\nshould be used in most cases in place of \u003cem\u003eserialize as any\u003c/em\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with forward references in parent \u003ccode\u003eTypedDict\u003c/code\u003e classes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12427\"\u003e#12427\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis issue is only relevant on Python 3.14 and greater.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExclude fields with \u003ccode\u003eexclude_if\u003c/code\u003e from JSON Schema required fields by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12430\"\u003e#12430\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRevert URL percent-encoding of credentials in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in\n\u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1833\"\u003epydantic-core#1833\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis was initially considered as a bugfix, but caused regressions and as such was fully reverted. The next release will include\nan opt-in option to percent-encode components of the URL.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type inference for IP address types by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1868\"\u003epydantic-core#1868\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThe 2.12 changes to the \u003ccode\u003eserialize_as_any\u003c/code\u003e behavior made it so that IP address types could not properly serialize to JSON.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid getting default values from defaultdict by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1853\"\u003epydantic-core#1853\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis fixes a subtle regression in the validation behavior of the \u003ca href=\"https://docs.python.org/3/library/collections.html#collections.defaultdict\"\u003e\u003ccode\u003ecollections.defaultdict\u003c/code\u003e\u003c/a\u003e\ntype.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with field serializers on nested typed dictionaries by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1879\"\u003epydantic-core#1879\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd more \u003ccode\u003epydantic-core\u003c/code\u003e builds for the three-threaded version of Python 3.14 by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1864\"\u003epydantic-core#1864\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.12.3 (2025-10-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.3\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis is the third 2.12 patch release, fixing issues related to the \u003ccode\u003eFieldInfo\u003c/code\u003e class, and reverting a change to the supported\n\u003ca href=\"https://docs.pydantic.dev/latest/concepts/validators/#model-validators\"\u003e\u003cem\u003eafter\u003c/em\u003e model validator\u003c/a\u003e function signatures.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRaise a warning when an invalid after model validator function signature is raised by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12414\"\u003e#12414\u003c/a\u003e.\nStarting in 2.12.0, using class methods for \u003cem\u003eafter\u003c/em\u003e model validators raised an error, but the error wasn't raised concistently. We decided\nto emit a deprecation warning instead.\u003c/li\u003e\n\u003cli\u003eAdd \u003ca href=\"https://docs.pydantic.dev/latest/api/fields/#pydantic.fields.FieldInfo.asdict\"\u003e\u003ccode\u003eFieldInfo.asdict()\u003c/code\u003e\u003c/a\u003e method, improve documentation around \u003ccode\u003eFieldInfo\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12411\"\u003e#12411\u003c/a\u003e.\nThis also add back support for mutations on \u003ccode\u003eFieldInfo\u003c/code\u003e classes, that are reused as \u003ccode\u003eAnnotated\u003c/code\u003e metadata. \u003cstrong\u003eHowever\u003c/strong\u003e, note that this is still\n\u003cem\u003enot\u003c/em\u003e a supported pattern. Instead, please refer to the \u003ca href=\"https://docs.pydantic.dev/latest/examples/dynamic_models/\"\u003eadded example\u003c/a\u003e in the documentation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-12-release#changes\"\u003eblog post\u003c/a\u003e section on changes was also updated to document the changes related to \u003ccode\u003eserialize_as_any\u003c/code\u003e.\u003c/p\u003e\n\u003ch2\u003ev2.12.2 (2025-10-14)\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/pydantic/pydantic/commit/5c842dfc9c245fb37aa1f5ec5b55c1aed10bd7e6\"\u003e\u003ccode\u003e5c842df\u003c/code\u003e\u003c/a\u003e Prepare release v2.12.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c678a710e8b8bb2ff4dce6233c6d5c88dc579136\"\u003e\u003ccode\u003ec678a71\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003epydantic-core\u003c/code\u003e to v2.41.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a7cd29254b2611c5768beb86e7ffd2c1c130a19a\"\u003e\u003ccode\u003ea7cd292\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003ecloudpickle\u003c/code\u003e to v3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/21f627801b5eedfa87bed55925f73cf329cc9c2c\"\u003e\u003ccode\u003e21f6278\u003c/code\u003e\u003c/a\u003e Bump actions/setup-node from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8d6be8fea9662203977b95758d97ec298edcd54a\"\u003e\u003ccode\u003e8d6be8f\u003c/code\u003e\u003c/a\u003e Bump astral-sh/setup-uv from 6 to 7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/17865ea3a1fd389ba697990b762f82a419a48221\"\u003e\u003ccode\u003e17865ea\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/90ad0af6b9340f72dde77997ed18fc180771e69f\"\u003e\u003ccode\u003e90ad0af\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/18e6672b6fdeaeb75ccbbcb3c7883509b1f56cb3\"\u003e\u003ccode\u003e18e6672\u003c/code\u003e\u003c/a\u003e Drop testing under PyPy 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/650215be2d2336a72af481b724b368fed356d7e8\"\u003e\u003ccode\u003e650215b\u003c/code\u003e\u003c/a\u003e Document workaround for \u003ccode\u003eMongoDsn\u003c/code\u003e default port\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/e3267902272d8290ed6d1ae06f43052b2968ef14\"\u003e\u003ccode\u003ee326790\u003c/code\u003e\u003c/a\u003e Fix example of for \u003ccode\u003ebytes_invalid_encoding\u003c/code\u003e validation error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.10.6...v2.12.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-auth` from 2.38.0 to 2.43.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/releases\"\u003egoogle-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-auth 2.43.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.42.1...v2.43.0\"\u003e2.43.0\u003c/a\u003e (2025-11-05)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd public wrapper for _mtls_helper.check_use_client_cert which enables mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE is not set, when the MWID/X.509 cert sources detected (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1859\"\u003e#1859\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/1535eccb\"\u003e1535eccb\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnable mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE  is not set, if the MWID/X.509 cert sources detected (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1848\"\u003e#1848\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/395e405b\"\u003e395e405b\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eonboard \u003ccode\u003egoogle-auth\u003c/code\u003e to librarian (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1838\"\u003e#1838\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/c503eaa5\"\u003ec503eaa5\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.42.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.42.0...v2.42.1\"\u003e2.42.1\u003c/a\u003e (2025-10-30)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCatch ValueError for json.loads() (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1842\"\u003e#1842\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b074cad460589633adfc6744c01726ae86f2aa2b\"\u003eb074cad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.42.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.41.1...v2.42.0\"\u003e2.42.0\u003c/a\u003e (2025-10-24)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd trust boundary support for external accounts. (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1809\"\u003e#1809\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/36ecb1d65883477d27faf9c2281fc289659b9903\"\u003e36ecb1d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRead scopes from ADC json for impersoanted cred (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1820\"\u003e#1820\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/62c0fc82a3625542381f85c698595446fc99ddae\"\u003e62c0fc8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.41.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.41.0...v2.41.1\"\u003e2.41.1\u003c/a\u003e (2025-09-30)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSuppress deprecation warning for ADC (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1815\"\u003e#1815\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/751ce3f625eb24029e9f0c59c081bdd3e18eb583\"\u003e751ce3f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.41.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.40.3...v2.41.0\"\u003e2.41.0\u003c/a\u003e (2025-09-29)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for cachetools 6.0 (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1773\"\u003e#1773\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/af18060d521baf86c219d66a26631decb3b28e79\"\u003eaf18060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd trust boundary support for service accounts and impersonation. (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1778\"\u003e#1778\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/99be2ce19401296718f880c7a80cd2e841df78bf\"\u003e99be2ce\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md\"\u003egoogle-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-auth-v2.42.1...google-auth-v2.43.0\"\u003e2.43.0\u003c/a\u003e (2025-11-05)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd public wrapper for _mtls_helper.check_use_client_cert which enables mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE is not set, when the MWID/X.509 cert sources detected (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1859\"\u003e#1859\u003c/a\u003e) Add public wrapper for check_use_client_cert which enables mTLS if\nGOOGLE_API_USE_CLIENT_CERTIFICATE is not set, when the MWID/X.509 cert\nsources detected. Also, fix check_use_client_cert to return boolean\nvalue.\nChange \u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1848\"\u003e#1848\u003c/a\u003e added the check_use_client_cert method that helps know if\nclient cert should be used for mTLS connection. However, that was in a\nprivate class, thus, created a public wrapper of the same function so\nthat it can be used by python Client Libraries. Also, updated\ncheck_use_client_cert to return a boolean value instead of existing\nstring value for better readability and future scope.\n--------- (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1535eccbff0ad8f3fd6a9775316ac8b77dca66ba\"\u003e1535eccbff0ad8f3fd6a9775316ac8b77dca66ba\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnable mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE  is not set, if the MWID/X.509 cert sources detected (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1848\"\u003e#1848\u003c/a\u003e) The Python SDK will use a hybrid approach for mTLS enablement:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eIf the GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is set\n(either true or false), the SDK will respect that setting. This is\nnecessary for test scenarios and users who need to explicitly control\nmTLS behavior.\u003c/li\u003e\n\u003cli\u003eIf the GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is not\nset, the SDK will automatically enable mTLS only if it detects Managed\nWorkload Identity (MWID) or X.509 Workforce Identity Federation (WIF)\ncertificate sources. In other cases where the variable is not set, mTLS\nwill remain disabled.\n** This change also adds the helper method \u003ccode\u003echeck_use_client_cert\u003c/code\u003e and\nit's unit test, which will be used for checking the criteria for setting\nthe mTLS to true\n** This change is only for Auth-Library, other changes will be created\nfor Client-Library use-cases.\n--------- (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/395e405b64b56ddb82ee639958c2e8056ad2e82b\"\u003e395e405b64b56ddb82ee639958c2e8056ad2e82b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eonboard \u003ccode\u003egoogle-auth\u003c/code\u003e to librarian (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1838\"\u003e#1838\u003c/a\u003e) This PR onboards \u003ccode\u003egoogle-auth\u003c/code\u003e library to the Librarian system.\nWait for\n\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/pull/1819\"\u003egoogleapis/google-auth-library-python#1819\u003c/a\u003e. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/c503eaa511357d7a76cc1e1f1d3a3be2dabd5bca\"\u003ec503eaa511357d7a76cc1e1f1d3a3be2dabd5bca\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.42.0...v2.42.1\"\u003e2.42.1\u003c/a\u003e (2025-10-30)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCatch ValueError for json.loads() (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1842\"\u003e#1842\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b074cad460589633adfc6744c01726ae86f2aa2b\"\u003eb074cad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.41.1...v2.42.0\"\u003e2.42.0\u003c/a\u003e (2025-10-24)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd trust boundary support for external accounts. (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1809\"\u003e#1809\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/36ecb1d65883477d27faf9c2281fc289659b9903\"\u003e36ecb1d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/89a883824b437e9be0c97309ed36f35e5c071f11\"\u003e\u003ccode\u003e89a8838\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20251105T230735Z (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1863\"\u003e#1863\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/79564e20cf5644a29a2269dcc91902b023f4afac\"\u003e\u003ccode\u003e79564e2\u003c/code\u003e\u003c/a\u003e chore: update prev version in state (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1862\"\u003e#1862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/1535eccbff0ad8f3fd6a9775316ac8b77dca66ba\"\u003e\u003ccode\u003e1535ecc\u003c/code\u003e\u003c/a\u003e feat: Add public wrapper for _mtls_helper.check_use_client_cert which enables...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/54502a73170dbe14f04769463c45c9d940f4999b\"\u003e\u003ccode\u003e54502a7\u003c/code\u003e\u003c/a\u003e chore: update secret (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1860\"\u003e#1860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/395e405b64b56ddb82ee639958c2e8056ad2e82b\"\u003e\u003ccode\u003e395e405\u003c/code\u003e\u003c/a\u003e feat: Enable mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE  is not set, if the MW...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/f2708b282b108713a8a9a04a5c0d58b253ce2217\"\u003e\u003ccode\u003ef2708b2\u003c/code\u003e\u003c/a\u003e chore: secret upadte (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1857\"\u003e#1857\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/c503eaa511357d7a76cc1e1f1d3a3be2dabd5bca\"\u003e\u003ccode\u003ec503eaa\u003c/code\u003e\u003c/a\u003e feat: onboard \u003ccode\u003egoogle-auth\u003c/code\u003e to librarian (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1838\"\u003e#1838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5d1b862db2b23b4b7ae7d243f6dbb23165636bd5\"\u003e\u003ccode\u003e5d1b862\u003c/code\u003e\u003c/a\u003e chore(main): release 2.42.1 (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1853\"\u003e#1853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b074cad460589633adfc6744c01726ae86f2aa2b\"\u003e\u003ccode\u003eb074cad\u003c/code\u003e\u003c/a\u003e fix: catch ValueError for json.loads() (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1842\"\u003e#1842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/cb62f5727854965e108c4e1790c4f9f9306fe3ce\"\u003e\u003ccode\u003ecb62f57\u003c/code\u003e\u003c/a\u003e chore: secret update (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1851\"\u003e#1851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.38.0...v2.43.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-dotenv` from 1.0.1 to 1.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/releases\"\u003epython-dotenv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport reading .env from FIFOs (Unix) by \u003ca href=\"https://github.com/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/586\"\u003etheskumar/python-dotenv#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CI to use trusted publishing on PyPI\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/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/586\"\u003etheskumar/python-dotenv#586\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.0...v1.2.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.0...v1.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: upgrade to use ruff by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/567\"\u003etheskumar/python-dotenv#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse sys.exit() instead of exit() by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/568\"\u003etheskumar/python-dotenv#568\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat:  add \u003ccode\u003ePYTHON_DOTENV_DISABLED\u003c/code\u003e flag to disable load_dotenv (fixes \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/510\"\u003e#510\u003c/a\u003e) by \u003ca href=\"https://github.com/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Python@3.14: Github CI \u0026amp; tox.ini by \u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eocs: clarify what load_dotenv() does in README by \u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group across 1 directory with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/577\"\u003etheskumar/python-dotenv#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove project metadata and config to pyproject.toml by \u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/583\"\u003etheskumar/python-dotenv#583\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/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/583\"\u003etheskumar/python-dotenv#583\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.0\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure find_dotenv work reliably on python 3.13 by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/563\"\u003etheskumar/python-dotenv#563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(cli): issue with execvpe on Windows by \u003ca href=\"https://github.com/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003etheskumar/python-dotenv#566\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/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003etheskumar/python-dotenv#566\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.1.0...v1.1.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.0...v1.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a security policy by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/512\"\u003etheskumar/python-dotenv#512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep GitHub Actions up to date with GitHub's Dependabot by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/506\"\u003etheskumar/python-dotenv#506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: fix multiline string in test.yml \u0026amp; use fail-fast strategy by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/514\"\u003etheskumar/python-dotenv#514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnhance dotenv run: Switch to execvpe for better resource management and signal handling by \u003ca href=\"https://github.com/eekstunt\"\u003e\u003ccode\u003e@​eekstunt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/523\"\u003etheskumar/python-dotenv#523\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add py3.13 to test.yml by \u003ca href=\"https://github.com/waketzheng\"\u003e\u003ccode\u003e@​waketzheng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/527\"\u003etheskumar/python-dotenv#527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Python 3.13 trove classifier by \u003ca href=\"https://github.com/edgarrmondragon\"\u003e\u003ccode\u003e@​edgarrmondragon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/535\"\u003etheskumar/python-dotenv#535\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/529\"\u003etheskumar/python-dotenv#529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for python 3.13 and drop 3.8 by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/551\"\u003etheskumar/python-dotenv#551\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Update README.md by \u003ca href=\"https://github.com/chapeupreto\"\u003e\u003ccode\u003e@​chapeupreto\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/516\"\u003etheskumar/python-dotenv#516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSome more s/Python-dotenv/python-dotenv/ by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/552\"\u003etheskumar/python-dotenv#552\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/theskumar/python-dotenv/blob/main/CHANGELOG.md\"\u003epython-dotenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.2.1] - 2025-10-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMove more config to \u003ccode\u003epyproject.toml\u003c/code\u003e, removed \u003ccode\u003esetup.cfg\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for reading \u003ccode\u003e.env\u003c/code\u003e from FIFOs (Unix) by [\u003ca href=\"https://github.com/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/586\"\u003e#586\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.2.0] - 2025-10-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade build system to use PEP 517 \u0026amp; PEP 518 to use \u003ccode\u003ebuild\u003c/code\u003e and \u003ccode\u003epyproject.toml\u003c/code\u003e by [\u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/583\"\u003e#583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.14 by [\u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/563\"\u003e#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for disabling of \u003ccode\u003eload_dotenv()\u003c/code\u003e using \u003ccode\u003ePYTHON_DOTENV_DISABLED\u003c/code\u003e env var. by [\u003ca href=\"https://github.com/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/569\"\u003e#569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.1.1] - 2025-06-24\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCLI: Ensure \u003ccode\u003efind_dotenv\u003c/code\u003e work reliably on python 3.13 by [\u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/563\"\u003e#563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI: revert the use of execvpe on Windows by [\u003ca href=\"https://github.com/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003e#566\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.1.0] - 2025-03-25\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFeature\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for python 3.13\u003c/li\u003e\n\u003cli\u003eEnhance \u003ccode\u003edotenv run\u003c/code\u003e, switch to \u003ccode\u003eexecvpe\u003c/code\u003e for better resource management and signal handling (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/523\"\u003e#523\u003c/a\u003e) by [\u003ca href=\"https://github.com/eekstunt\"\u003e\u003ccode\u003e@​eekstunt\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFixed\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003efind_dotenv\u003c/code\u003e and \u003ccode\u003eload_dotenv\u003c/code\u003e now correctly looks up at the current directory when running in debugger or pdb (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/553\"\u003e#553\u003c/a\u003e by [\u003ca href=\"https://github.com/randomseed42\"\u003e\u003ccode\u003e@​randomseed42\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eMisc\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/eaf2a9129ccec6febda0f741eb3bb852c3f947bd\"\u003e\u003ccode\u003eeaf2a91\u003c/code\u003e\u003c/a\u003e Do not remove .coverage file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/8716196891532eeb67d24a513e8d975437f5e8b7\"\u003e\u003ccode\u003e8716196\u003c/code\u003e\u003c/a\u003e Bump version: 1.2.0 → 1.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/b87807fcad6e74332c3c63a75c92ce5814fa7a55\"\u003e\u003ccode\u003eb87807f\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/3af77d3029eb717aeec0a3c25f751b6a614a6d3c\"\u003e\u003ccode\u003e3af77d3\u003c/code\u003e\u003c/a\u003e Support reading .env from FIFOs (Unix) (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/586\"\u003e#586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/467ee22fccb2fb7ccda71a0d9e37c6ea3cb8d993\"\u003e\u003ccode\u003e467ee22\u003c/code\u003e\u003c/a\u003e Fix test failures after moving config to pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/76999e741d87e958ebd74e3ae9834c0514e77a59\"\u003e\u003ccode\u003e76999e7\u003c/code\u003e\u003c/a\u003e Move more config pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/222ce2cc58ebc82ba78da8781269267b9f585932\"\u003e\u003ccode\u003e222ce2c\u003c/code\u003e\u003c/a\u003e Update to use trusted publisher on pypi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/8ed4f79d202eba582b44bdf1f5deb726dd68783d\"\u003e\u003ccode\u003e8ed4f79\u003c/code\u003e\u003c/a\u003e Update docs requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/5bf882241c607445bf02cf5b241535d62e2b99c1\"\u003e\u003ccode\u003e5bf8822\u003c/code\u003e\u003c/a\u003e Bump version: 1.1.1 → 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/1fe11cc737ee4399e9c51d1b69b0dd858f6b4669\"\u003e\u003ccode\u003e1fe11cc\u003c/code\u003e\u003c/a\u003e upadate changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.0.1...v1.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `orjson` from 3.10.16 to 3.11.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.4\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.85 or later instead of 1.82.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.1\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePublish PyPI wheels for CPython 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003estr\u003c/code\u003e on big-endian architectures.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse a deserialization buffer allocated per request instead of a shared buffer allocated on import.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.14 beta 4.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.10.18\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix incorrect escaping of the vertical tabulation character. This was\nintroduced in 3.10.17.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.10.17\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePublish PyPI Windows aarch64/arm64 wheels.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.14 alpha 7.\u003c/li\u003e\n\u003cli\u003eFix incompatibility running on Python 3.13 using WASM.\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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.4 - 2025-10-24\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3 - 2025-08-26\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2 - 2025-08-12\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.85 or later instead of 1.82.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.1 - 2025-07-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePublish PyPI wheels for CPython 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003estr\u003c/code\u003e on big-endian architectures. This was introduced in 3.11.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.0 - 2025-07-15\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse a deserialization buffer allocated per request instead of a shared\nbuffer allocated on import.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.14 beta 4.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.10.18 - 2025-04-29\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/ijl/orjson/commit/a4fdeb3aff125d501ec0dd0577f9b38b2b977b4f\"\u003e\u003ccode\u003ea4fdeb3\u003c/code\u003e\u003c/a\u003e 3.11.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/2e80d68afacafca8751e6a64ca05d0d4087dbd15\"\u003e\u003ccode\u003e2e80d68\u003c/code\u003e\u003c/a\u003e unlikely to cold_path, remove intrinsics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/27edea92f8da2fdfc3f1342474e2f1686f1edf55\"\u003e\u003ccode\u003e27edea9\u003c/code\u003e\u003c/a\u003e FFI through crate::ffi, partial non-CPython compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/416a8c9578da780d0d58b5e6b751793deafc610d\"\u003e\u003ccode\u003e416a8c9\u003c/code\u003e\u003c/a\u003e Unconditionally build yyjson\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/c8c1a17dca8436a2fee05ca060febd096e653d98\"\u003e\u003ccode\u003ec8c1a17\u003c/code\u003e\u003c/a\u003e edition 2024\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/af4179a1fa0aafffd0f867203b6c36e9a522f165\"\u003e\u003ccode\u003eaf4179a\u003c/code\u003e\u003c/a\u003e build maintenance, panic_immediate_abort break, test 3.15\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/aa8c946cfbe2aba29016bc9c9ddc8713cb00173b\"\u003e\u003ccode\u003eaa8c946\u003c/code\u003e\u003c/a\u003e 3.11.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/2442efc125068e43bec97c26e3a6b5da8932936c\"\u003e\u003ccode\u003e2442efc\u003c/code\u003e\u003c/a\u003e Fix PyPI project metadata when using maturin 1.9.2 or later\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/ba760146e7bc407d729436d8dbcb9e1495c83773\"\u003e\u003ccode\u003eba76014\u003c/code\u003e\u003c/a\u003e 3.11.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/49315905a4f071f2279b6df87125ca94780b5173\"\u003e\u003ccode\u003e4931590\u003c/code\u003e\u003c/a\u003e CPython compatibility misc\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ijl/orjson/compare/3.10.16...3.11.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `geoalchemy2` from 0.17.1 to 0.18.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/geoalchemy/geoalchemy2/releases\"\u003egeoalchemy2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.18.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBuild: Deprecate Py\u0026lt;3.10 by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/538\"\u003egeoalchemy/geoalchemy2#538\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeat: Add more return types for spatial functions and update some typehints by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/540\"\u003egeoalchemy/geoalchemy2#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCompile literal binds by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/543\"\u003egeoalchemy/geoalchemy2#543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeat: Improve Geometry initializer to make the dimension optional by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/544\"\u003egeoalchemy/geoalchemy2#544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore (mariadb): Stop converting WKB to WKT by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/545\"\u003egeoalchemy/geoalchemy2#545\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs: Update doc to run the tests inside docker containers by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/546\"\u003egeoalchemy/geoalchemy2#546\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest: Add benchmark tests by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/547\"\u003egeoalchemy/geoalchemy2#547\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest: Add more benchmarks by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/553\"\u003egeoalchemy/geoalchemy2#553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore: Create FUNDING.yml by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/554\"\u003egeoalchemy/geoalchemy2#554\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest: Improve readbility of benchmark results by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/556\"\u003egeoalchemy/geoalchemy2#556\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePerf: Define \u003cstrong\u003eslots\u003c/strong\u003e in element classes to reduce memory usage of elements by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/555\"\u003egeoalchemy/geoalchemy2#555\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeat: Handle computed columns by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/557\"\u003egeoalchemy/geoalchemy2#557\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Remove warning message from MySQL/MariaDB reflection by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/560\"\u003egeoalchemy/geoalchemy2#560\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore: Move reflection type registering by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/561\"\u003egeoalchemy/geoalchemy2#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs: correct doc strings by \u003ca href=\"https://github.com/pjonsson\"\u003e\u003ccode\u003e@​pjonsson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/562\"\u003egeoalchemy/geoalchemy2#562\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeat: Add support of spatial indexes for Raster type for PostgreSQL by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/564\"\u003egeoalchemy/geoalchemy2#564\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease: 0.18.0 by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/565\"\u003egeoalchemy/geoalchemy2#565\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/pjonsson\"\u003e\u003ccode\u003e@​pjonsson\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/562\"\u003egeoalchemy/geoalchemy2#562\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/geoalchemy/geoalchemy2/compare/0.17.1...0.18.0\"\u003ehttps://github.com/geoalchemy/geoalchemy2/compare/0.17.1...0.18.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/geoalchemy/geoalchemy2/blob/master/CHANGES.txt\"\u003egeoalchemy2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.18.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeat: Add support of spatial indexes for Raster type for PostgreSQL \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocs: Fix doc strings for cache enabled - \u003ca href=\"https://github.com/pjonsson\"\u003e\u003ccode\u003e@​pjonsson\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/562\"\u003e#562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore: Move reflection type registering \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e(papacodebear/master) Fix: Remove warning from MySQL/MariaDB reflection \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/560\"\u003e#560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat: Handle computed columns \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/557\"\u003e#557\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest: Improve readability of benchmark results \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/556\"\u003e#556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePerf: Define \u003cstrong\u003eslots\u003c/strong\u003e in element classes to reduce memory usage of elements \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/555\"\u003e#555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore: Create FUNDING.yml \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/554\"\u003e#554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest: Add more benchmarks \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/553\"\u003e#553\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest: Add benchmark tests \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/547\"\u003e#547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocs: Update doc to run the tests inside docker container \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/546\"\u003e#546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePerf (mariadb): Stop converting WKB to WKT \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/545\"\u003e#545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat: Improve Geometry initializer to make the dimension optional \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/544\"\u003e#544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat: Compile literal binds properly \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/543\"\u003e#543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat: Add more return types for spatial functions and update some typehints \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/540\"\u003e#540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBuild: Deprecate Py\u0026lt;3.10 \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/538\"\u003e#538\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/geoalchemy/geoalchemy2/commit/60767082df9f4587fadd56ab94847ebc39df8295\"\u003e\u003ccode\u003e6076708\u003c/code\u003e\u003c/a\u003e Release: 0.18.0 (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/565\"\u003e#565\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/e13112177bdf79cae0d72a6e89d815dc272e3dc5\"\u003e\u003ccode\u003ee131121\u003c/code\u003e\u003c/a\u003e Feat: Add support of spatial indexes for Raster type for PostgreSQL (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/0b432086a0c3b8ab160c5cc1864aa65e02f35362\"\u003e\u003ccode\u003e0b43208\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/563\"\u003e#563\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/8791b2eec013f21f599ca060d9fee4aba72ec2a1\"\u003e\u003ccode\u003e8791b2e\u003c/code\u003e\u003c/a\u003e Docs: Fix doc strings for cache enabled (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/562\"\u003e#562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/d3c1d04c8b462c61132403e44a7a4f04a487c142\"\u003e\u003ccode\u003ed3c1d04\u003c/code\u003e\u003c/a\u003e Chore: Move reflection type registering (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/24dc5d05d97fb9a2a57103c1823a58f06940a5e8\"\u003e\u003ccode\u003e24dc5d0\u003c/code\u003e\u003c/a\u003e Fix: Remove warning from MySQL/MariaDB reflection (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/560\"\u003e#560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/71f7914d4ddf7d9c46c772e36a8463e20901966a\"\u003e\u003ccode\u003e71f7914\u003c/code\u003e\u003c/a\u003e Feat: Handle computed columns (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/557\"\u003e#557\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/c139cdbca62019d92d18f12429706732777c38e2\"\u003e\u003ccode\u003ec139cdb\u003c/code\u003e\u003c/a\u003e Perf: Define \u003cstrong\u003eslots\u003c/strong\u003e in element classes to reduce memory usage of elements ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/2e94baa4f3ac23e0160ed841d4efe7ceb3fa2378\"\u003e\u003ccode\u003e2e94baa\u003c/code\u003e\u003c/a\u003e Test: Improve readbility of benchmark results (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/556\"\u003e#556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/84292bc352ab7ff1102a0529772d32afb0309616\"\u003e\u003ccode\u003e84292bc\u003c/code\u003e\u003c/a\u003e Chore: Create FUNDING.yml (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/554\"\u003e#554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/geoalchemy/geoalchemy2/compare/0.17.1...0.18.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gql` from 3.5.2 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/graphql-python/gql/releases\"\u003egql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChange transports prototype using GraphQLRequest (\u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/551\"\u003e#551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUsing GraphQLRequest instead of DocumentNode for gql, execute, subscribe methods (\u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/556\"\u003e#556\u003c/a\u003e):\n\u003cstrong\u003eThis is a big change:\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003ethe \u003ccode\u003egql\u003c/code\u003e and \u003ccode\u003edsl_gql\u003c/code\u003e methods will now return a \u003ccode\u003eGraphQLRequest\u003c/code\u003e instead of a \u003ccode\u003eDocument\u003c/code\u003e Node\na \u003ccode\u003eGraphQLRequest\u003c/code\u003e is an object containing the document and optional \u003ccode\u003evariable_values\u003c/code\u003e and \u003ccode\u003eoperation_name\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eALL the \u003ccode\u003eexecute\u003c/code\u003e and \u003ccode\u003esubscribe\u003c/code\u003e methods now receive a \u003ccode\u003eGraphQLRequest\u003c/code\u003e as main argument instead of\na \u003ccode\u003eDocumentNode\u003c/code\u003e, \u003ccode\u003evariable_values\u003c/code\u003e and \u003ccode\u003eoperation_name\u003c/code\u003e arguments\u003c/li\u003e\n\u003cli\u003eThe old method of sending \u003ccode\u003evariable_values\u003c/code\u003e as an argument of \u003ccode\u003eexecute\u003c/code\u003e or \u003ccode\u003esubscribe\u003c/code\u003e still works but is deprecated\nSee \u003ca href=\"https://gql.readthedocs.io/en/latest/usage/variables.html\"\u003ehttps://gql.readthedocs.io/en/latest/usage/variables.html\u003c/a\u003e for the new syntax.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix subscription task cancel exception swallow (\u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/548\"\u003e#548\u003c/a\u003e):\nPreviously if a task was cancelled while a subscription task was active,\nthe \u003ccode\u003easyncio.CancelledError\u003c/code\u003e Exception would be swallowed by our code.\nThis is not the case anymore so you should now trap that Exception yourself.\u003c/li\u003e\n\u003cli\u003eClean up the file upload interface with FileVar class (\u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/549\"\u003e#549\u003c/a\u003e):\nThe file upload functionality has been modified to require \u003ccode\u003eFileVar\u003c/code\u003e instances\nfor uploaded files (the old method still works but is deprecated).\nSee \u003ca href=\"https://gql.readthedocs.io/en/latest/usage/file_upload.html\"\u003ehttps://gql.readthedocs.io/en/latest/usage/file_upload.html\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSet logging level to DEBUG for all transports (\u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/552\"\u003e#552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eintrospection now requests deprecated input fields by default (\u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/553\"\u003e#553\u003c/a\u003e)\nNote that some backends might not support this and return \u003ccode\u003eUnknown argument includeDeprecated\u003c/code\u003e. See \u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/564\"\u003e#564\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTrapping dependencies Exceptions into TransportConnectionFailed (\u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/558\"\u003e#558\u003c/a\u003e):\nNow gql will trap Exceptions raised by dependencies when executing a request and will\nencapsulate that Exception into the \u003ccode\u003eTransportConnectionFailed\u003c/code\u003e Exception\u003c/li\u003e\n\u003cli\u003eSet \u003cstrong\u003essl=True\u003c/strong\u003e by default for AIOHTTPTransport (\u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/538\"\u003e#538\u003c/a\u003e) (issue \u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/529\"\u003e#529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003eTransportConnectionClosed\u003c/code\u003e Exception replacing \u003ccode\u003eConnectionClosed\u003c/code\u003e Exception (\u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/536\"\u003e#536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ewebsocket\u003c/code\u003e attribute removed from transport, now using \u003ccode\u003e_connected\u003c/code\u003e instead (\u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/536\"\u003e#536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade lastest websockets and Exceptions overhaul (\u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/543\"\u003e#543\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cp\u003eBatching requests is now fully supported, on sync or async transports, with automatic batching:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImplementation of execute_batch for async transports (\u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/550\"\u003e#550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplementation of automatic batching for async (\u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/554\"\u003e#554\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://gql.readthedocs.io/en/latest/advanced/batching_requests.html\"\u003ehttps://gql.readthedocs.io/en/latest/advanced/batching_requests.html\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix httpx test deprecated warning (\u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/542\"\u003e#542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor websoc...\n\n_Description has been truncated_","html_url":"https://github.com/Canner/wren-engine/pull/1379","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Canner%2Fwren-engine/issues/1379","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1379/packages"},{"uuid":"3633347426","node_id":"PR_kwDOMHVffc6z23Pp","number":72,"state":"closed","title":"Bump the python-packages group across 1 directory with 67 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-11-24T13:46:51.000Z","author_association":null,"state_reason":null,"created_at":"2025-11-17T13:28:41.000Z","updated_at":"2025-11-24T13:46:53.000Z","time_to_close":605890,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"python-packages","update_count":67,"packages":[{"name":"anyio","old_version":"4.9.0","new_version":"4.11.0","repository_url":"https://github.com/agronholm/anyio"},{"name":"argon2-cffi-bindings","old_version":"21.2.0","new_version":"25.1.0","repository_url":"https://github.com/hynek/argon2-cffi-bindings"},{"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":"attrs","old_version":"25.3.0","new_version":"25.4.0","repository_url":"https://github.com/sponsors/hynek"},{"name":"beautifulsoup4","old_version":"4.13.4","new_version":"4.14.2"},{"name":"bleach","old_version":"6.2.0","new_version":"6.3.0","repository_url":"https://github.com/mozilla/bleach"},{"name":"certifi","old_version":"2025.6.15","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":"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.1.8","new_version":"8.3.1","repository_url":"https://github.com/pallets/click"},{"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.1","new_version":"1.3.3","repository_url":"https://github.com/contourpy/contourpy"},{"name":"debugpy","old_version":"1.8.14","new_version":"1.8.17","repository_url":"https://github.com/microsoft/debugpy"},{"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":"flask","old_version":"3.1.1","new_version":"3.1.2","repository_url":"https://github.com/pallets/flask"},{"name":"fonttools","old_version":"4.58.4","new_version":"4.60.1","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":"imbalanced-learn","old_version":"0.13.0","new_version":"0.14.0","repository_url":"https://github.com/scikit-learn-contrib/imbalanced-learn"},{"name":"ipykernel","old_version":"6.29.5","new_version":"7.1.0","repository_url":"https://github.com/ipython/ipykernel"},{"name":"ipython","old_version":"9.0.2","new_version":"9.7.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":"joblib","old_version":"1.5.1","new_version":"1.5.2","repository_url":"https://github.com/joblib/joblib"},{"name":"json5","old_version":"0.12.0","new_version":"0.12.1","repository_url":"https://github.com/dpranke/pyjson5"},{"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-lsp","old_version":"2.2.5","new_version":"2.3.0","repository_url":"https://github.com/jupyter-lsp/jupyterlab-lsp"},{"name":"jupyter-core","old_version":"5.8.1","new_version":"5.9.1","repository_url":"https://github.com/jupyter/jupyter_core"},{"name":"jupyter-server","old_version":"2.16.0","new_version":"2.17.0","repository_url":"https://github.com/jupyter-server/jupyter_server"},{"name":"jupyterlab","old_version":"4.4.4","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":"jupyterlab-widgets","old_version":"3.0.15","new_version":"3.0.16","repository_url":"https://github.com/jupyter-widgets/ipywidgets"},{"name":"kiwisolver","old_version":"1.4.8","new_version":"1.4.9","repository_url":"https://github.com/nucleic/kiwi"},{"name":"markupsafe","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/pallets/markupsafe"},{"name":"matplotlib","old_version":"3.10.1","new_version":"3.10.7","repository_url":"https://github.com/matplotlib/matplotlib"},{"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.3","new_version":"3.1.4","repository_url":"https://github.com/lepture/mistune"},{"name":"nltk","old_version":"3.9.1","new_version":"3.9.2","repository_url":"https://github.com/nltk/nltk"},{"name":"notebook","old_version":"7.4.4","new_version":"7.4.7","repository_url":"https://github.com/jupyter/notebook"},{"name":"numpy","old_version":"2.2.4","new_version":"2.3.5","repository_url":"https://github.com/numpy/numpy"},{"name":"pandas","old_version":"2.3.0","new_version":"2.3.3","repository_url":"https://github.com/pandas-dev/pandas"},{"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.0","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"prometheus-client","old_version":"0.22.1","new_version":"0.23.1","repository_url":"https://github.com/prometheus/client_python"},{"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":"pyparsing","old_version":"3.2.3","new_version":"3.2.5","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"python-json-logger","old_version":"3.3.0","new_version":"4.0.0","repository_url":"https://github.com/nhairs/python-json-logger"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"pyzmq","old_version":"27.0.0","new_version":"27.1.0","repository_url":"https://github.com/zeromq/pyzmq"},{"name":"qtconsole","old_version":"5.6.1","new_version":"5.7.0","repository_url":"https://github.com/jupyter/qtconsole"},{"name":"referencing","old_version":"0.36.2","new_version":"0.37.0","repository_url":"https://github.com/python-jsonschema/referencing"},{"name":"regex","old_version":"2024.11.6","new_version":"2025.11.3","repository_url":"https://github.com/mrabarnett/mrab-regex"},{"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.29.0","repository_url":"https://github.com/crate-py/rpds"},{"name":"scikit-learn","old_version":"1.6.1","new_version":"1.7.2","repository_url":"https://github.com/scikit-learn/scikit-learn"},{"name":"scipy","old_version":"1.15.2","new_version":"1.16.3","repository_url":"https://github.com/scipy/scipy"},{"name":"soupsieve","old_version":"2.7","new_version":"2.8","repository_url":"https://github.com/facelessuser/soupsieve"},{"name":"tornado","old_version":"6.5.1","new_version":"6.5.2","repository_url":"https://github.com/tornadoweb/tornado"},{"name":"types-python-dateutil","old_version":"2.9.0.20250516","new_version":"2.9.0.20251115","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"wcwidth","old_version":"0.2.13","new_version":"0.2.14","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":"widgetsnbextension","old_version":"4.0.14","new_version":"4.0.15"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-packages group with 67 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [anyio](https://github.com/agronholm/anyio) | `4.9.0` | `4.11.0` |\n| [argon2-cffi-bindings](https://github.com/hynek/argon2-cffi-bindings) | `21.2.0` | `25.1.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| [attrs](https://github.com/sponsors/hynek) | `25.3.0` | `25.4.0` |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.13.4` | `4.14.2` |\n| [bleach](https://github.com/mozilla/bleach) | `6.2.0` | `6.3.0` |\n| [certifi](https://github.com/certifi/python-certifi) | `2025.6.15` | `2025.11.12` |\n| [cffi](https://github.com/python-cffi/cffi) | `1.17.1` | `2.0.0` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.2` | `3.4.4` |\n| [click](https://github.com/pallets/click) | `8.1.8` | `8.3.1` |\n| [comm](https://github.com/ipython/comm) | `0.2.2` | `0.2.3` |\n| [contourpy](https://github.com/contourpy/contourpy) | `1.3.1` | `1.3.3` |\n| [debugpy](https://github.com/microsoft/debugpy) | `1.8.14` | `1.8.17` |\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| [flask](https://github.com/pallets/flask) | `3.1.1` | `3.1.2` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.58.4` | `4.60.1` |\n| [idna](https://github.com/kjd/idna) | `3.10` | `3.11` |\n| [imbalanced-learn](https://github.com/scikit-learn-contrib/imbalanced-learn) | `0.13.0` | `0.14.0` |\n| [ipykernel](https://github.com/ipython/ipykernel) | `6.29.5` | `7.1.0` |\n| [ipython](https://github.com/ipython/ipython) | `9.0.2` | `9.7.0` |\n| [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) | `8.1.7` | `8.1.8` |\n| [joblib](https://github.com/joblib/joblib) | `1.5.1` | `1.5.2` |\n| [json5](https://github.com/dpranke/pyjson5) | `0.12.0` | `0.12.1` |\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-lsp](https://github.com/jupyter-lsp/jupyterlab-lsp) | `2.2.5` | `2.3.0` |\n| [jupyter-core](https://github.com/jupyter/jupyter_core) | `5.8.1` | `5.9.1` |\n| [jupyter-server](https://github.com/jupyter-server/jupyter_server) | `2.16.0` | `2.17.0` |\n| [jupyterlab](https://github.com/jupyterlab/jupyterlab) | `4.4.4` | `4.4.10` |\n| [jupyterlab-server](https://github.com/jupyterlab/jupyterlab_server) | `2.27.3` | `2.28.0` |\n| [jupyterlab-widgets](https://github.com/jupyter-widgets/ipywidgets) | `3.0.15` | `3.0.16` |\n| [kiwisolver](https://github.com/nucleic/kiwi) | `1.4.8` | `1.4.9` |\n| [markupsafe](https://github.com/pallets/markupsafe) | `3.0.2` | `3.0.3` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.10.1` | `3.10.7` |\n| [matplotlib-inline](https://github.com/ipython/matplotlib-inline) | `0.1.7` | `0.2.1` |\n| [mistune](https://github.com/lepture/mistune) | `3.1.3` | `3.1.4` |\n| [nltk](https://github.com/nltk/nltk) | `3.9.1` | `3.9.2` |\n| [notebook](https://github.com/jupyter/notebook) | `7.4.4` | `7.4.7` |\n| [numpy](https://github.com/numpy/numpy) | `2.2.4` | `2.3.5` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.0` | `2.3.3` |\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.0` |\n| [prometheus-client](https://github.com/prometheus/client_python) | `0.22.1` | `0.23.1` |\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| [pyparsing](https://github.com/pyparsing/pyparsing) | `3.2.3` | `3.2.5` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `3.3.0` | `4.0.0` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [pyzmq](https://github.com/zeromq/pyzmq) | `27.0.0` | `27.1.0` |\n| [qtconsole](https://github.com/jupyter/qtconsole) | `5.6.1` | `5.7.0` |\n| [referencing](https://github.com/python-jsonschema/referencing) | `0.36.2` | `0.37.0` |\n| [regex](https://github.com/mrabarnett/mrab-regex) | `2024.11.6` | `2025.11.3` |\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.29.0` |\n| [scikit-learn](https://github.com/scikit-learn/scikit-learn) | `1.6.1` | `1.7.2` |\n| [scipy](https://github.com/scipy/scipy) | `1.15.2` | `1.16.3` |\n| [soupsieve](https://github.com/facelessuser/soupsieve) | `2.7` | `2.8` |\n| [tornado](https://github.com/tornadoweb/tornado) | `6.5.1` | `6.5.2` |\n| [types-python-dateutil](https://github.com/typeshed-internal/stub_uploader) | `2.9.0.20250516` | `2.9.0.20251115` |\n| [wcwidth](https://github.com/jquast/wcwidth) | `0.2.13` | `0.2.14` |\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 `anyio` from 4.9.0 to 4.11.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.11.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for cancellation reasons (the \u003ccode\u003ereason\u003c/code\u003e parameter to \u003ccode\u003eCancelScope.cancel()\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/975\"\u003e#975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBumped the minimum version of Trio to v0.31.0\u003c/li\u003e\n\u003cli\u003eAdded the ability to enter the event loop from foreign (non-worker) threads by passing the return value of \u003ccode\u003eanyio.lowlevel.current_token()\u003c/code\u003e to \u003ccode\u003eanyio.from_thread.run()\u003c/code\u003e and \u003ccode\u003eanyio.from_thread.run_sync()\u003c/code\u003e as the \u003ccode\u003etoken\u003c/code\u003e keyword argument (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/256\"\u003e#256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded pytest option (\u003ccode\u003eanyio_mode = \u0026quot;auto\u0026quot;\u003c/code\u003e) to make the pytest plugin automatically handle all async tests (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/971\"\u003e#971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded the \u003ccode\u003eanyio.Condition.wait_for()\u003c/code\u003e method for feature parity with asyncio (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/974\"\u003e#974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged the default type argument of \u003ccode\u003eanyio.abc.TaskStatus\u003c/code\u003e from \u003ccode\u003eAny\u003c/code\u003e to \u003ccode\u003eNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/964\"\u003e#964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed TCP listener behavior to guarantee the same ephemeral port is used for all socket listeners when \u003ccode\u003elocal_port=0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/857\"\u003e#857\u003c/a\u003e; PR by \u003ca href=\"https://github.com/11kkw\"\u003e\u003ccode\u003e@​11kkw\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/agronholm\"\u003e\u003ccode\u003e@​agronholm\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed inconsistency between Trio and asyncio where a TCP stream that previously raised a \u003ccode\u003eBrokenResourceError\u003c/code\u003e on \u003ccode\u003esend()\u003c/code\u003e would still raise \u003ccode\u003eBrokenResourceError\u003c/code\u003e after the stream was closed on asyncio, but \u003ccode\u003eClosedResourceError\u003c/code\u003e on Trio. They now both raise a \u003ccode\u003eClosedResourceError\u003c/code\u003e in this scenario. (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/671\"\u003e#671\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.10.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded the \u003ccode\u003efeed_data()\u003c/code\u003e method to the \u003ccode\u003eBufferedByteReceiveStream\u003c/code\u003e class, allowing users to inject data directly into the buffer\u003c/li\u003e\n\u003cli\u003eAdded various class methods to wrap existing sockets as listeners or socket streams:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSocketListener.from_socket()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSocketStream.from_socket()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eUNIXSocketStream.from_socket()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eUDPSocket.from_socket()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnectedUDPSocket.from_socket()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eUNIXDatagramSocket.from_socket()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnectedUNIXDatagramSocket.from_socket()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded a hierarchy of connectable stream classes for transparently connecting to various remote or local endpoints for exchanging bytes or objects\u003c/li\u003e\n\u003cli\u003eAdded context manager mix-in classes (\u003ccode\u003eanyio.ContextManagerMixin\u003c/code\u003e and \u003ccode\u003eanyio.AsyncContextManagerMixin\u003c/code\u003e) to help write classes that embed other context managers, particularly cancel scopes or task groups (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/905\"\u003e#905\u003c/a\u003e; PR by \u003ca href=\"https://github.com/agronholm\"\u003e\u003ccode\u003e@​agronholm\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/tapetersen\"\u003e\u003ccode\u003e@​tapetersen\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded the ability to specify the thread name in \u003ccode\u003estart_blocking_portal()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/818\"\u003e#818\u003c/a\u003e; PR by \u003ca href=\"https://github.com/davidbrochart\"\u003e\u003ccode\u003e@​davidbrochart\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eanyio.notify_closing\u003c/code\u003e to allow waking \u003ccode\u003eanyio.wait_readable\u003c/code\u003e and \u003ccode\u003eanyio.wait_writable\u003c/code\u003e before closing a socket. Among other things, this prevents an OSError on the \u003ccode\u003eProactorEventLoop\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/896\"\u003e#896\u003c/a\u003e; PR by \u003ca href=\"https://github.com/graingert\"\u003e\u003ccode\u003e@​graingert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIncorporated several documentation improvements from the EuroPython 2025 sprint (special thanks to the sprinters: Emmanuel Okedele, Jan Murre, Euxenia Miruna Goia and Christoffer Fjord)\u003c/li\u003e\n\u003cli\u003eAdded a documentation page explaining why one might want to use AnyIO's APIs instead of asyncio's\u003c/li\u003e\n\u003cli\u003eUpdated the \u003ccode\u003eto_interpreters\u003c/code\u003e module to use the public \u003ccode\u003econcurrent.interpreters\u003c/code\u003e API on Python 3.14 or later\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eanyio.Path.copy()\u003c/code\u003e and \u003ccode\u003eanyio.Path.copy_into()\u003c/code\u003e failing on Python 3.14.0a7\u003c/li\u003e\n\u003cli\u003eFixed return annotation of \u003ccode\u003e__aexit__\u003c/code\u003e on async context managers. CMs which can suppress exceptions should return \u003ccode\u003ebool\u003c/code\u003e, or \u003ccode\u003eNone\u003c/code\u003e otherwise. (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/913\"\u003e#913\u003c/a\u003e; PR by \u003ca href=\"https://github.com/Enegg\"\u003e\u003ccode\u003e@​Enegg\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed rollover boundary check in \u003ccode\u003eSpooledTemporaryFile\u003c/code\u003e so that rollover only occurs when the buffer size exceeds \u003ccode\u003emax_size\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/915\"\u003e#915\u003c/a\u003e; PR by \u003ca href=\"https://github.com/11kkw\"\u003e\u003ccode\u003e@​11kkw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMigrated testing and documentation dependencies from extras to dependency groups\u003c/li\u003e\n\u003cli\u003eFixed compatibility of \u003ccode\u003eanyio.to_interpreter\u003c/code\u003e with Python 3.14.0b2 (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/926\"\u003e#926\u003c/a\u003e; PR by \u003ca href=\"https://github.com/hroncok\"\u003e\u003ccode\u003e@​hroncok\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSyntaxWarning\u003c/code\u003e on Python 3.14 about \u003ccode\u003ereturn\u003c/code\u003e in \u003ccode\u003efinally\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/816\"\u003e#816\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed RunVar name conflicts. RunVar instances with the same name should not share storage (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/880\"\u003e#880\u003c/a\u003e; PR by \u003ca href=\"https://github.com/vimfu\"\u003e\u003ccode\u003e@​vimfu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRenamed the \u003ccode\u003eBrokenWorkerIntepreter\u003c/code\u003e exception to \u003ccode\u003eBrokenWorkerInterpreter\u003c/code\u003e. The old name is available as a deprecated alias. (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/938\"\u003e#938\u003c/a\u003e; PR by \u003ca href=\"https://github.com/ayussh-verma\"\u003e\u003ccode\u003e@​ayussh-verma\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed an edge case in \u003ccode\u003eCapacityLimiter\u003c/code\u003e on asyncio where a task, waiting to acquire a limiter gets cancelled and is subsequently granted a token from the limiter, but before the cancellation is delivered, and then fails to notify the next waiting task (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/947\"\u003e#947\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/agronholm/anyio/blob/master/docs/versionhistory.rst\"\u003eanyio's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eVersion history\u003c/h1\u003e\n\u003cp\u003eThis library adheres to \u003ccode\u003eSemantic Versioning 2.0 \u0026lt;http://semver.org/\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eUNRELEASED\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for asyncio's \u003ccode\u003etask call graphs\u003c/code\u003e_ on Python 3.14 and later when using\nAnyIO's task groups\n(\u003ccode\u003e[#1025](https://github.com/agronholm/anyio/issues/1025) \u0026lt;https://github.com/agronholm/anyio/pull/1025\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eAdded an asynchronous implementation of the \u003ccode\u003efunctools\u003c/code\u003e module\n(\u003ccode\u003e[#1001](https://github.com/agronholm/anyio/issues/1001) \u0026lt;https://github.com/agronholm/anyio/pull/1001\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003euvloop=True\u003c/code\u003e on Windows via the winloop_ implementation\n(\u003ccode\u003e[#960](https://github.com/agronholm/anyio/issues/960) \u0026lt;https://github.com/agronholm/anyio/pull/960\u0026gt;\u003c/code\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\n(\u003ccode\u003e[#1003](https://github.com/agronholm/anyio/issues/1003) \u0026lt;https://github.com/agronholm/anyio/pull/1003\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003e__all__\u003c/code\u003e declarations to public submodules (\u003ccode\u003eanyio.lowlevel\u003c/code\u003e etc.)\n(\u003ccode\u003e[#1009](https://github.com/agronholm/anyio/issues/1009) \u0026lt;https://github.com/agronholm/anyio/pull/1009\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eAdded the ability to set the token count of a \u003ccode\u003eCapacityLimiter\u003c/code\u003e to zero\n(\u003ccode\u003e[#1019](https://github.com/agronholm/anyio/issues/1019) \u0026lt;https://github.com/agronholm/anyio/pull/1019\u0026gt;\u003c/code\u003e_; requires Python 3.10 or\nlater when using Trio)\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\nfunction (\u003ccode\u003e[#1021](https://github.com/agronholm/anyio/issues/1021) \u0026lt;https://github.com/agronholm/anyio/pull/1021\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eProcess.stdin.send()\u003c/code\u003e not raising \u003ccode\u003eClosedResourceError\u003c/code\u003e and\n\u003ccode\u003eBrokenResourceError\u003c/code\u003e on asyncio. Previously, a non-AnyIO exception was raised in\nsuch cases (\u003ccode\u003e[#671](https://github.com/agronholm/anyio/issues/671) \u0026lt;https://github.com/agronholm/anyio/issues/671\u0026gt;\u003c/code\u003e_; PR by\n\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\n(\u003ccode\u003e[#1002](https://github.com/agronholm/anyio/issues/1002) \u0026lt;https://github.com/agronholm/anyio/issues/1002\u0026gt;\u003c/code\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\n\u003ccode\u003eBlockingPortal.start_task_soon()\u003c/code\u003e would sometimes not cancel the async function\n(\u003ccode\u003e[#1011](https://github.com/agronholm/anyio/issues/1011) \u0026lt;https://github.com/agronholm/anyio/issues/1011\u0026gt;\u003c/code\u003e_; PR by \u003ca href=\"https://github.com/gschaffner\"\u003e\u003ccode\u003e@​gschaffner\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _task call graphs: \u003ca href=\"https://docs.python.org/3/library/asyncio-graph.html\"\u003ehttps://docs.python.org/3/library/asyncio-graph.html\u003c/a\u003e\n.. _winloop: \u003ca href=\"https://github.com/Vizonex/Winloop\"\u003ehttps://github.com/Vizonex/Winloop\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e4.11.0\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for cancellation reasons (the \u003ccode\u003ereason\u003c/code\u003e parameter to\n\u003ccode\u003eCancelScope.cancel()\u003c/code\u003e)\n(\u003ccode\u003e[#975](https://github.com/agronholm/anyio/issues/975) \u0026lt;https://github.com/agronholm/anyio/pull/975\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eBumped the minimum version of Trio to v0.31.0\u003c/li\u003e\n\u003cli\u003eAdded the ability to enter the event loop from foreign (non-worker) threads by\npassing the return value of \u003ccode\u003eanyio.lowlevel.current_token()\u003c/code\u003e to\n\u003ccode\u003eanyio.from_thread.run()\u003c/code\u003e and \u003ccode\u003eanyio.from_thread.run_sync()\u003c/code\u003e as the \u003ccode\u003etoken\u003c/code\u003e\nkeyword argument (\u003ccode\u003e[#256](https://github.com/agronholm/anyio/issues/256) \u0026lt;https://github.com/agronholm/anyio/issues/256\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eAdded pytest option (\u003ccode\u003eanyio_mode = \u0026quot;auto\u0026quot;\u003c/code\u003e) to make the pytest plugin automatically\nhandle all async tests\n(\u003ccode\u003e[#971](https://github.com/agronholm/anyio/issues/971) \u0026lt;https://github.com/agronholm/anyio/pull/971\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eAdded the \u003ccode\u003eanyio.Condition.wait_for()\u003c/code\u003e method for feature parity with asyncio\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/08737af202f6610cdb8ba53fecaefd9c03269637\"\u003e\u003ccode\u003e08737af\u003c/code\u003e\u003c/a\u003e Bumped up the version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/8bb9fe04a1c0a4b6615c843d4a88bba38a386059\"\u003e\u003ccode\u003e8bb9fe0\u003c/code\u003e\u003c/a\u003e Fixed the inconsistent exception on sending to a closed TCP stream (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/980\"\u003e#980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/963709358a05ced66986e928b593b4bd82422981\"\u003e\u003ccode\u003e9637093\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/f1bc6ee95a75007681ef9cb4eec0369838b390e9\"\u003e\u003ccode\u003ef1bc6ee\u003c/code\u003e\u003c/a\u003e Fixed changelog entry formatting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/0b58964a26c68ca427b711bbe8536f61ed900133\"\u003e\u003ccode\u003e0b58964\u003c/code\u003e\u003c/a\u003e Mentioned the sub-interpreter support in the README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/1ed112c65628d3cce312e7b6875b9f914d174a71\"\u003e\u003ccode\u003e1ed112c\u003c/code\u003e\u003c/a\u003e Ensure same port is used for IPv4/IPv6 when creating TCP listener with local_...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/aceeee09868642311a96626924f2f09c088a26c0\"\u003e\u003ccode\u003eaceeee0\u003c/code\u003e\u003c/a\u003e Re-enabled coverage reporting on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/6b890dc869f54b6237caff52a74e86382c076ad2\"\u003e\u003ccode\u003e6b890dc\u003c/code\u003e\u003c/a\u003e Reworded a changelog entry and added PR links to others\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/944257d2d59e8057dd00cd5cc96d8f73028031dd\"\u003e\u003ccode\u003e944257d\u003c/code\u003e\u003c/a\u003e Updated pre-commit modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/087975f44599471a84bea2077731143a346c276a\"\u003e\u003ccode\u003e087975f\u003c/code\u003e\u003c/a\u003e Fixed a documentation style (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/976\"\u003e#976\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/agronholm/anyio/compare/4.9.0...4.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `argon2-cffi-bindings` from 21.2.0 to 25.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hynek/argon2-cffi-bindings/releases\"\u003eargon2-cffi-bindings's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.1.0\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cp\u003eFree-threading for Python 3.14!\u003c/p\u003e\n\u003cp\u003eCurrently, it's a bit complicated, because it requires CFFI 2.0 which is only available as a pre-release.\u003c/p\u003e\n\u003cp\u003eTherefore, when installing with \u003cem\u003euv\u003c/em\u003e, it's necessary to pass like this:\u003c/p\u003e\n\u003cpre lang=\"console\"\u003e\u003ccode\u003e$ uv pip install --prerelease=allow argon2-cffi\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eFull changelog below!\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eSpecial Thanks\u003c/h2\u003e\n\u003cp\u003eThis release would not be possible without my generous sponsors! Thank you to all of you making sustainable maintenance possible! If \u003cem\u003eyou\u003c/em\u003e would like to join them, go to \u003ca href=\"https://github.com/sponsors/hynek\"\u003ehttps://github.com/sponsors/hynek\u003c/a\u003e and check out the sweet perks!\u003c/p\u003e\n\u003ch3\u003eAbove and Beyond\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://www.variomedia.de/\"\u003eVariomedia AG\u003c/a\u003e (@\u003ca href=\"https://github.com/variomedia\"\u003evariomedia\u003c/a\u003e), \u003ca href=\"https://www.tidelift.com/\"\u003eTidelift\u003c/a\u003e (@\u003ca href=\"https://github.com/tidelift\"\u003etidelift\u003c/a\u003e), \u003ca href=\"https://www.klaviyo.com\"\u003eKlaviyo\u003c/a\u003e (@\u003ca href=\"https://github.com/klaviyo\"\u003eklaviyo\u003c/a\u003e), \u003ca href=\"https://privacy-solutions.org\"\u003ePrivacy Solutions GmbH\u003c/a\u003e (@\u003ca href=\"https://github.com/privacy-solutions\"\u003eprivacy-solutions\u003c/a\u003e), \u003ca href=\"http://filepreviews.io/\"\u003eFilePreviews\u003c/a\u003e (@\u003ca href=\"https://github.com/filepreviews\"\u003efilepreviews\u003c/a\u003e), \u003ca href=\"https://doist.com/\"\u003eDoist\u003c/a\u003e (@\u003ca href=\"https://github.com/Doist\"\u003eDoist\u003c/a\u003e), Daniel Fortunov (@\u003ca href=\"https://github.com/asqui\"\u003easqui\u003c/a\u003e), and Kevin P. Fleming (@\u003ca href=\"https://github.com/kpfleming\"\u003ekpfleming\u003c/a\u003e).\u003c/p\u003e\n\u003ch3\u003eMaintenance Sustainers\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://buttondown.com\"\u003eButtondown\u003c/a\u003e (@\u003ca href=\"https://github.com/buttondown\"\u003ebuttondown\u003c/a\u003e), \u003ca href=\"https://christopher.xyz\"\u003eChristopher Dignam\u003c/a\u003e (@\u003ca href=\"https://github.com/chdsbd\"\u003echdsbd\u003c/a\u003e), Magnus Watn (@\u003ca href=\"https://github.com/magnuswatn\"\u003emagnuswatn\u003c/a\u003e), \u003ca href=\"https://cra.mr\"\u003eDavid Cramer\u003c/a\u003e (@\u003ca href=\"https://github.com/dcramer\"\u003edcramer\u003c/a\u003e), Jesse Snyder (@\u003ca href=\"https://github.com/jessesnyder\"\u003ejessesnyder\u003c/a\u003e), \u003ca href=\"https://rivolaks.com\"\u003eRivo Laks\u003c/a\u003e (@\u003ca href=\"https://github.com/rivol\"\u003erivol\u003c/a\u003e), \u003ca href=\"https://polar.sh\"\u003ePolar\u003c/a\u003e (@\u003ca href=\"https://github.com/polarsource\"\u003epolarsource\u003c/a\u003e), \u003ca href=\"https://www.miketheman.net\"\u003eMike Fiedler\u003c/a\u003e (@\u003ca href=\"https://github.com/miketheman\"\u003emiketheman\u003c/a\u003e), Duncan Hill (@\u003ca href=\"https://github.com/cricalix\"\u003ecricalix\u003c/a\u003e), Colin Marquardt (@\u003ca href=\"https://github.com/cmarqu\"\u003ecmarqu\u003c/a\u003e), \u003ca href=\"https://blog.journeythatcounts.nl\"\u003ePieter Swinkels\u003c/a\u003e (@\u003ca href=\"https://github.com/swinkels\"\u003eswinkels\u003c/a\u003e), Nick Libertini (@\u003ca href=\"https://github.com/libertininick\"\u003elibertininick\u003c/a\u003e), \u003ca href=\"https://mpr.crossjam.net/\"\u003eBrian M. Dennis\u003c/a\u003e (@\u003ca href=\"https://github.com/crossjam\"\u003ecrossjam\u003c/a\u003e), Ordinary Hobbit (@\u003ca href=\"https://github.com/grillazz\"\u003egrillazz\u003c/a\u003e), Moving Content AG (@\u003ca href=\"https://github.com/moving-content\"\u003emoving-content\u003c/a\u003e), \u003ca href=\"https://westervelt.com\"\u003eThe Westervelt Company\u003c/a\u003e (@\u003ca href=\"https://github.com/westerveltco\"\u003ewesterveltco\u003c/a\u003e), \u003ca href=\"https://slafs.net\"\u003eSławomir Ehlert\u003c/a\u003e (@\u003ca href=\"https://github.com/slafs\"\u003eslafs\u003c/a\u003e), Mostafa Khalil (@\u003ca href=\"https://github.com/khadrawy\"\u003ekhadrawy\u003c/a\u003e), \u003ca href=\"https://fmularczyk.pl\"\u003eFilip Mularczyk\u003c/a\u003e (@\u003ca href=\"https://github.com/mukiblejlok\"\u003emukiblejlok\u003c/a\u003e), Thomas Klinger (@\u003ca href=\"https://github.com/thmsklngr\"\u003ethmsklngr\u003c/a\u003e), \u003ca href=\"https://poehlmann.io\"\u003eAndreas Poehlmann\u003c/a\u003e (@\u003ca href=\"https://github.com/ap--\"\u003eap--\u003c/a\u003e), \u003ca href=\"https://atbigelow.com\"\u003eAugust Trapper Bigelow\u003c/a\u003e (@\u003ca href=\"https://github.com/atbigelow\"\u003eatbigelow\u003c/a\u003e), \u003ca href=\"https://noumenal.es/\"\u003eCarlton Gibson\u003c/a\u003e (@\u003ca href=\"https://github.com/carltongibson\"\u003ecarltongibson\u003c/a\u003e), and \u003ca href=\"https://roboflow.com\"\u003eRoboflow\u003c/a\u003e (@\u003ca href=\"https://github.com/roboflow\"\u003eroboflow\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eFull Changelog\u003c/h2\u003e\n\u003cp\u003eVendoring Argon2 @ \u003ca href=\"https://github.com/P-H-C/phc-winner-argon2/commit/f57e61e19229e23c4445b85494dbf7c07de721cb\"\u003e\u003cstrong\u003e\u003ccode\u003ef57e61e\u003c/code\u003e\u003c/strong\u003e\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOfficial Python 3.12, 3.13, and 3.14 support. No code or packaging changes were necessary.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport for free-threading (aka nogil) on Python 3.14. \u003ca href=\"https://redirect.github.com/hynek/argon2-cffi-bindings/pull/93\"\u003e#93\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWheels for Windows on ARM64. \u003ca href=\"https://redirect.github.com/hynek/argon2-cffi-bindings/pull/83\"\u003e#83\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.6, 3.7, and 3.8 support. There is very little activity on the bindings repo, so it doesn't make sense to carry around the build complexity of those ancient Python versions. The \u003ca href=\"https://pypi.org/project/argon2-cffi-bindings/21.2.0/\"\u003e21.2.0 wheels on PyPI\u003c/a\u003e include support for Python 3.6 and are based on the same Argon2 version.\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hynek/argon2-cffi-bindings/blob/main/CHANGELOG.md\"\u003eargon2-cffi-bindings's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/hynek/argon2-cffi-bindings/compare/21.2.0...25.1.0\"\u003e25.1.0\u003c/a\u003e - 2025-07-30\u003c/h2\u003e\n\u003cp\u003eVendoring Argon2 @ \u003ca href=\"https://github.com/P-H-C/phc-winner-argon2/commit/f57e61e19229e23c4445b85494dbf7c07de721cb\"\u003e\u003cstrong\u003e\u003ccode\u003ef57e61e\u003c/code\u003e\u003c/strong\u003e\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOfficial Python 3.12, 3.13, and 3.14 support.\nNo code or packaging changes were necessary.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport for free-threading (aka nogil) on Python 3.14.\n\u003ca href=\"https://redirect.github.com/hynek/argon2-cffi-bindings/pull/70\"\u003e#70\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/hynek/argon2-cffi-bindings/pull/93\"\u003e#93\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWheels for Windows on ARM64.\n\u003ca href=\"https://redirect.github.com/hynek/argon2-cffi-bindings/pull/83\"\u003e#83\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.6, 3.7, and 3.8 support.\nThere is very little activity on the bindings repo, so it doesn't make sense to carry around the build complexity of those ancient Python versions.\nThe \u003ca href=\"https://pypi.org/project/argon2-cffi-bindings/21.2.0/\"\u003e21.2.0 wheels on PyPI\u003c/a\u003e include support for Python 3.6 and are based on the same Argon2 version.\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/hynek/argon2-cffi-bindings/commit/66f5b2340ef25699504bcc0f08eadcbefaf219aa\"\u003e\u003ccode\u003e66f5b23\u003c/code\u003e\u003c/a\u003e Prepare 25.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/argon2-cffi-bindings/commit/d2c80c05dc12079b7bce081df13a12251281a136\"\u003e\u003ccode\u003ed2c80c0\u003c/code\u003e\u003c/a\u003e Consistency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/argon2-cffi-bindings/commit/cc7181e7de500e5acf8277c6b7abcf1946bbb6bb\"\u003e\u003ccode\u003ecc7181e\u003c/code\u003e\u003c/a\u003e Use dependency groups (\u003ca href=\"https://redirect.github.com/hynek/argon2-cffi-bindings/issues/94\"\u003e#94\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/argon2-cffi-bindings/commit/41aecc197493d627e43ab36e8d30c52811c834d7\"\u003e\u003ccode\u003e41aecc1\u003c/code\u003e\u003c/a\u003e Update metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/argon2-cffi-bindings/commit/1276da7784ff9375842d22c66a8812e3ac51c5e2\"\u003e\u003ccode\u003e1276da7\u003c/code\u003e\u003c/a\u003e Mention new wheels\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/argon2-cffi-bindings/commit/1aad4747f9b73b549f39894a27118037ba484c20\"\u003e\u003ccode\u003e1aad474\u003c/code\u003e\u003c/a\u003e Add support for free-threaded builds (\u003ca href=\"https://redirect.github.com/hynek/argon2-cffi-bindings/issues/70\"\u003e#70\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/argon2-cffi-bindings/commit/3ed973484763dd8084d54cff47d5121653d9ff9b\"\u003e\u003ccode\u003e3ed9734\u003c/code\u003e\u003c/a\u003e Bump pypa/cibuildwheel from 2.23 to 3.0 (\u003ca href=\"https://redirect.github.com/hynek/argon2-cffi-bindings/issues/91\"\u003e#91\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/argon2-cffi-bindings/commit/c2bc26268c939436d8b1584a51dfdeacefb5b6c8\"\u003e\u003ccode\u003ec2bc262\u003c/code\u003e\u003c/a\u003e update Ruff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/argon2-cffi-bindings/commit/e5d69b7ef5690819ae21ab6deb24a49dcf9c1aec\"\u003e\u003ccode\u003ee5d69b7\u003c/code\u003e\u003c/a\u003e Zizmor: clarify trust\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/argon2-cffi-bindings/commit/4bb1e3bad074c923a14892c754a5fa5e41d3d398\"\u003e\u003ccode\u003e4bb1e3b\u003c/code\u003e\u003c/a\u003e Update + rename Ruff\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hynek/argon2-cffi-bindings/compare/21.2.0...25.1.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 `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 `beautifulsoup4` from 4.13.4 to 4.14.2\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 `certifi` from 2025.6.15 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.06.15...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://github.com/python-cffi/cffi/commit/92645ec9329feb03e3fa86240b40fe0fc37469d1\"\u003e\u003ccode\u003e92645ec\u003c/code\u003e\u003c/a\u003e Add Python 3.14 support/testing (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/177\"\u003e#177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-cffi/cffi/commit/2b81170583a898478a6996c9705d8c38ab7f73a1\"\u003e\u003ccode\u003e2b81170\u003c/code\u003e\u003c/a\u003e doc: update test commands in Section Testing/development tips (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/158\"\u003e#158\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-cffi/cffi/commit/25172b84cf51cf58241f074ccd1efd9c7648cb43\"\u003e\u003ccode\u003e25172b8\u003c/code\u003e\u003c/a\u003e doc: update year (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/153\"\u003e#153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-cffi/cffi/commit/b57a92c03eb2078a99c900519a37d18b4d52324f\"\u003e\u003ccode\u003eb57a92c\u003c/code\u003e\u003c/a\u003e issue 147: force-compute nested structs before parent structs.  Occurs mainly...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-cffi/cffi/compare/v1.17.1...v2.0.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.2 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\u003ch2\u003eVersion 3.4.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.2...3.4.3\"\u003e3.4.3\u003c/a\u003e (2025-08-09)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emypy(c) is no longer a required dependency at build time if \u003ccode\u003eCHARSET_NORMALIZER_USE_MYPYC\u003c/code\u003e isn't set to \u003ccode\u003e1\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/595\"\u003e#595\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/583\"\u003e#583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eautomatically lower confidence on small bytes samples that are not Unicode in \u003ccode\u003edetect\u003c/code\u003e output legacy function. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCustom build backend to overcome inability to mark mypy as an optional dependency in the build phase.\u003c/li\u003e\n\u003cli\u003eSupport for Python 3.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esdist archive contained useless directories.\u003c/li\u003e\n\u003cli\u003eautomatically fallback on valid UTF-16 or UTF-32 even if the md says it's noisy. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/633\"\u003e#633\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSBOM are automatically published to the relevant GitHub release to comply with regulatory changes.\nEach published wheel comes with its SBOM. We choose CycloneDX as the format.\u003c/li\u003e\n\u003cli\u003ePrebuilt optimized wheel are no longer distributed by default for CPython 3.7 due to a change in cibuildwheel.\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\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.2...3.4.3\"\u003e3.4.3\u003c/a\u003e (2025-08-09)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emypy(c) is no longer a required dependency at build time if \u003ccode\u003eCHARSET_NORMALIZER_USE_MYPYC\u003c/code\u003e isn't set to \u003ccode\u003e1\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/595\"\u003e#595\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/583\"\u003e#583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eautomatically lower confidence on small bytes samples that are not Unicode in \u003ccode\u003edetect\u003c/code\u003e output legacy function. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCustom build backend to overcome inability to mark mypy as an optional dependency in the build phase.\u003c/li\u003e\n\u003cli\u003eSupport for Python 3.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esdist archive contained useless directories.\u003c/li\u003e\n\u003cli\u003eautomatically fallback on valid UTF-16 or UTF-32 even if the md says it's noisy. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/633\"\u003e#633\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSBOM are automatically published to the relevant GitHub release to comply with regulatory changes.\nEach published wheel comes with its SBOM. We choose CycloneDX as the format.\u003c/li\u003e\n\u003cli\u003ePrebuilt optimized wheel are no longer distributed by default for CPython 3.7 due to a change in cibuildwheel.\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.2...3.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.8 to 8.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.1\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.1/\"\u003ehttps://pypi.org/project/click/8.3.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-1\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-1\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/28\"\u003ehttps://github.com/pallets/click/milestone/28\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3039\"\u003e#3039\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3055\"\u003e#3055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through the \u003ccode\u003eContext.invoke()\u003c/code\u003e method. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3066\"\u003e#3066\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3068\"\u003e#3068\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect behavior for multiple parameters using the same name. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3071\"\u003e#3071\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3079\"\u003e#3079\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is empty. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3019\"\u003e#3019\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3021\"\u003e#3021\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to \u003ccode\u003etype_cast_value\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3069\"\u003e#3069\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3090\"\u003e#3090\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters through the context inside parameter callbacks. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3136\"\u003e#3136\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/blob/8.3.1/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-11-15\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. :issue:\u003ccode\u003e3039\u003c/code\u003e\n:pr:\u003ccode\u003e3055\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through\nthe \u003ccode\u003eContext.invoke()\u003c/code\u003e method. :issue:\u003ccode\u003e3066\u003c/code\u003e :issue:\u003ccode\u003e3065\u003c/code\u003e :pr:\u003ccode\u003e3068\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect\nbehavior for multiple parameters using the same name. :issue:\u003ccode\u003e3071\u003c/code\u003e :pr:\u003ccode\u003e3079\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNo...\n\n_Description has been truncated_","html_url":"https://github.com/manulthanura/ReviewClassifier/pull/72","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/manulthanura%2FReviewClassifier/issues/72","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/72/packages"}],"issue_packages":[{"old_version":"\u003e=8.0","new_version":"\u003e=8.1.8","update_type":null,"path":null,"pr_created_at":"2026-04-27T08:15:00.000Z","version_change":"\u003e=8.0 → \u003e=8.1.8","issue":{"uuid":"4334173061","node_id":"PR_kwDOLhR7X87V4QkQ","number":62,"state":"open","title":"chore(deps): update ipywidgets requirement from \u003e=8.0 to \u003e=8.1.8","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-27T08:15:00.000Z","updated_at":"2026-04-27T08:15:01.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): update","packages":[{"name":"ipywidgets","old_version":"\u003e=8.0","new_version":"\u003e=8.1.8","repository_url":"https://github.com/jupyter-widgets/ipywidgets"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/releases\"\u003eipywidgets's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd JupyterCon banner and jupyter colors by \u003ca href=\"https://github.com/choldgraf\"\u003e\u003ccode\u003e@​choldgraf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3998\"\u003ejupyter-widgets/ipywidgets#3998\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix badge formatting in README.md by \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4000\"\u003ejupyter-widgets/ipywidgets#4000\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Plausible web stats by \u003ca href=\"https://github.com/jasongrout\"\u003e\u003ccode\u003e@​jasongrout\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4003\"\u003ejupyter-widgets/ipywidgets#4003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate jupyterlab_widgets metadata to indicate it works with JupyterLab 4 by \u003ca href=\"https://github.com/jasongrout\"\u003e\u003ccode\u003e@​jasongrout\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4004\"\u003ejupyter-widgets/ipywidgets#4004\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/choldgraf\"\u003e\u003ccode\u003e@​choldgraf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3998\"\u003ejupyter-widgets/ipywidgets#3998\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\"\u003ehttps://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\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/jupyter-widgets/ipywidgets/commit/3171b1c746643a3893987190dc505661c5562877\"\u003e\u003ccode\u003e3171b1c\u003c/code\u003e\u003c/a\u003e Update Output Widget.ipynb (\u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/issues/3881\"\u003e#3881\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commit/cd817839ab8b6ef80c8e2b7a94c8f1df1de29734\"\u003e\u003ccode\u003ecd81783\u003c/code\u003e\u003c/a\u003e update image processing example notebok imports and function call (\u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/issues/3896\"\u003e#3896\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commit/cecd2b0d0314a92b71dce364e3db7a06af8cf64a\"\u003e\u003ccode\u003ececd2b0\u003c/code\u003e\u003c/a\u003e specify Jupyterlab (version 3.x or above) (\u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/issues/3880\"\u003e#3880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commit/0aa1efb563edeb3564f5738dfbee630fd6e4ed6f\"\u003e\u003ccode\u003e0aa1efb\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003einteract\u003c/code\u003e to use basic type hint annotations (\u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/issues/3908\"\u003e#3908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commit/2e15cfc030b8f6c319114be23b4f95efb537fd4d\"\u003e\u003ccode\u003e2e15cfc\u003c/code\u003e\u003c/a\u003e Update Widget List.ipynb\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commit/06ed868181a3192067ffcff0ed94815f72a1f7bf\"\u003e\u003ccode\u003e06ed868\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/issues/3793\"\u003e#3793\u003c/a\u003e from ferdnyc/mappings-work-again\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commit/31259ca8ba33c44a29ba8ffede9de0eece61fb44\"\u003e\u003ccode\u003e31259ca\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/issues/3801\"\u003e#3801\u003c/a\u003e from warrickball/patch-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commit/dd250bfacd875561ad05f692d39c41f350a56b42\"\u003e\u003ccode\u003edd250bf\u003c/code\u003e\u003c/a\u003e Handle Notebook 7 in dev install script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commit/a1282ec692b35d91e0b3062016962634c7a8012e\"\u003e\u003ccode\u003ea1282ec\u003c/code\u003e\u003c/a\u003e Fix link to \u0026quot;Output widget examples\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commit/b6b3051e0b89c1086ea79327d3e957af7da957fd\"\u003e\u003ccode\u003eb6b3051\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add note on removal of mapping types in documentation\u0026quot;\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.0.0...8.1.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/veillette/hands-on/pull/62","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/veillette%2Fhands-on/issues/62","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/62/packages"}},{"old_version":"8.1.7","new_version":"8.1.8","update_type":"patch","path":null,"pr_created_at":"2026-02-02T04:34:24.000Z","version_change":"8.1.7 → 8.1.8","issue":{"uuid":"3883926074","node_id":"PR_kwDOAt0r8c7Az4Kv","number":3687,"state":"closed","title":"Bump the requirements group with 11 updates","user":"dependabot[bot]","labels":["dependencies","python","needs release notes"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-02T19:15:31.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-02T04:34:24.000Z","updated_at":"2026-02-02T19:15:42.000Z","time_to_close":52867,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"requirements","update_count":11,"packages":[{"name":"numpy","old_version":"2.3.2","new_version":"2.4.2","repository_url":"https://github.com/numpy/numpy"},{"name":"ipywidgets","old_version":"8.1.7","new_version":"8.1.8","repository_url":"https://github.com/jupyter-widgets/ipywidgets"},{"name":"setuptools-scm","old_version":"8.3.1","new_version":"9.2.2","repository_url":"https://github.com/pypa/setuptools-scm"},{"name":"lmdb","old_version":"1.7.3","new_version":"1.7.5","repository_url":"https://github.com/jnwatson/py-lmdb"},{"name":"redis","old_version":"6.4.0","new_version":"7.1.0","repository_url":"https://github.com/redis/redis-py"},{"name":"pymongo","old_version":"4.14.0","new_version":"4.16.0","repository_url":"https://github.com/mongodb/mongo-python-driver"},{"name":"pytest-cov","old_version":"6.2.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-doctestplus","old_version":"1.4.0","new_version":"1.7.1","repository_url":"https://github.com/scientific-python/pytest-doctestplus"},{"name":"h5py","old_version":"3.14.0","new_version":"3.15.1","repository_url":"https://github.com/h5py/h5py"},{"name":"fasteners","old_version":"0.19","new_version":"0.20","repository_url":"https://github.com/harlowja/fasteners"},{"name":"pytest","old_version":"8.4.1","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"}],"path":null,"ecosystem":"pip"},"body":"Bumps the requirements group with 11 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [numpy](https://github.com/numpy/numpy) | `2.3.2` | `2.4.2` |\n| [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) | `8.1.7` | `8.1.8` |\n| [setuptools-scm](https://github.com/pypa/setuptools-scm) | `8.3.1` | `9.2.2` |\n| [lmdb](https://github.com/jnwatson/py-lmdb) | `1.7.3` | `1.7.5` |\n| [redis](https://github.com/redis/redis-py) | `6.4.0` | `7.1.0` |\n| [pymongo](https://github.com/mongodb/mongo-python-driver) | `4.14.0` | `4.16.0` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.2.1` | `7.0.0` |\n| [pytest-doctestplus](https://github.com/scientific-python/pytest-doctestplus) | `1.4.0` | `1.7.1` |\n| [h5py](https://github.com/h5py/h5py) | `3.14.0` | `3.15.1` |\n| [fasteners](https://github.com/harlowja/fasteners) | `0.19` | `0.20` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.1` | `9.0.2` |\n\nUpdates `numpy` from 2.3.2 to 2.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.2 (Feb 1, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.2 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.2 is a patch release that fixes bugs discovered after the\n2.4.1 release. Highlights are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixes memory leaks\u003c/li\u003e\n\u003cli\u003eUpdates OpenBLAS to fix hangs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release supports Python versions 3.11-3.14\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eA total of 9 people contributed to this release. People with a \u0026quot;+\u0026quot; by their\nnames contributed a patch for the first time.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eDaniel Tang +\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eKumar Aditya\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003eRalf Gommers\u003c/li\u003e\n\u003cli\u003eSebastian Berg\u003c/li\u003e\n\u003cli\u003eVikram Kumar +\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 12 pull requests were merged for this release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30629\"\u003e#30629\u003c/a\u003e: MAINT: Prepare 2.4.x for further development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30636\"\u003e#30636\u003c/a\u003e: TYP: \u003ccode\u003earange\u003c/code\u003e: accept datetime strings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30657\"\u003e#30657\u003c/a\u003e: MAINT: avoid possible race condition by not touching \u003ccode\u003eos.environ\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30700\"\u003e#30700\u003c/a\u003e: BUG: validate contraction axes in tensordot (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30521\"\u003e#30521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30701\"\u003e#30701\u003c/a\u003e: DOC: __array_namespace__info__: set_module not __module__ (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30679\"\u003e#30679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30702\"\u003e#30702\u003c/a\u003e: BUG: fix free-threaded PyObject layout in replace_scalar_type_names...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30703\"\u003e#30703\u003c/a\u003e: TST: fix limited API example in tests for latest Cython\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30709\"\u003e#30709\u003c/a\u003e: BUG: Fix some bugs found via valgrind (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30680\"\u003e#30680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30712\"\u003e#30712\u003c/a\u003e: MAINT: replace ob_type access with Py_TYPE in PyArray_CheckExact\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30713\"\u003e#30713\u003c/a\u003e: BUG: Fixup the quantile promotion fixup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30736\"\u003e#30736\u003c/a\u003e: BUG: fix thread safety of \u003ccode\u003earray_getbuffer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30667\"\u003e#30667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30737\"\u003e#30737\u003c/a\u003e: backport scipy-openblas version change\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.4.1 (Jan 10, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.1 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.1 is a patch release that fixes bugs discoved after the\n2.4.0 release. In particular, the typo \u003ccode\u003eSeedlessSequence\u003c/code\u003e is preserved to\nenable wheels using the random Cython API and built against NumPy \u0026lt; 2.4.0\nto run without errors.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst\"\u003enumpy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eThis is a walkthrough of the NumPy 2.4.0 release on Linux, which will be the\nfirst feature release using the \u003ccode\u003enumpy/numpy-release \u0026lt;https://github.com/numpy/numpy-release\u0026gt;\u003c/code\u003e__ repository.\u003c/p\u003e\n\u003cp\u003eThe commands can be copied into the command line, but be sure to replace 2.4.0\nwith the correct version. This should be read together with the\n:ref:\u003ccode\u003egeneral release guide \u0026lt;prepare_release\u0026gt;\u003c/code\u003e.\u003c/p\u003e\n\u003ch1\u003eFacility preparation\u003c/h1\u003e\n\u003cp\u003eBefore beginning to make a release, use the \u003ccode\u003erequirements/*_requirements.txt\u003c/code\u003e files to\nensure that you have the needed software. Most software can be installed with\npip, but some will require apt-get, dnf, or whatever your system uses for\nsoftware. You will also need a GitHub personal access token (PAT) to push the\ndocumentation. There are a few ways to streamline things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGit can be set up to use a keyring to store your GitHub personal access token.\nSearch online for the details.\u003c/li\u003e\n\u003cli\u003eYou can use the \u003ccode\u003ekeyring\u003c/code\u003e app to store the PyPI password for twine. See the\nonline twine documentation for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ePrior to release\u003c/h1\u003e\n\u003ch2\u003eAdd/drop Python versions\u003c/h2\u003e\n\u003cp\u003eWhen adding or dropping Python versions, multiple config and CI files need to\nbe edited in addition to changing the minimum version in \u003ccode\u003epyproject.toml\u003c/code\u003e.\nMake these changes in an ordinary PR against main and backport if necessary.\nWe currently release wheels for new Python versions after the first Python RC\nonce manylinux and cibuildwheel support that new Python version.\u003c/p\u003e\n\u003ch2\u003eBackport pull requests\u003c/h2\u003e\n\u003cp\u003eChanges that have been marked for this release must be backported to the\nmaintenance/2.4.x branch.\u003c/p\u003e\n\u003ch2\u003eUpdate 2.4.0 milestones\u003c/h2\u003e\n\u003cp\u003eLook at the issues/prs with 2.4.0 milestones and either push them off to a\nlater version, or maybe remove the milestone. You may need to add a milestone.\u003c/p\u003e\n\u003cp\u003eCheck the numpy-release repo\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/c81c49f77451340651a751e76bca607d85e4fd55\"\u003e\u003ccode\u003ec81c49f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30757\"\u003e#30757\u003c/a\u003e from charris/prepare-2.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/b3ae9c59de627110458653836f1be81280222f85\"\u003e\u003ccode\u003eb3ae9c5\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/9de89843c3918fa133f1aab9fb4435c38a3b0ba6\"\u003e\u003ccode\u003e9de8984\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30737\"\u003e#30737\u003c/a\u003e from mattip/scipy-openblas-backport\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/b7be329895e32de44578742b2745fb307cdf8625\"\u003e\u003ccode\u003eb7be329\u003c/code\u003e\u003c/a\u003e backport scipy-openblas version change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7ff98637f80dc1ff7a18fce8025ffabdded76094\"\u003e\u003ccode\u003e7ff9863\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30736\"\u003e#30736\u003c/a\u003e from charris/backport-30667\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/431fffbe91d86c04738f039e0048441f8f9b5fff\"\u003e\u003ccode\u003e431fffb\u003c/code\u003e\u003c/a\u003e MAINT: Skip tests that require \u003cstrong\u003ebuffer\u003c/strong\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/127235fcd9b2e80764da8f6c64f942a6bddb093a\"\u003e\u003ccode\u003e127235f\u003c/code\u003e\u003c/a\u003e BUG: fix thread safety of \u003ccode\u003earray_getbuffer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30667\"\u003e#30667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/18bdb2e675b68daa5afc3250c41982ff77b3867f\"\u003e\u003ccode\u003e18bdb2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30713\"\u003e#30713\u003c/a\u003e from charris/backport-30710\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/41dd7512de6dc3dd665b71d4e3a321aa1150dc48\"\u003e\u003ccode\u003e41dd751\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30712\"\u003e#30712\u003c/a\u003e from charris/backport-30705\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7a278da99943376313b8f631905c3baaa7a82a30\"\u003e\u003ccode\u003e7a278da\u003c/code\u003e\u003c/a\u003e BUG: Fixup the quantile promotion fixup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.3.2...v2.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ipywidgets` from 8.1.7 to 8.1.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/releases\"\u003eipywidgets's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd JupyterCon banner and jupyter colors by \u003ca href=\"https://github.com/choldgraf\"\u003e\u003ccode\u003e@​choldgraf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3998\"\u003ejupyter-widgets/ipywidgets#3998\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix badge formatting in README.md by \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4000\"\u003ejupyter-widgets/ipywidgets#4000\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Plausible web stats by \u003ca href=\"https://github.com/jasongrout\"\u003e\u003ccode\u003e@​jasongrout\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4003\"\u003ejupyter-widgets/ipywidgets#4003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate jupyterlab_widgets metadata to indicate it works with JupyterLab 4 by \u003ca href=\"https://github.com/jasongrout\"\u003e\u003ccode\u003e@​jasongrout\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4004\"\u003ejupyter-widgets/ipywidgets#4004\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/choldgraf\"\u003e\u003ccode\u003e@​choldgraf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3998\"\u003ejupyter-widgets/ipywidgets#3998\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\"\u003ehttps://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\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\u003eSee full diff in \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `setuptools-scm` from 8.3.1 to 9.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/setuptools-scm/releases\"\u003esetuptools-scm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.2.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: don't warn about tool.setuptools.dynamic.version when only using file finder by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1232\"\u003epypa/setuptools-scm#1232\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/setuptools-scm/compare/v9.2.1...v9.2.2\"\u003ehttps://github.com/pypa/setuptools-scm/compare/v9.2.1...v9.2.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev9.2.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMark recently yanked versions in changelog by \u003ca href=\"https://github.com/seifertm\"\u003e\u003ccode\u003e@​seifertm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1209\"\u003epypa/setuptools-scm#1209\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix 1216 explicitly deprecate setuptools dynamic version when active by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1219\"\u003epypa/setuptools-scm#1219\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eprepare Release v9.2.1 by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1226\"\u003epypa/setuptools-scm#1226\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/seifertm\"\u003e\u003ccode\u003e@​seifertm\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1209\"\u003epypa/setuptools-scm#1209\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/setuptools-scm/compare/v9.2.0...v9.2.1\"\u003ehttps://github.com/pypa/setuptools-scm/compare/v9.2.0...v9.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev9.2.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereiterate version inference by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1202\"\u003epypa/setuptools-scm#1202\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003esimple activation now requires a extra instead of setting up many pre-existing projects for failure/error\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/setuptools-scm/compare/v9.1.1...v9.2.0\"\u003ehttps://github.com/pypa/setuptools-scm/compare/v9.1.1...v9.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev9.1.1 (yanked)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ehandle missing pyproject config in case version keyword is used by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1195\"\u003epypa/setuptools-scm#1195\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/setuptools-scm/compare/v9.1.0...v9.1.1\"\u003ehttps://github.com/pypa/setuptools-scm/compare/v9.1.0...v9.1.1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eyanked after hitting regressions wrt legcy project setups triggering auto activate\u003c/p\u003e\n\u003ch2\u003ev9.1.0 (yanked)\u003c/h2\u003e\n\u003ch1\u003eyanked\u003c/h1\u003e\n\u003cp\u003ea regression makes some sdists report version 0.0.0\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereiterate version inference logic by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1193\"\u003epypa/setuptools-scm#1193\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/pypa/setuptools-scm/blob/main/CHANGELOG.md\"\u003esetuptools-scm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.2.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1231\"\u003e#1231\u003c/a\u003e: don't warn about \u003ccode\u003etool.setuptools.dynamic.version\u003c/code\u003e when only using file finder.\nThe warning about combining version guessing with setuptools dynamic versions should only\nbe issued when setuptools-scm is performing version inference, not when it's only being\nused for its file finder functionality.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.2.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1216\"\u003e#1216\u003c/a\u003e: accept and create a warning for usages of \u003ccode\u003eversion = attr:\u003c/code\u003e in setuptools config.\nunfortunately dozens of projects cargo-culted that antipattern\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.2.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eadd simplified activation via \u003ccode\u003esetuptools-scm[simple]\u003c/code\u003e extra\u003c/p\u003e\n\u003cp\u003eA new streamlined way to enable version inference without requiring a \u003ccode\u003e[tool.setuptools_scm]\u003c/code\u003e section.\nWhen \u003ccode\u003esetuptools-scm[simple]\u003c/code\u003e is in \u003ccode\u003ebuild-system.requires\u003c/code\u003e and \u003ccode\u003eversion\u003c/code\u003e is in \u003ccode\u003eproject.dynamic\u003c/code\u003e,\nversion inference is automatically enabled with default settings.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eunchecked simplified activation - too many projects use setups where it would fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefine activation logic and add unittest for the relevant cases instead of trying to speedrun setuptools\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.1.1 (yanked)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1194\"\u003e#1194\u003c/a\u003e: correctly handle version keyword when pyproject metadata is missing\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.1.0 (yanked)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecomplete reiteration of the decision logic for enabling version inference on setuptools_scm\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/e56b78fcd4c1e79aa36c1e4700fca34c8ff540fe\"\u003e\u003ccode\u003ee56b78f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1232\"\u003e#1232\u003c/a\u003e from RonnyPfannschmidt/fix-1231-dont-warn-when-no-guess\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/4f55e9585e398e13103112a6fd488109d9da4ead\"\u003e\u003ccode\u003e4f55e95\u003c/code\u003e\u003c/a\u003e docs: update changelog for v9.2.2 patch release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/95a0c47553ea0b373238bb64aa344b2c2547c849\"\u003e\u003ccode\u003e95a0c47\u003c/code\u003e\u003c/a\u003e fix: don't warn about tool.setuptools.dynamic.version when only using file fi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/338f562e6a38f8d32fd5aeb4677b3f87fc5a0122\"\u003e\u003ccode\u003e338f562\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1226\"\u003e#1226\u003c/a\u003e from RonnyPfannschmidt/prepare-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/a893634c36a074052ed3f6d0e77b076b582c72ab\"\u003e\u003ccode\u003ea893634\u003c/code\u003e\u003c/a\u003e Prepare release v9.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/ad83282242e96fe11c958227740ee03a7a2ed0fe\"\u003e\u003ccode\u003ead83282\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1225\"\u003e#1225\u003c/a\u003e from pypa/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/20a44648f299f64b1241a448bdbafde9b1871ebf\"\u003e\u003ccode\u003e20a4464\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/70f69429c40f8c8d3c4e0eec2d8b4a6794671c88\"\u003e\u003ccode\u003e70f6942\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1219\"\u003e#1219\u003c/a\u003e from RonnyPfannschmidt/fix-1216-explicitly-deprecate...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/14d85c0fb8fa9efd1ec4bac3413f48aea0e319f5\"\u003e\u003ccode\u003e14d85c0\u003c/code\u003e\u003c/a\u003e Install Mercurial on Windows runners via Chocolatey\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/8c5cec917123e4cc87b490f56b6e7af27a3b0399\"\u003e\u003ccode\u003e8c5cec9\u003c/code\u003e\u003c/a\u003e Fix API stability check workflow to install griffe and improve reporting\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/setuptools-scm/compare/v8.3.1...v9.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lmdb` from 1.7.3 to 1.7.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jnwatson/py-lmdb/blob/master/ChangeLog\"\u003elmdb's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e2025-10-14 1.7.5\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCI-only: Fix generation of 3.14 binaries.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e2025-10-14 1.7.4 -- yanked\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCI-only: Generate Python 3.14 binaries.\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/jnwatson/py-lmdb/commit/4e5c2ebf47ff1da60c01254bfdcac116c893abfc\"\u003e\u003ccode\u003e4e5c2eb\u003c/code\u003e\u003c/a\u003e Bump version to 1.7.5 for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnwatson/py-lmdb/commit/9c7dd9212d20512ced2c5aae593508ab592433bd\"\u003e\u003ccode\u003e9c7dd92\u003c/code\u003e\u003c/a\u003e Update cibuildwheel version to build 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnwatson/py-lmdb/commit/aa5a921430374e9ee11f5d36d0c3f408a494e9a0\"\u003e\u003ccode\u003eaa5a921\u003c/code\u003e\u003c/a\u003e Fix android issue (\u003ca href=\"https://redirect.github.com/jnwatson/py-lmdb/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnwatson/py-lmdb/commit/d46f05741b2d8d60a3b8b07d6550de356075149d\"\u003e\u003ccode\u003ed46f057\u003c/code\u003e\u003c/a\u003e Bump version to 1.7.4 for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnwatson/py-lmdb/commit/28105a344da9e99078994277ed4dc0f13249fcc8\"\u003e\u003ccode\u003e28105a3\u003c/code\u003e\u003c/a\u003e Update CI for Python 3.14\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jnwatson/py-lmdb/compare/py-lmdb_1.7.3...py-lmdb_1.7.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `redis` from 6.4.0 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/redis/redis-py/releases\"\u003eredis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.1.0\u003c/h2\u003e\n\u003ch1\u003eChanges\u003c/h1\u003e\n\u003ch2\u003e🚀 New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdding MSETEX command support. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3823\"\u003e#3823\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding CLAIM option to XREADGROUP command + unit tests (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3825\"\u003e#3825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eApply routing and response aggregation policies in OSS Cluster mode (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3834\"\u003e#3834\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Experimental Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdding support for CAS/CAD commands. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3837\"\u003e#3837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding support for HYBRID search. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3813\"\u003e#3813\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3843\"\u003e#3843\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🔥 Breaking changes (in experimental features)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace default health check and failure detector with custom (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3822\"\u003e#3822\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd **options to parse functions for sentinel (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3831\"\u003e#3831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenerating unique command cache key (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3765\"\u003e#3765\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdding Redis 8.4 RC1 image to test matrix. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3820\"\u003e#3820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove Python 3.9 support. Add Python 3.14 support. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3814\"\u003e#3814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSync readme with 7.0.1 and update lib version to latest stable released version - 7.0.1 (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3821\"\u003e#3821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump rojopolis/spellcheck-github-actions from 0.52.0 to 0.53.0 (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3827\"\u003e#3827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump actions/upload-artifact from 4 to 5 (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3828\"\u003e#3828\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump github/codeql-action from 3 to 4 (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3829\"\u003e#3829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixing flaky tests (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3833\"\u003e#3833\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3838\"\u003e#3838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate 8.4 RC image tag to 8.4-RC1-pre.2 for pipeline test matrix (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3832\"\u003e#3832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing f-string when returning an error. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3841\"\u003e#3841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding latest 8.4 image to test matrix. Updating the Hybrid VSIM query format to be in sync with spec after srv issue was fixed. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3843\"\u003e#3843\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand cluster READ_COMMANDS with additional read-only commands and reorganize the list of commands by category (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3845\"\u003e#3845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Type Hints for List Command Parameters from str to KeyT (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3848\"\u003e#3848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanging log level to be debug for failed maintenance notification enablement when enabled='auto' (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3851\"\u003e#3851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded custom event handler section (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3853\"\u003e#3853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanging current version to 8.4 as it is already GA (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3854\"\u003e#3854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWe'd like to thank all the contributors who worked on this release!\n\u003ca href=\"https://github.com/ShubhamKaudewar\"\u003e\u003ccode\u003e@​ShubhamKaudewar\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/matthewwiese\"\u003e\u003ccode\u003e@​matthewwiese\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/peperon\"\u003e\u003ccode\u003e@​peperon\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vladvildanov\"\u003e\u003ccode\u003e@​vladvildanov\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/petyaslavova\"\u003e\u003ccode\u003e@​petyaslavova\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e7.0.1\u003c/h2\u003e\n\u003ch1\u003eChanges\u003c/h1\u003e\n\u003cp\u003eThis release adds small fixes related to documentation.\u003c/p\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd 'multi_database' section to documentation index (313d93f)\u003c/li\u003e\n\u003cli\u003eRevised multi-database client documentation(78df745)\u003c/li\u003e\n\u003cli\u003eAdding info about Multi-database client in README.md (3f7a55e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/f7c1755d732a677e0eb05e74e46520115c087153\"\u003e\u003ccode\u003ef7c1755\u003c/code\u003e\u003c/a\u003e Changing current version to 8.4 as it is already GA (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3854\"\u003e#3854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/2235cc76d59a009d546e773d959261503ec3568e\"\u003e\u003ccode\u003e2235cc7\u003c/code\u003e\u003c/a\u003e Added custom event handler section (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3853\"\u003e#3853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/8cc50a5bc9cb972354e17fd9cd8b8542a6f1e4f5\"\u003e\u003ccode\u003e8cc50a5\u003c/code\u003e\u003c/a\u003e Changing log level to be debug for failed maintenance notification enablement...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/d1769a2e2b66c7cd0067358db10db1cc26b2967a\"\u003e\u003ccode\u003ed1769a2\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3612\"\u003e#3612\u003c/a\u003e Generating unique command cache key (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3765\"\u003e#3765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/b49dce1ff0f38c38a5fb89b3f332e84eae8186cb\"\u003e\u003ccode\u003eb49dce1\u003c/code\u003e\u003c/a\u003e Update Type Hints for List Command Parameters from str to KeyT (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3848\"\u003e#3848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/46ff0426550d65e51c7686fa0e12e8954d5d1bcd\"\u003e\u003ccode\u003e46ff042\u003c/code\u003e\u003c/a\u003e Expand cluster READ_COMMANDS with additional read-only commands and reorganiz...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/dc476754600e480dd29a16a2290db5a442114b33\"\u003e\u003ccode\u003edc47675\u003c/code\u003e\u003c/a\u003e Updating lib version to 7.1.0 and added note in README that Python 3.9 suppor...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/f026c1e66be68dc18d89e60bd54c5032bd927680\"\u003e\u003ccode\u003ef026c1e\u003c/code\u003e\u003c/a\u003e Adding latest 8.4 image to test matrix. Updating the Hybrid VSIM query format...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/a5ab18fb76522cb1341c81e0032d29df87c85013\"\u003e\u003ccode\u003ea5ab18f\u003c/code\u003e\u003c/a\u003e Adding support for HYBRID search. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3813\"\u003e#3813\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/e6fb50506967dbdd6e8c334190c32651ebea1506\"\u003e\u003ccode\u003ee6fb505\u003c/code\u003e\u003c/a\u003e Adding support for CAS/CAD commands. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3837\"\u003e#3837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/redis/redis-py/compare/v6.4.0...v7.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymongo` from 4.14.0 to 4.16.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mongodb/mongo-python-driver/releases\"\u003epymongo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePyMongo 4.16.0\u003c/h2\u003e\n\u003cp\u003eCommunity notes: \u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch2\u003ePyMongo 4.15.5\u003c/h2\u003e\n\u003cp\u003eCommunity notes: \u003ca href=\"https://www.mongodb.com/community/forums/t/pymongo-4-15-5-released/332185\"\u003ehttps://www.mongodb.com/community/forums/t/pymongo-4-15-5-released/332185\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePyMongo 4.15.4\u003c/h2\u003e\n\u003cp\u003eCommunity notes: \u003ca href=\"https://www.mongodb.com/community/forums/t/pymongo-4-15-4-released/331292\"\u003ehttps://www.mongodb.com/community/forums/t/pymongo-4-15-4-released/331292\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePyMongo 4.15.3\u003c/h2\u003e\n\u003cp\u003eCommunity notes: \u003ca href=\"https://www.mongodb.com/community/forums/t/pymongo-4-15-3-released/329778\"\u003ehttps://www.mongodb.com/community/forums/t/pymongo-4-15-3-released/329778\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePyMongo 4.15.2\u003c/h2\u003e\n\u003cp\u003eCommunity notes: \u003ca href=\"https://www.mongodb.com/community/forums/t/pymongo-4-15-2-released/329543\"\u003ehttps://www.mongodb.com/community/forums/t/pymongo-4-15-2-released/329543\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePyMongo 4.15.1\u003c/h2\u003e\n\u003cp\u003eCommunity notes: \u003ca href=\"https://www.mongodb.com/community/forums/t/pymongo-4-15-1-released/328837\"\u003ehttps://www.mongodb.com/community/forums/t/pymongo-4-15-1-released/328837\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePyMongo 4.15.0\u003c/h2\u003e\n\u003cp\u003eCommunity notes: \u003ca href=\"https://www.mongodb.com/community/forums/t/pymongo-4-15-released/328574\"\u003ehttps://www.mongodb.com/community/forums/t/pymongo-4-15-released/328574\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePyMongo 4.14.1\u003c/h2\u003e\n\u003cp\u003eCommunity notes: \u003ca href=\"https://www.mongodb.com/community/forums/t/pymongo-4-14-1-released/327511\"\u003ehttps://www.mongodb.com/community/forums/t/pymongo-4-14-1-released/327511\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/mongodb/mongo-python-driver/blob/master/doc/changelog.rst\"\u003epymongo's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges in Version 4.16.0 (2026/01/07)\u003c/h2\u003e\n\u003cp\u003ePyMongo 4.16 brings a number of changes including:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved invalid documents from :class:\u003ccode\u003ebson.errors.InvalidDocument\u003c/code\u003e error messages as\ndoing so may leak sensitive user data.\nInstead, invalid documents are stored in :attr:\u003ccode\u003ebson.errors.InvalidDocument.document\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003ePyMongo now requires \u003ccode\u003ednspython\u0026gt;=2.6.1\u003c/code\u003e, since \u003ccode\u003ednspython\u003c/code\u003e 1.0 is no longer maintained.\nThe minimum version is \u003ccode\u003e2.6.1\u003c/code\u003e to account for \u003ccode\u003eCVE-2023-29483 \u0026lt;https://www.cve.org/CVERecord?id=CVE-2023-29483\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eRemoved support for Eventlet.\nEventlet is actively being sunset by its maintainers and has compatibility issues with PyMongo's dnspython dependency.\u003c/li\u003e\n\u003cli\u003eUse Zstandard support from the standard library for Python 3.14+, and use \u003ccode\u003ebackports.zstd\u003c/code\u003e for older versions.\u003c/li\u003e\n\u003cli\u003eFixed return type annotation for \u003ccode\u003efind_one_and_*\u003c/code\u003e methods on :class:\u003ccode\u003e~pymongo.asynchronous.collection.AsyncCollection\u003c/code\u003e\nand :class:\u003ccode\u003e~pymongo.synchronous.collection.Collection\u003c/code\u003e to include \u003ccode\u003eNone\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded support for NumPy 1D-arrays in :class:\u003ccode\u003ebson.binary.BinaryVector\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003ePrevented :class:\u003ccode\u003e~pymongo.encryption.ClientEncryption\u003c/code\u003e from loading the crypt\nshared library to fix \u0026quot;MongoCryptError: An existing crypt_shared library is\nloaded by the application\u0026quot; unless the linked library search path is set.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges in Version 4.15.5 (2025/12/02)\u003c/h2\u003e\n\u003cp\u003eVersion 4.15.5 is a bug fix release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a bug that could cause \u003ccode\u003eAutoReconnect(\u0026quot;connection pool paused\u0026quot;)\u003c/code\u003e errors when cursors fetched more documents from the database after SDAM heartbeat failures.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges in Version 4.15.4 (2025/10/21)\u003c/h2\u003e\n\u003cp\u003eVersion 4.15.4 is a bug fix release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRelaxed the callback type of :meth:\u003ccode\u003e~pymongo.asynchronous.client_session.AsyncClientSession.with_transaction\u003c/code\u003e to allow the broader Awaitable type rather than only Coroutine objects.\u003c/li\u003e\n\u003cli\u003eAdded the missing Python 3.14 trove classifier to the package metadata.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIssues Resolved\n...............\u003c/p\u003e\n\u003cp\u003eSee the \u003ccode\u003ePyMongo 4.15.4 release notes in JIRA\u003c/code\u003e_ for the list of resolved issues\nin this release.\u003c/p\u003e\n\u003cp\u003e.. _PyMongo 4.15.4 release notes in JIRA: \u003ca href=\"https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004\u0026amp;version=47237\"\u003ehttps://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004\u0026amp;version=47237\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eChanges in Version 4.15.3 (2025/10/07)\u003c/h2\u003e\n\u003cp\u003eVersion 4.15.3 is a bug fix release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a memory leak when raising :class:\u003ccode\u003ebson.errors.InvalidDocument\u003c/code\u003e with C extensions.\u003c/li\u003e\n\u003cli\u003eFixed the return type of the  :meth:\u003ccode\u003e~pymongo.asynchronous.collection.AsyncCollection.distinct\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/mongodb/mongo-python-driver/commit/32901018ca14d9acb05004a88d65b6ab0b29c877\"\u003e\u003ccode\u003e3290101\u003c/code\u003e\u003c/a\u003e Prepare 4.16.0 release (\u003ca href=\"https://redirect.github.com/mongodb/mongo-python-driver/issues/2672\"\u003e#2672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mongodb/mongo-python-driver/commit/1be94d262dd0281b032b6f9e56d381cac3a7a6d9\"\u003e\u003ccode\u003e1be94d2\u003c/code\u003e\u003c/a\u003e PYTHON-5685 Fix unified spec sync metadata for csot and sessions tests (\u003ca href=\"https://redirect.github.com/mongodb/mongo-python-driver/issues/2669\"\u003e#2669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mongodb/mongo-python-driver/commit/6585d9cb51d5c9b2d85eec4f49b8196612d9e8ee\"\u003e\u003ccode\u003e6585d9c\u003c/code\u003e\u003c/a\u003e PYTHON-2442: Refactor: use _asdict() in _options_dict() (\u003ca href=\"https://redirect.github.com/mongodb/mongo-python-driver/issues/2670\"\u003e#2670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mongodb/mongo-python-driver/commit/fdb1f7ea4abe128ae4e59e3d063fd95d7daaa964\"\u003e\u003ccode\u003efdb1f7e\u003c/code\u003e\u003c/a\u003e PYTHON-5677 Prevent ClientEncryption from loading crypt shared library (\u003ca href=\"https://redirect.github.com/mongodb/mongo-python-driver/issues/2659\"\u003e#2659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mongodb/mongo-python-driver/commit/0cd9763423b85cd37779ea934bf7b1f8be8bbf8e\"\u003e\u003ccode\u003e0cd9763\u003c/code\u003e\u003c/a\u003e Bump zizmorcore/zizmor-action from cb3d8e846e148d1111d90b03375b9c03deceda37 t...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mongodb/mongo-python-driver/commit/2f263d4d3f11eb4a2b32ace467fd2767c371f4d7\"\u003e\u003ccode\u003e2f263d4\u003c/code\u003e\u003c/a\u003e PYTHON-5680 Fix handling of expectedDocuments in Unified Test Runner (\u003ca href=\"https://redirect.github.com/mongodb/mongo-python-driver/issues/2665\"\u003e#2665\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mongodb/mongo-python-driver/commit/e9658b2406232b6bd6ac1d961b368142f8819479\"\u003e\u003ccode\u003ee9658b2\u003c/code\u003e\u003c/a\u003e Add 4.15.5 release date to changelog (\u003ca href=\"https://redirect.github.com/mongodb/mongo-python-driver/issues/2666\"\u003e#2666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mongodb/mongo-python-driver/commit/10dd20405ba19c643a1b305ff84f742b19c40daf\"\u003e\u003ccode\u003e10dd204\u003c/code\u003e\u003c/a\u003e Update coverage[toml] requirement from \u0026lt;=7.10.6,\u0026gt;=5 to \u0026gt;=5,\u0026lt;=7.10.7 (\u003ca href=\"https://redirect.github.com/mongodb/mongo-python-driver/issues/2662\"\u003e#2662\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mongodb/mongo-python-driver/commit/130067799cc671d4dcc2f34dafff73c4ef5ddeaf\"\u003e\u003ccode\u003e1300677\u003c/code\u003e\u003c/a\u003e [Spec Resync] 12-22-2025 (\u003ca href=\"https://redirect.github.com/mongodb/mongo-python-driver/issues/2663\"\u003e#2663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mongodb/mongo-python-driver/commit/18c1f142b5b3fd179a677b2736332dc17770b7c2\"\u003e\u003ccode\u003e18c1f14\u003c/code\u003e\u003c/a\u003e PYTHON-5529 Introduce optin setting to await for MinPoolSize population (\u003ca href=\"https://redirect.github.com/mongodb/mongo-python-driver/issues/2664\"\u003e#2664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mongodb/mongo-python-driver/compare/4.14.0...4.16.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-cov` from 6.2.1 to 7.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst\"\u003epytest-cov's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.0 (2025-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDropped support for subprocesses measurement.\u003c/p\u003e\n\u003cp\u003eIt was a feature added long time ago when coverage lacked a nice way to measure subprocesses created in tests.\nIt relied on a \u003ccode\u003e.pth\u003c/code\u003e file, there was no way to opt-out and it created bad interations\nwith \u003ccode\u003ecoverage's new patch system \u0026lt;https://coverage.readthedocs.io/en/latest/config.html#run-patch\u0026gt;\u003c/code\u003e_ added\nin \u003ccode\u003e7.10 \u0026lt;https://coverage.readthedocs.io/en/7.10.6/changes.html#version-7-10-0-2025-07-24\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003cp\u003eTo migrate to this release you might need to enable the suprocess patch, example for \u003ccode\u003e.coveragerc\u003c/code\u003e:\u003c/p\u003e\n\u003cp\u003e.. code-block:: ini\u003c/p\u003e\n\u003cp\u003e[run]\npatch = subprocess\u003c/p\u003e\n\u003cp\u003eThis release also requires at least coverage 7.10.6.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSwitched packaging to have metadata completely in \u003ccode\u003epyproject.toml\u003c/code\u003e and use \u003ccode\u003ehatchling \u0026lt;https://pypi.org/project/hatchling/\u0026gt;\u003c/code\u003e_ for\nbuilding.\nContributed by Ofek Lev in \u003ccode\u003e[#551](https://github.com/pytest-dev/pytest-cov/issues/551) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/551\u0026gt;\u003c/code\u003e_\nwith some extras in \u003ccode\u003e[#716](https://github.com/pytest-dev/pytest-cov/issues/716) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/716\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemoved some not really necessary testing deps like \u003ccode\u003esix\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.3.0 (2025-09-06)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for markdown reports.\nContributed by Marcos Boger in \u003ccode\u003e[#712](https://github.com/pytest-dev/pytest-cov/issues/712) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/712\u0026gt;\u003c/code\u003e_\nand \u003ccode\u003e[#714](https://github.com/pytest-dev/pytest-cov/issues/714) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/714\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eFixed some formatting issues in docs.\nAnonymous contribution in \u003ccode\u003e[#706](https://github.com/pytest-dev/pytest-cov/issues/706) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/706\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/224d8964caad90074a8cf6dc8720b8f70f31629b\"\u003e\u003ccode\u003e224d896\u003c/code\u003e\u003c/a\u003e Bump version: 6.3.0 → 7.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/73424e3999f865eac72e27f09d5fe11b9703cfd6\"\u003e\u003ccode\u003e73424e3\u003c/code\u003e\u003c/a\u003e Cleanup the docs a bit.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/36f1cc2967831dbd4c8aa70086fc86dc495f8b9a\"\u003e\u003ccode\u003e36f1cc2\u003c/code\u003e\u003c/a\u003e Bump pins in template.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/f299c590a63a48e51e3ae949993dc7bb1f1d480d\"\u003e\u003ccode\u003ef299c59\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/25f0b2e0cdbc345c0d3e49170f7a328c3e0d805f\"\u003e\u003ccode\u003e25f0b2e\u003c/code\u003e\u003c/a\u003e Update docs/config.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/bb23eacc5531fb8f499213d8420407e0d72f88e3\"\u003e\u003ccode\u003ebb23eac\u003c/code\u003e\u003c/a\u003e Improve configuration docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/a19531e91e1ab753ccf648a2d9bab08a6fddebb9\"\u003e\u003ccode\u003ea19531e\u003c/code\u003e\u003c/a\u003e Switch from build/pre-commit to uv/prek - this should make this faster.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/82f999391073f2fb8ae422af452602f310086a2a\"\u003e\u003ccode\u003e82f9993\u003c/code\u003e\u003c/a\u003e Update changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/211b5cd41c29916bc643b4a11b00578ba4fd6fe8\"\u003e\u003ccode\u003e211b5cd\u003c/code\u003e\u003c/a\u003e Fix links.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/97aadd74bcbc00a2078d240e8fe871dd62b83d80\"\u003e\u003ccode\u003e97aadd7\u003c/code\u003e\u003c/a\u003e Update some ci config, reformat and apply some lint fixes.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-cov/compare/v6.2.1...v7.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-doctestplus` from 1.4.0 to 1.7.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/releases\"\u003epytest-doctestplus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.7.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBUG: fix \u003cstrong\u003edoctest_requires\u003c/strong\u003e when constraint is present by \u003ca href=\"https://github.com/KostaIlic2\"\u003e\u003ccode\u003e@​KostaIlic2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/319\"\u003escientific-python/pytest-doctestplus#319\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/KostaIlic2\"\u003e\u003ccode\u003e@​KostaIlic2\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/319\"\u003escientific-python/pytest-doctestplus#319\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/compare/v1.7.0...v1.7.1\"\u003ehttps://github.com/scientific-python/pytest-doctestplus/compare/v1.7.0...v1.7.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.7.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMAINT: dropping python 3.9 support and pytest\u0026lt;7 by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/313\"\u003escientific-python/pytest-doctestplus#313\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest multiple directives by \u003ca href=\"https://github.com/mkelley\"\u003e\u003ccode\u003e@​mkelley\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/316\"\u003escientific-python/pytest-doctestplus#316\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/mkelley\"\u003e\u003ccode\u003e@​mkelley\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/316\"\u003escientific-python/pytest-doctestplus#316\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/compare/v1.6.0...v1.7.0\"\u003ehttps://github.com/scientific-python/pytest-doctestplus/compare/v1.6.0...v1.7.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.6.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTST: Catch ResourceWarning under bad combo by \u003ca href=\"https://github.com/pllim\"\u003e\u003ccode\u003e@​pllim\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/307\"\u003escientific-python/pytest-doctestplus#307\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: move on from deprecated macos image by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/309\"\u003escientific-python/pytest-doctestplus#309\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTST: Debug and fix new Windows + Python 3.14 failure (try 2) by \u003ca href=\"https://github.com/pllim\"\u003e\u003ccode\u003e@​pllim\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/310\"\u003escientific-python/pytest-doctestplus#310\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBUG: Fix directives that do not have any content by \u003ca href=\"https://github.com/seberg\"\u003e\u003ccode\u003e@​seberg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/311\"\u003escientific-python/pytest-doctestplus#311\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure skipped doctest are visible by \u003ca href=\"https://github.com/lagru\"\u003e\u003ccode\u003e@​lagru\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/312\"\u003escientific-python/pytest-doctestplus#312\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/lagru\"\u003e\u003ccode\u003e@​lagru\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/312\"\u003escientific-python/pytest-doctestplus#312\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/compare/v1.5.0...v1.6.0\"\u003ehttps://github.com/scientific-python/pytest-doctestplus/compare/v1.5.0...v1.6.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.5.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eintroduced option to specify file encoding by \u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/284\"\u003escientific-python/pytest-doctestplus#284\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTST: adding new python version to the fail list by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/289\"\u003escientific-python/pytest-doctestplus#289\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: exclude bots from release notes by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/290\"\u003escientific-python/pytest-doctestplus#290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: xfailing test now passes with new version by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/293\"\u003escientific-python/pytest-doctestplus#293\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: adding deprecation filterwarning for pytest-asyncio by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/294\"\u003escientific-python/pytest-doctestplus#294\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTST: new python version out, new xfail for the test by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/295\"\u003escientific-python/pytest-doctestplus#295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: adding Python 3.14 for testing by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/300\"\u003escientific-python/pytest-doctestplus#300\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: adding more versions to the matrix by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/306\"\u003escientific-python/pytest-doctestplus#306\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/scientific-python/pytest-doctestplus/blob/main/CHANGES.rst\"\u003epytest-doctestplus's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.7.1 (2026-01-26)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFixing bug where \u003ccode\u003e__doctest_requires__\u003c/code\u003e with version specifiers (e.g.,\n\u003ccode\u003enumpy\u0026gt;=2.0\u003c/code\u003e) incorrectly skipped tests even when dependencies were\nsatisfied. \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/issues/319\"\u003e#319\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.7.0 (2026-01-07)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixing crashing sphinx builds where multiple directives are used with the\nfirst one expecting content. The order of the directives used does not\nmatter after this fix. \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/issues/316\"\u003e#316\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eVersions of Python \u0026lt;3.10 and pytest\u0026lt;7 are no longer supported. \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/issues/313\"\u003e#313\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.6.0 (2025-11-20)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixing directives that should not have any content and therefore fixing\npreviously crashing sphinx builds. Using these directives with a content\nnow results an error. \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/issues/311\"\u003e#311\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure that tests skipped with \u003ccode\u003e__doctest_skip__\u003c/code\u003e and\n\u003ccode\u003e__doctest_requires__\u003c/code\u003e show up as skipped tests in Pytest's output. \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/issues/312\"\u003e#312\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.5.0 (2025-10-17)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdding the usage of the \u003ccode\u003edoctest_encoding\u003c/code\u003e ini option when overwriting\nfiles with the \u003ccode\u003edoctest-plus-generate-diff\u003c/code\u003e option. \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/issues/284\"\u003e#284\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/scientific-python/pytest-doctestplus/commit/9c3698d35336d2356e23fb49c3fabfc2e28fda34\"\u003e\u003ccode\u003e9c3698d\u003c/code\u003e\u003c/a\u003e Finalizing changelog for v1.7.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/commit/44de19cfd86863d4ca5256f51762fd2d4d1b064b\"\u003e\u003ccode\u003e44de19c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/issues/319\"\u003e#319\u003c/a\u003e from KostaIlic2/fix-issue-318\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/commit/299dfbf2e0ade89461da1d5fbbbde7e099e8123d\"\u003e\u003ccode\u003e299dfbf\u003c/code\u003e\u003c/a\u003e Minor typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/commit/223289805bf129d4ae18088c22a49c199826a9dc\"\u003e\u003ccode\u003e2232898\u003c/code\u003e\u003c/a\u003e Update CHANGES.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/commit/8d97d4a5cece711830940d9036d25a56e1bfc95c\"\u003e\u003ccode\u003e8d97d4a\u003c/code\u003e\u003c/a\u003e TST: use pass instead of skip in test_requires_module_variable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/commit/789ba6e8c29c8d55c2b8a77aaf767d1cb6e22917\"\u003e\u003ccode\u003e789ba6e\u003c/code\u003e\u003c/a\u003e DOC: update changelist\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/commit/4cb058c426d2e9b985201dfbf7be00d5e534d9a5\"\u003e\u003ccode\u003e4cb058c\u003c/code\u003e\u003c/a\u003e BUG: fix \u003cstrong\u003edoctest_requires\u003c/strong\u003e when constraint is present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/commit/d51d45aa0d8a7e53c80382dbeded78ae4e9cde1a\"\u003e\u003ccode\u003ed51d45a\u003c/code\u003e\u003c/a\u003e TST: add test that shows \u003cstrong\u003edoctest_requires\u003c/strong\u003e fails with contraint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/commit/0d8d511692941c012b3361303f34bc01fa7cac9d\"\u003e\u003ccode\u003e0d8d511\u003c/code\u003e\u003c/a\u003e Back to development: v1.8.0.dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/commit/8248fb7509993fbcdd1ac4b0f83c1b46deaabcce\"\u003e\u003ccode\u003e8248fb7\u003c/code\u003e\u003c/a\u003e Finalizing changelog for v1.7.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/compare/v1.4.0...v1.7.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `h5py` from 3.14.0 to 3.15.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/h5py/h5py/releases\"\u003eh5py's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.15.1\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003e3.15.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.h5py.org/en/latest/whatsnew/3.15.html\"\u003ehttps://docs.h5py.org/en/latest/whatsnew/3.15.html\u003c/a\u003e for release notes\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/h5py/h5py/commit/fad034c16f595cb24f4393bbd0dcd23c53bc9a33\"\u003e\u003ccode\u003efad034c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/h5py/h5py/issues/2727\"\u003e#2727\u003c/a\u003e from takluyver/prepare-3.15.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/435015dd3b3ff0ed1f9eb785fb3c42852b0120df\"\u003e\u003ccode\u003e435015d\u003c/code\u003e\u003c/a\u003e Version number -\u0026gt; 3.15.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/3cf3343435316f72e9e6dace114caf3c3c01e12a\"\u003e\u003ccode\u003e3cf3343\u003c/code\u003e\u003c/a\u003e Add release note for 3.15.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/c4d3394a422e5c4d0cc1374e491d180d9faacbfc\"\u003e\u003ccode\u003ec4d3394\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/h5py/h5py/issues/2725\"\u003e#2725\u003c/a\u003e from crusaderky/test_lowlevel_vds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/a0a707f3bc8c280492b70e0ea2b065b35d851f2c\"\u003e\u003ccode\u003ea0a707f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/h5py/h5py/issues/2722\"\u003e#2722\u003c/a\u003e from neutrinoceros/whl/fix-hdf5-macosx-deployment-ta...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/b30f4fa7b4731e41ac42d040ecfa242f34d9bba3\"\u003e\u003ccode\u003eb30f4fa\u003c/code\u003e\u003c/a\u003e WHL: build HDF5 with backward compatible system APIs on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/eff7fa8a5973fb7893c1e99ef1db491c626cc749\"\u003e\u003ccode\u003eeff7fa8\u003c/code\u003e\u003c/a\u003e TST: File hygiene in test_lowlevel_vds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/dffdd1a7c0f514a7fef5865e58bd3b0269447b3f\"\u003e\u003ccode\u003edffdd1a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/h5py/h5py/issues/2723\"\u003e#2723\u003c/a\u003e from takluyver/ci/gh-release-non-draft\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/9f675940af1d385fe0cb244c3ed43b1d101d19c3\"\u003e\u003ccode\u003e9f67594\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/h5py/h5py/issues/2724\"\u003e#2724\u003c/a\u003e from h5py/dependabot/github_actions/actions-e74af9633e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/0e8285793020c391eb774686e6fab5e07154404d\"\u003e\u003ccode\u003e0e82857\u003c/code\u003e\u003c/a\u003e Build(deps): Bump softprops/action-gh-release in the actions group\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/h5py/h5py/compare/3.14.0...3.15.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fasteners` from 0.19 to 0.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/harlowja/fasteners/releases\"\u003efasteners's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInterProcessLock now catches OSError and handles BlockingIOError correctly.\u003c/li\u003e\n\u003cli\u003eRemove support for python 3.8, python 3.9 and pypy 3.9. It should still work,\nbut is no longer tested.\u003c/li\u003e\n\u003cli\u003eAdd support for python 3.12, 3.13 and pypy 3.11.\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/harlowja/fasteners/blob/main/CHANGELOG.md\"\u003efasteners's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.20]\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInterProcessLock now catches OSError and handles BlockingIOError correctly.\u003c/li\u003e\n\u003cli\u003eRemove support for python 3.8, python 3.9 and pypy 3.9. It should still work,\nbut is no longer tested.\u003c/li\u003e\n\u003cli\u003eAdd support for python 3.12, 3.13 and pypy 3.11.\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/harlowja/fasteners/commit/87839f4acc6660856c67963b128dedd84e94907d\"\u003e\u003ccode\u003e87839f4\u003c/code\u003e\u003c/a\u003e Release 0.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/harlowja/fasteners/commit/559e58654a5587dd5a8247e979179f80af1ba727\"\u003e\u003ccode\u003e559e586\u003c/code\u003e\u003c/a\u003e Use uv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/harlowja/fasteners/commit/59edee2438b89f54eb0e372441face03a97c6689\"\u003e\u003ccode\u003e59edee2\u003c/code\u003e\u003c/a\u003e Update licence fields in pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/harlowja/fasteners/commit/433df5df95de7c79f3d993e5f0511e3bfa2752a5\"\u003e\u003ccode\u003e433df5d\u003c/code\u003e\u003c/a\u003e update docs build github action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/harlowja/fasteners/commit/fb2206259297ef70cccaa679499582dfbbea2fd5\"\u003e\u003ccode\u003efb22062\u003c/code\u003e\u003c/a\u003e Catch OSError in the InterProcessLock (\u003ca href=\"https://redirect.github.com/harlowja/fasteners/issues/123\"\u003e#123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/harlowja/fasteners/commit/3f114f01ca775db3e78b20a0e54ca561c5d31eb0\"\u003e\u003ccode\u003e3f114f0\u003c/code\u003e\u003c/a\u003e Update CI python versions (\u003ca href=\"https://redirect.github.com/harlowja/fasteners/issues/120\"\u003e#120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/harlowja/fasteners/compare/0.19...0.20\"\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.1 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.1...9.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/zarr-developers/zarr-python/pull/3687","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/zarr-developers%2Fzarr-python/issues/3687","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3687/packages"}},{"old_version":"8.1.7","new_version":"8.1.8","update_type":"patch","path":null,"pr_created_at":"2026-02-01T11:10:59.000Z","version_change":"8.1.7 → 8.1.8","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":"8.1.5","new_version":"8.1.8","update_type":"patch","path":null,"pr_created_at":"2026-02-01T09:27:06.000Z","version_change":"8.1.5 → 8.1.8","issue":{"uuid":"3881651866","node_id":"PR_kwDOAVOy2c7Ashnb","number":657,"state":"closed","title":"Bump the pip group across 1 directory with 38 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-01T09:23:54.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-01T09:27:06.000Z","updated_at":"2026-03-01T09:23:55.000Z","time_to_close":2419008,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"pip","update_count":38,"packages":[{"name":"beautifulsoup4","old_version":"4.13.3","new_version":"4.14.3"},{"name":"biopython","old_version":"1.85","new_version":"1.86","repository_url":"https://github.com/biopython/biopython"},{"name":"bokeh","old_version":"3.6.2","new_version":"3.8.2","repository_url":"https://github.com/bokeh/bokeh"},{"name":"certifi","old_version":"2025.1.31","new_version":"2026.1.4","repository_url":"https://github.com/certifi/python-certifi"},{"name":"cryptography","old_version":"44.0.1","new_version":"46.0.4","repository_url":"https://github.com/pyca/cryptography"},{"name":"idna","old_version":"3.10","new_version":"3.11","repository_url":"https://github.com/kjd/idna"},{"name":"jsonschema","old_version":"4.23.0","new_version":"4.26.0","repository_url":"https://github.com/python-jsonschema/jsonschema"},{"name":"markdown","old_version":"3.7","new_version":"3.10.1","repository_url":"https://github.com/Python-Markdown/markdown"},{"name":"markupsafe","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/pallets/markupsafe"},{"name":"networkx","old_version":"3.4.2","new_version":"3.6.1","repository_url":"https://github.com/networkx/networkx"},{"name":"numpy","old_version":"2.2.3","new_version":"2.4.2","repository_url":"https://github.com/numpy/numpy"},{"name":"pillow","old_version":"11.1.0","new_version":"12.1.0","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"plotly","old_version":"5.24.1","new_version":"6.5.2","repository_url":"https://github.com/plotly/plotly.py"},{"name":"pyasn1","old_version":"0.6.1","new_version":"0.6.2","repository_url":"https://github.com/pyasn1/pyasn1"},{"name":"pycurl","old_version":"7.45.4","new_version":"7.45.7","repository_url":"https://github.com/pycurl/pycurl"},{"name":"pygments","old_version":"2.19.1","new_version":"2.19.2","repository_url":"https://github.com/pygments/pygments"},{"name":"pyopenssl","old_version":"25.0.0","new_version":"25.3.0","repository_url":"https://github.com/pyca/pyopenssl"},{"name":"rsa","old_version":"4.9","new_version":"4.9.1","repository_url":"https://github.com/sybrenstuvel/python-rsa"},{"name":"scipy","old_version":"1.15.2","new_version":"1.17.0","repository_url":"https://github.com/scipy/scipy"},{"name":"setuptools","old_version":"75.8.2","new_version":"80.10.2","repository_url":"https://github.com/pypa/setuptools"},{"name":"sympy","old_version":"1.13.3","new_version":"1.14.0","repository_url":"https://github.com/sympy/sympy"},{"name":"wordcloud","old_version":"1.9.4","new_version":"1.9.6","repository_url":"https://github.com/amueller/word_cloud"},{"name":"ipython","old_version":"8.33.0","new_version":"9.9.0","repository_url":"https://github.com/ipython/ipython"},{"name":"ipywidgets","old_version":"8.1.5","new_version":"8.1.8","repository_url":"https://github.com/jupyter-widgets/ipywidgets"},{"name":"jinja2","old_version":"3.1.5","new_version":"3.1.6","repository_url":"https://github.com/pallets/jinja"},{"name":"pandas","old_version":"2.2.3","new_version":"3.0.0","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"pymongo","old_version":"4.11.1","new_version":"4.16.0","repository_url":"https://github.com/mongodb/mongo-python-driver"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"requests","old_version":"2.32.3","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"scikit-learn","old_version":"1.6.1","new_version":"1.8.0","repository_url":"https://github.com/scikit-learn/scikit-learn"},{"name":"statsmodels","old_version":"0.14.4","new_version":"0.14.6","repository_url":"https://github.com/statsmodels/statsmodels"},{"name":"tornado","old_version":"6.4.2","new_version":"6.5.4","repository_url":"https://github.com/tornadoweb/tornado"},{"name":"coverage","old_version":"7.6.12","new_version":"7.13.2","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"pytest","old_version":"8.3.4","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"6.0.0","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-recording","old_version":"0.13.2","new_version":"0.13.4","repository_url":"https://github.com/kiwicom/pytest-recording"},{"name":"ruff","old_version":"0.9.9","new_version":"0.14.14","repository_url":"https://github.com/astral-sh/ruff"},{"name":"vcrpy","old_version":"7.0.0","new_version":"8.1.1","repository_url":"https://github.com/kevin1024/vcrpy"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 38 updates in the /src directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.13.3` | `4.14.3` |\n| [biopython](https://github.com/biopython/biopython) | `1.85` | `1.86` |\n| [bokeh](https://github.com/bokeh/bokeh) | `3.6.2` | `3.8.2` |\n| [certifi](https://github.com/certifi/python-certifi) | `2025.1.31` | `2026.1.4` |\n| [cryptography](https://github.com/pyca/cryptography) | `44.0.1` | `46.0.4` |\n| [idna](https://github.com/kjd/idna) | `3.10` | `3.11` |\n| [jsonschema](https://github.com/python-jsonschema/jsonschema) | `4.23.0` | `4.26.0` |\n| [markdown](https://github.com/Python-Markdown/markdown) | `3.7` | `3.10.1` |\n| [markupsafe](https://github.com/pallets/markupsafe) | `3.0.2` | `3.0.3` |\n| [networkx](https://github.com/networkx/networkx) | `3.4.2` | `3.6.1` |\n| [numpy](https://github.com/numpy/numpy) | `2.2.3` | `2.4.2` |\n| [pillow](https://github.com/python-pillow/Pillow) | `11.1.0` | `12.1.0` |\n| [plotly](https://github.com/plotly/plotly.py) | `5.24.1` | `6.5.2` |\n| [pyasn1](https://github.com/pyasn1/pyasn1) | `0.6.1` | `0.6.2` |\n| [pycurl](https://github.com/pycurl/pycurl) | `7.45.4` | `7.45.7` |\n| [pygments](https://github.com/pygments/pygments) | `2.19.1` | `2.19.2` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `25.0.0` | `25.3.0` |\n| [rsa](https://github.com/sybrenstuvel/python-rsa) | `4.9` | `4.9.1` |\n| [scipy](https://github.com/scipy/scipy) | `1.15.2` | `1.17.0` |\n| [setuptools](https://github.com/pypa/setuptools) | `75.8.2` | `80.10.2` |\n| [sympy](https://github.com/sympy/sympy) | `1.13.3` | `1.14.0` |\n| [wordcloud](https://github.com/amueller/word_cloud) | `1.9.4` | `1.9.6` |\n| [ipython](https://github.com/ipython/ipython) | `8.33.0` | `9.9.0` |\n| [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) | `8.1.5` | `8.1.8` |\n| [jinja2](https://github.com/pallets/jinja) | `3.1.5` | `3.1.6` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.2.3` | `3.0.0` |\n| [pymongo](https://github.com/mongodb/mongo-python-driver) | `4.11.1` | `4.16.0` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.32.5` |\n| [scikit-learn](https://github.com/scikit-learn/scikit-learn) | `1.6.1` | `1.8.0` |\n| [statsmodels](https://github.com/statsmodels/statsmodels) | `0.14.4` | `0.14.6` |\n| [tornado](https://github.com/tornadoweb/tornado) | `6.4.2` | `6.5.4` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.6.12` | `7.13.2` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.3.4` | `9.0.2` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.0.0` | `7.0.0` |\n| [pytest-recording](https://github.com/kiwicom/pytest-recording) | `0.13.2` | `0.13.4` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.9.9` | `0.14.14` |\n| [vcrpy](https://github.com/kevin1024/vcrpy) | `7.0.0` | `8.1.1` |\n\n\nUpdates `beautifulsoup4` from 4.13.3 to 4.14.3\n\nUpdates `biopython` from 1.85 to 1.86\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/biopython/biopython/blob/master/NEWS.rst\"\u003ebiopython's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e28 October 2025: Biopython 1.86\u003c/h1\u003e\n\u003cp\u003eThis release of Biopython supports Python 3.10, 3.11, 3.12, 3.13 and 3.14.  It\nhas also been tested on PyPy3.10 v7.3.19.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.SearchIO\u003c/code\u003e now supports parsing the tabular and plain text output of\n\u003ccode\u003eInfernal \u0026lt;http://eddylab.org/infernal/\u0026gt;\u003c/code\u003e (v1.0.0+) RNA search tool. The\nformat names are \u003ccode\u003einfernal-tab\u003c/code\u003e and \u003ccode\u003einfernal-text\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe default value of the gap score of a \u003ccode\u003ePairwiseAligner\u003c/code\u003e object was changed\nin this release.  Previously, for consistency with \u003ccode\u003eBio.pairwise2\u003c/code\u003e, the\ndefault value for gap score was 0.  However, this means that a mismatch, an\ninsertion followed by a deletion, and a deletion followed by an insertion all\nget assigned a score of 0.  The aligner then finds a large number of alignments\nthat are logically the same, but have trivial differences between them.  For\nexample, aligning AAACAAA to AAAGAAA previously yielded the following three\nalignments, all with score 6::\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e AAACAAA        AAAC-AAA        AAA-CAAA\n AAAGAAA        AAA-GAAA        AAAG-AAA\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eWith the new default parameter for the gap score, only the first alignment is\nreturned.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.PDB.PDBIO\u003c/code\u003e now ensures that b-factor values are always at most 6 characters to\nensure that we do not violate the wwPDB specification. This should not have an impact\non the majority of uses, as b-factor values are generally small (less than 100). When\n1000 \u0026lt;= b-factor \u0026lt; 10_000, the value is rounded to a single decimal place. When,\n10_000 \u0026lt;= b-factor \u0026lt; 999_999, the value is rounded to zero decimal places. Values\nabove 999_999 are now clamped. The justification for this is the rise in the b-factor\nfield being used for additional metadata, typically from computational tools.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.Align\u003c/code\u003e now provides a method \u003ccode\u003eAlignment.from_alignments_with_same_reference\u003c/code\u003e\nto construct a multiple sequence alignment from a collection of alignments\nthat share the same reference sequence.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.PDB.PDBIO\u003c/code\u003e will now raise module specific warnings:\n\u003ccode\u003eBio.PDB.PDBExceptions.PDBIOWarning\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.PDB.SCADIO\u003c/code\u003e now supports object selection by color in the OpenSCAD\noutput file.  This enables generation of separate STL files for each color for\nprinting protein structures on multi-material 3D printers.\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003eiplotx\u003c/code\u003e library is mentioned in the Tutorial as an option to visualise\ntrees using complex style options.\u003c/p\u003e\n\u003cp\u003eMany thanks to the Biopython developers and community for making this release\npossible, especially the following contributors:\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\u003eSee full diff in \u003ca href=\"https://github.com/biopython/biopython/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bokeh` from 3.6.2 to 3.8.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bokeh/bokeh/blob/3.8.2/docs/CHANGELOG\"\u003ebokeh's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2026-01-06    3.8.2:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ebugfixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14768\"\u003e#14768\u003c/a\u003e [component: server] Incomplete Origin Validation in WebSockets in Bokeh server applications\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003etasks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14767\"\u003e#14767\u003c/a\u003e Backports for 3.8.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2025-11-07    3.8.1:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ebugfixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14618\"\u003e#14618\u003c/a\u003e [component: docs] Local documentation build fails with \u003ccode\u003eExtension error (sphinxext.opengraph)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14626\"\u003e#14626\u003c/a\u003e [component: docs] Local documentation fails on Windows because of missing svg icons\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14651\"\u003e#14651\u003c/a\u003e [component: bokehjs] HoverTool parameter @$name for stacked bar chart not working in version 3.8.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003etasks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14704\"\u003e#14704\u003c/a\u003e Backports for 3.8.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2025-08-29      3.8:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebugfixes:\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/12430\"\u003e#12430\u003c/a\u003e [component: bokehjs] [BUG] Step glyphs do not support linked brushing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/12994\"\u003e#12994\u003c/a\u003e [component: bokehjs] [BUG] Patch does not output under certain conditions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/13616\"\u003e#13616\u003c/a\u003e [component: bokehjs] [BUG] DateRangePicker value does not reflect value in browser when selection is aborted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14334\"\u003e#14334\u003c/a\u003e js_on_change not firing when range is updated in range tool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14352\"\u003e#14352\u003c/a\u003e [component: bokehjs] Log Axis and Range1d \u0026lt; 1 failing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14383\"\u003e#14383\u003c/a\u003e [component: bokehjs] \u003ccode\u003eSerializationError: circular reference\u003c/code\u003e When Passing List of Renderers to CustomJS Callbacks, but not when passing renderers sperately.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14396\"\u003e#14396\u003c/a\u003e [component: examples] Remove context from time of day in span example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14399\"\u003e#14399\u003c/a\u003e Bad typings for \u003ccode\u003elist_attr_splat\u003c/code\u003e (e.g. \u003ccode\u003ePlot.axis\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14413\"\u003e#14413\u003c/a\u003e [component: bokehjs] \u003ccode\u003eValueRef\u003c/code\u003e \u003ccode\u003eformatter\u003c/code\u003e does not handle datetime nullable well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14420\"\u003e#14420\u003c/a\u003e [component: bokehjs] Enhance performance of WebGL multi_marker\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14422\"\u003e#14422\u003c/a\u003e [component: bokehjs] Legend renderer not correctly positioned when saved with SaveTool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14424\"\u003e#14424\u003c/a\u003e [component: bokehjs] Patches with no data does not show plot with Bokeh 3.7+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14458\"\u003e#14458\u003c/a\u003e [component: bokehjs] Removing and re-adding DOM nodes causes React problems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14461\"\u003e#14461\u003c/a\u003e [component: tests] The regression test for issue \u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14207\"\u003e#14207\u003c/a\u003e is unreliable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14468\"\u003e#14468\u003c/a\u003e [component: docs] Try on CodePen link does not work in documentation /docs/user_guide/advanced/bokehjs.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14469\"\u003e#14469\u003c/a\u003e [component: bokehjs] Canvas2D: Multiple readback operations using getImageData are faster with the willReadFrequently attribute set to true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14476\"\u003e#14476\u003c/a\u003e Improve handling of pd.NA in Property.matches\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14497\"\u003e#14497\u003c/a\u003e mypy 1.15.0 fails in CI but not locally\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14499\"\u003e#14499\u003c/a\u003e [component: docs] IndexError on importing bokeh.sphinxext.bokeh_plot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14520\"\u003e#14520\u003c/a\u003e [component: bokehjs] BokehJS complains about categorical factors for the BoxAnnotation widget\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14536\"\u003e#14536\u003c/a\u003e Flex layouts need to apply \u003ccode\u003emin_width\u003c/code\u003e and \u003ccode\u003emin_height\u003c/code\u003e selectively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14540\"\u003e#14540\u003c/a\u003e [component: tests] Tests are failing on Windows and Python 3.10 after PR \u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14531\"\u003e#14531\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14541\"\u003e#14541\u003c/a\u003e New SVG icons have inconsistent line widths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14554\"\u003e#14554\u003c/a\u003e Add support for scalar uint32 color input.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14565\"\u003e#14565\u003c/a\u003e [component: bokehjs] DataTable source update broken\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14574\"\u003e#14574\u003c/a\u003e [component: build] grammar build script failing with whitespace in path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14597\"\u003e#14597\u003c/a\u003e [component: bokehjs] \u003ccode\u003edocument_ready\u003c/code\u003e even trigger twice with Bokeh 3.4.0.dev4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14602\"\u003e#14602\u003c/a\u003e [component: bokehjs] Layoutable components in side panels don't appear in exported images\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14620\"\u003e#14620\u003c/a\u003e Re-connect race condition on page reload\u003c/li\u003e\n\u003c/ul\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/bokeh/bokeh/commit/e5ce879c388a990e2977d126be14db5f642cf540\"\u003e\u003ccode\u003ee5ce879\u003c/code\u003e\u003c/a\u003e Deployment updates for release 3.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/2b3ee1081a7622d49daefea3214f1c6b07ad602c\"\u003e\u003ccode\u003e2b3ee10\u003c/code\u003e\u003c/a\u003e Don't validate npm credentials due to OICD limitations in npm (\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14769\"\u003e#14769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/756e3aef85e95330c49f997d6936bf0bd522393e\"\u003e\u003ccode\u003e756e3ae\u003c/code\u003e\u003c/a\u003e Migrate from NPM tokens to trusted providers for publishing in CI (\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14766\"\u003e#14766\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/2f225a1dbbc8ae74425b4e5acedf56aedc3f9d1d\"\u003e\u003ccode\u003e2f225a1\u003c/code\u003e\u003c/a\u003e Update dependencies in build environment (\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14758\"\u003e#14758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/69d197c318da7dd1a67d7f2a101f21fcdd0065f0\"\u003e\u003ccode\u003e69d197c\u003c/code\u003e\u003c/a\u003e update switcher.json\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/d915c8b9f42c67a90ac52f4a8d21be5e14e1e0af\"\u003e\u003ccode\u003ed915c8b\u003c/code\u003e\u003c/a\u003e update to latest ruff (\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14661\"\u003e#14661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/5f9f7b66bdd09cfac086da212d134a7654dfdab2\"\u003e\u003ccode\u003e5f9f7b6\u003c/code\u003e\u003c/a\u003e update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/cedd113b0e271b439dce768671685cf5f861812e\"\u003e\u003ccode\u003ecedd113\u003c/code\u003e\u003c/a\u003e handle wildcard host with port correctly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/a961ab7aad2a7d5d0350e861368e3d4294732caa\"\u003e\u003ccode\u003ea961ab7\u003c/code\u003e\u003c/a\u003e small CI fixes for advisory fork merge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/d62939a6f9515d86010cf564ef6e256b62636725\"\u003e\u003ccode\u003ed62939a\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bokeh/bokeh/compare/3.6.2...3.8.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2025.1.31 to 2026.1.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/c64d9f3a8496c0195548697f2080e716af66dd6a\"\u003e\u003ccode\u003ec64d9f3\u003c/code\u003e\u003c/a\u003e 2026.01.04 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/389\"\u003e#389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/4ac232f05a547071543d2fb069aa3c62b1dc79f3\"\u003e\u003ccode\u003e4ac232f\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 6.0.0 to 7.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/387\"\u003e#387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/95ae4b20e8abb7fa708e751e346466d16b36211a\"\u003e\u003ccode\u003e95ae4b2\u003c/code\u003e\u003c/a\u003e Update CI workflow to use Ubuntu 24.04 and Python 3.14 stable (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/386\"\u003e#386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/b72a7b1a40ae20755338d3132d8f880427b3b6fc\"\u003e\u003ccode\u003eb72a7b1\u003c/code\u003e\u003c/a\u003e Bump dessant/lock-threads from 5.0.1 to 6.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/ecc267216fbdcecb1b2aa2aa175152b773cc5ced\"\u003e\u003ccode\u003eecc2672\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 5.0.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/6a897dbc1124b17f179ef225742fcda481ec96f3\"\u003e\u003ccode\u003e6a897db\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 7.0.11 to 8.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/383\"\u003e#383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/27ca98ad845ee6d130a88301622c137893f71620\"\u003e\u003ccode\u003e27ca98a\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 7.0.9 to 7.0.11 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/381\"\u003e#381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/56c59a63909cfd3162b37e7bc16956e64df0f737\"\u003e\u003ccode\u003e56c59a6\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.0 to 6.0.1 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/ae0021cd43a77bfba67d20a041469cdf6996570e\"\u003e\u003ccode\u003eae0021c\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 6.0.0 to 6.1.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/380\"\u003e#380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/ddf5d0b5d2a3d55fd92a79f141dbb5e074caf924\"\u003e\u003ccode\u003eddf5d0b\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5.0.1 to 6.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/378\"\u003e#378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2025.01.31...2026.01.04\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 44.0.1 to 46.0.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e46.0.4 - 2026-01-27\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* `Dropped support for win_arm64 wheels`_.\n* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.5.\n\u003cp\u003e.. _v46-0-3:\u003c/p\u003e\n\u003cp\u003e46.0.3 - 2025-10-15\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed compilation when using LibreSSL 4.2.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-2:\u003c/p\u003e\n\u003cp\u003e46.0.2 - 2025-09-30\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.4.\n\u003cp\u003e.. _v46-0-1:\u003c/p\u003e\n\u003cp\u003e46.0.1 - 2025-09-16\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where users installing via \u003ccode\u003epip\u003c/code\u003e on Python 3.14 development\nversions would not properly install a dependency.\u003c/li\u003e\n\u003cli\u003eFixed an issue building the free-threaded macOS 3.14 wheels.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-0:\u003c/p\u003e\n\u003cp\u003e46.0.0 - 2025-09-16\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* **BACKWARDS INCOMPATIBLE:** Support for Python 3.7 has been removed.\n* Support for OpenSSL \u0026lt; 3.0 is deprecated and will be removed in the next\n  release.\n* Support for ``x86_64`` macOS (including publishing wheels) is deprecated\n  and will be removed in two releases. We will switch to publishing an\n  ``arm64`` only wheel for macOS.\n* Support for 32-bit Windows (including publishing wheels) is deprecated\n  and will be removed in two releases. Users should move to a 64-bit\n  Python installation.\n* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.3.\n* We now build ``ppc64le`` ``manylinux`` wheels and publish them to PyPI.\n* We now build ``win_arm64`` (Windows on Arm) wheels and publish them to PyPI.\n* Added support for free-threaded Python 3.14.\n* Removed the deprecated ``get_attribute_for_oid`` method on\n  :class:`~cryptography.x509.CertificateSigningRequest`. Users should use\n  :meth:`~cryptography.x509.Attributes.get_attribute_for_oid` instead.\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e6f44fc8e6391f05d719fb9d369692325b87a471\"\u003e\u003ccode\u003ee6f44fc\u003c/code\u003e\u003c/a\u003e bump for 46.0.4 and drop win arm64 due to CI issues (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/14217\"\u003e#14217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/c0af4dd7b75921bbe9f1d41a03dbd4b64a9e3403\"\u003e\u003ccode\u003ec0af4dd\u003c/code\u003e\u003c/a\u003e release 46.0.3 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13681\"\u003e#13681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/99efe5ad150a56efadafacaffd0e3ee319373904\"\u003e\u003ccode\u003e99efe5a\u003c/code\u003e\u003c/a\u003e bump version for 46.0.2 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13531\"\u003e#13531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e735cfc27502320101c130335c556394a125ba52\"\u003e\u003ccode\u003ee735cfc\u003c/code\u003e\u003c/a\u003e release 46.0.1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13450\"\u003e#13450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/4e457ffba43a6d87efc63c33041e2081438dd8a4\"\u003e\u003ccode\u003e4e457ff\u003c/code\u003e\u003c/a\u003e Explicitly specify python in mac uv build invocation (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13447\"\u003e#13447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/2726efdb6d67f1c90cf9c6062d9fe051965586f8\"\u003e\u003ccode\u003e2726efd\u003c/code\u003e\u003c/a\u003e Depend on CFFI 2.0.0 or newer on Python \u0026gt; 3.8 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13448\"\u003e#13448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/62230623d183706632c0eb7822c96ac95e3710a8\"\u003e\u003ccode\u003e6223062\u003c/code\u003e\u003c/a\u003e release 46.0.0 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13446\"\u003e#13446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/563c4915b0931455706f761a4579c26698824eae\"\u003e\u003ccode\u003e563c491\u003c/code\u003e\u003c/a\u003e Update comment for pyopenssl-release tag (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13445\"\u003e#13445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/d2f6f7faced35b73277bc624ff496f8af696b172\"\u003e\u003ccode\u003ed2f6f7f\u003c/code\u003e\u003c/a\u003e Bump downstream dependencies in CI (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13439\"\u003e#13439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e7ab02bd679d0b4f55d93486fe27e62554ef15d4\"\u003e\u003ccode\u003ee7ab02b\u003c/code\u003e\u003c/a\u003e we'll ship this with 3.5.3 why not (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13442\"\u003e#13442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/cryptography/compare/44.0.1...46.0.4\"\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 `jsonschema` from 4.23.0 to 4.26.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/releases\"\u003ejsonschema's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.26.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1400\"\u003epython-jsonschema/jsonschema#1400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1405\"\u003epython-jsonschema/jsonschema#1405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 6.5.0 to 6.6.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1406\"\u003epython-jsonschema/jsonschema#1406\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1407\"\u003epython-jsonschema/jsonschema#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1413\"\u003epython-jsonschema/jsonschema#1413\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 6.6.0 to 6.6.1 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/python-jsonschema/jsonschema/pull/1412\"\u003epython-jsonschema/jsonschema#1412\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1410\"\u003epython-jsonschema/jsonschema#1410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release from 2.3.2 to 2.3.3 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/python-jsonschema/jsonschema/pull/1409\"\u003epython-jsonschema/jsonschema#1409\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/python-jsonschema/jsonschema/pull/1411\"\u003epython-jsonschema/jsonschema#1411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003evalidators: avoid \u003ccode\u003eurllib.request\u003c/code\u003e at import-time by \u003ca href=\"https://github.com/gudnimg\"\u003e\u003ccode\u003e@​gudnimg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1416\"\u003epython-jsonschema/jsonschema#1416\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 6.6.1 to 6.8.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1417\"\u003epython-jsonschema/jsonschema#1417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release from 2.3.3 to 2.3.4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1418\"\u003epython-jsonschema/jsonschema#1418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1415\"\u003epython-jsonschema/jsonschema#1415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release from 2.3.4 to 2.4.1 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/python-jsonschema/jsonschema/pull/1419\"\u003epython-jsonschema/jsonschema#1419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump github/codeql-action from 3 to 4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1420\"\u003epython-jsonschema/jsonschema#1420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 6.8.0 to 7.1.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1421\"\u003epython-jsonschema/jsonschema#1421\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1424\"\u003epython-jsonschema/jsonschema#1424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 7.1.0 to 7.1.1 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/python-jsonschema/jsonschema/pull/1423\"\u003epython-jsonschema/jsonschema#1423\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1425\"\u003epython-jsonschema/jsonschema#1425\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1429\"\u003epython-jsonschema/jsonschema#1429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1431\"\u003epython-jsonschema/jsonschema#1431\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release from 2.4.1 to 2.4.2 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/python-jsonschema/jsonschema/pull/1432\"\u003epython-jsonschema/jsonschema#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 7.1.1 to 7.1.2 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/python-jsonschema/jsonschema/pull/1430\"\u003epython-jsonschema/jsonschema#1430\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1434\"\u003epython-jsonschema/jsonschema#1434\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 7.1.2 to 7.1.4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1435\"\u003epython-jsonschema/jsonschema#1435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1436\"\u003epython-jsonschema/jsonschema#1436\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1437\"\u003epython-jsonschema/jsonschema#1437\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump softprops/action-gh-release from 2.4.2 to 2.5.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1438\"\u003epython-jsonschema/jsonschema#1438\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1439\"\u003epython-jsonschema/jsonschema#1439\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument \u003ccode\u003euuid\u003c/code\u003e format by \u003ca href=\"https://github.com/sim642\"\u003e\u003ccode\u003e@​sim642\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1440\"\u003epython-jsonschema/jsonschema#1440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1441\"\u003epython-jsonschema/jsonschema#1441\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump astral-sh/setup-uv from 7.1.4 to 7.1.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/python-jsonschema/jsonschema/pull/1442\"\u003epython-jsonschema/jsonschema#1442\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1443\"\u003epython-jsonschema/jsonschema#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/gudnimg\"\u003e\u003ccode\u003e@​gudnimg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1416\"\u003epython-jsonschema/jsonschema#1416\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sim642\"\u003e\u003ccode\u003e@​sim642\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1440\"\u003epython-jsonschema/jsonschema#1440\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-jsonschema/jsonschema/compare/v4.25.1...v4.26.0\"\u003ehttps://github.com/python-jsonschema/jsonschema/compare/v4.25.1...v4.26.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.25.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidator\u003c/code\u003e protocol init to match runtime by \u003ca href=\"https://github.com/sirosen\"\u003e\u003ccode\u003e@​sirosen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1396\"\u003epython-jsonschema/jsonschema#1396\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/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst\"\u003ejsonschema's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev4.26.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDecrease import time by delaying importing of \u003ccode\u003eurllib.request\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1416\"\u003e#1416\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev4.25.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix an incorrect required argument in the \u003ccode\u003eValidator\u003c/code\u003e protocol's type annotations (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1396\"\u003e#1396\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev4.25.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003eiri\u003c/code\u003e and \u003ccode\u003eiri-reference\u003c/code\u003e formats to the \u003ccode\u003eformat-nongpl\u003c/code\u003e extra via the MIT-licensed \u003ccode\u003erfc3987-syntax\u003c/code\u003e.\nThey were alread supported by the \u003ccode\u003eformat\u003c/code\u003e extra. (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1388\"\u003e#1388\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev4.24.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eProperly escape segments in \u003ccode\u003eValidationError.json_path\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/139\"\u003e#139\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev4.24.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix improper handling of \u003ccode\u003eunevaluatedProperties\u003c/code\u003e in the presence of \u003ccode\u003eadditionalProperties\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1351\"\u003e#1351\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eSupport for Python 3.8 has been dropped, as it is end-of-life.\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-jsonschema/jsonschema/commit/a7277432b0f7bcd0551f6e589d30457017125df4\"\u003e\u003ccode\u003ea727743\u003c/code\u003e\u003c/a\u003e Add a changelog entry for 4.26.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/6d28c13efbbd6cf136143fdbb18f79d4476091f6\"\u003e\u003ccode\u003e6d28c13\u003c/code\u003e\u003c/a\u003e Update the lockfile.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/739499edc33c007ff62180c9fef61dbf5480bb7b\"\u003e\u003ccode\u003e739499e\u003c/code\u003e\u003c/a\u003e Update pre-commit hooks.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/cb2d77980713577f65cc7e7c7c115932206393fd\"\u003e\u003ccode\u003ecb2d779\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1443\"\u003e#1443\u003c/a\u003e from python-jsonschema/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/e6bbbb7c5bcdb32a654572d17bfce264aefd1f9d\"\u003e\u003ccode\u003ee6bbbb7\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/d56037a88faac4881214c6674a785b4abd428617\"\u003e\u003ccode\u003ed56037a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1442\"\u003e#1442\u003c/a\u003e from python-jsonschema/dependabot/github_actions/ast...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/e54ce13fb590a5c17fb702431598a382de6e68f9\"\u003e\u003ccode\u003ee54ce13\u003c/code\u003e\u003c/a\u003e Bump astral-sh/setup-uv from 7.1.4 to 7.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/1f7c9fbd01d9c2f8ddd98065324062f7e122dbe1\"\u003e\u003ccode\u003e1f7c9fb\u003c/code\u003e\u003c/a\u003e Partially update docs requirements.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/241aec982bc8c867f276779faf20d49d9774532f\"\u003e\u003ccode\u003e241aec9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1441\"\u003e#1441\u003c/a\u003e from python-jsonschema/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/2818efb4fa446ed4fa7815b4e09a7b4b7c633852\"\u003e\u003ccode\u003e2818efb\u003c/code\u003e\u003c/a\u003e Apache-2.0 -\u0026gt; nongpl\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.23.0...v4.26.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `markdown` from 3.7 to 3.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Python-Markdown/markdown/releases\"\u003emarkdown's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 3.10.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure nested elements inside inline comments are properly unescaped (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1571\"\u003e#1571\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMake the docs build successfully with mkdocstrings-python 2.0 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1575\"\u003e#1575\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix infinite loop when multiple bogus or unclosed HTML comments appear in input (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1578\"\u003e#1578\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix another infinite loop when handling bad comments (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1586\"\u003e#1586\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.10.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOfficially support Python 3.14 and PyPy 3.11 and drop support for Python 3.9\nand PyPy 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix an HTML comment parsing case in some Python versions that can cause an\ninfinite loop (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1554\"\u003e#1554\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRevert the default behavior of \u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e (to \u003ccode\u003eTrue\u003c/code\u003e). The new\nbehavior introduced in 3.9.0 is experimental and results are inconsistent.\nIt should not have been made the default behavior (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1561\"\u003e#1561\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.9.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFootnotes are now ordered by the occurrence of their references in the\ndocument. A new configuration option for the footnotes extension,\n\u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e, has been added to support restoring the previous\nbehavior of ordering footnotes by the occurrence of definitions (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1367\"\u003e#1367\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure inline processing iterates through elements in document order (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1546\"\u003e#1546\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix handling of incomplete HTML tags in code spans in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1547\"\u003e#1547\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.8.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003ecodecs\u003c/code\u003e deprecation in Python 3.14.\u003c/li\u003e\n\u003cli\u003eFix issue with unclosed comment parsing in Python 3.14.\u003c/li\u003e\n\u003cli\u003eFix issue with unclosed declarations in Python 3.14.\u003c/li\u003e\n\u003cli\u003eFix issue with unclosed HTML tag \u003ccode\u003e\u0026lt;foo\u003c/code\u003e and Python 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.8.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure incomplete markup declaration in raw HTML doesn't crash parser (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1534\"\u003e#1534\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed dropped content in \u003ccode\u003emd_in_html\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1526\"\u003e#1526\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed HTML handling corner case that prevented some content from not being rendered (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1528\"\u003e#1528\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/Python-Markdown/markdown/blob/master/docs/changelog.md\"\u003emarkdown's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.10.1] - 2026-01-21\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure nested elements inside inline comments are properly unescaped (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1571\"\u003e#1571\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMake the docs build successfully with mkdocstrings-python 2.0 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1575\"\u003e#1575\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix infinite loop when multiple bogus or unclosed HTML comments appear in input (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1578\"\u003e#1578\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix another infinite loop when handling bad comments (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1586\"\u003e#1586\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.10.0] - 2025-11-03\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOfficially support Python 3.14 and PyPy 3.11 and drop support for Python 3.9\nand PyPy 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix an HTML comment parsing case in some Python versions that can cause an\ninfinite loop (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1554\"\u003e#1554\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRevert the default behavior of \u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e (to \u003ccode\u003eTrue\u003c/code\u003e). The new\nbehavior introduced in 3.9.0 is experimental and results are inconsistent.\nIt should not have been made the default behavior (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1561\"\u003e#1561\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.9.0] - 2025-09-04\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFootnotes are now ordered by the occurrence of their references in the\ndocument. A new configuration option for the footnotes extension,\n\u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e, has been added to support restoring the previous\nbehavior of ordering footnotes by the occurrence of definitions (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1367\"\u003e#1367\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure inline processing iterates through elements in document order (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1546\"\u003e#1546\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix handling of incomplete HTML tags in code spans in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1547\"\u003e#1547\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.8.2] - 2025-06-19\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003ecodecs\u003c/code\u003e deprecation in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1537\"\u003e#1537\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix issue with unclosed comment parsing in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1537\"\u003e#1537\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix issue with unclosed declarations in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1537\"\u003e#1537\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix issue with unclosed HTML tag \u003ccode\u003e\u0026lt;foo\u003c/code\u003e and Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1537\"\u003e#1537\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.8.1] - 2025-06-18\u003c/h2\u003e\n\u003ch3\u003eFixed\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/Python-Markdown/markdown/commit/e5fa5b86e8ec380cbc520cfc637d72c779e5c601\"\u003e\u003ccode\u003ee5fa5b8\u003c/code\u003e\u003c/a\u003e Bump version to 3.10.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/f9253495f5d9919f2fdd5e147832b5fc21330f65\"\u003e\u003ccode\u003ef925349\u003c/code\u003e\u003c/a\u003e More HTML fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/9933a0a4699f3dea91f46528a2bf54863f531c08\"\u003e\u003ccode\u003e9933a0a\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Allow reference links with backticks\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/07dfa4eb43f7a2ab3181b4f842a960a03a6c1221\"\u003e\u003ccode\u003e07dfa4e\u003c/code\u003e\u003c/a\u003e Allow reference links with backticks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/fb6b27a6ff90980b5bcb0cd51528a7c9dc3a93ca\"\u003e\u003ccode\u003efb6b27a\u003c/code\u003e\u003c/a\u003e Fix infinite loop when text contains multiple unclosed comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/89112c293f7b399ae8808f3a06306f46601e9684\"\u003e\u003ccode\u003e89112c2\u003c/code\u003e\u003c/a\u003e Make the docs build successfully with mkdocstrings-python 2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/961856ceb30623b929d8b7abdf5ed7074db7184c\"\u003e\u003ccode\u003e961856c\u003c/code\u003e\u003c/a\u003e Update link\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/2b49115b1002142afbd84b3002f13c0e98a0f487\"\u003e\u003ccode\u003e2b49115\u003c/code\u003e\u003c/a\u003e Ensure nested elements inside inline comments are properly unescaped.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/22e89c1fc346f72218a10e392a0c3b4731912522\"\u003e\u003ccode\u003e22e89c1\u003c/code\u003e\u003c/a\u003e Bump version to 3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/c138aea5139a6aceae05bb957e866d9ce7577b94\"\u003e\u003ccode\u003ec138aea\u003c/code\u003e\u003c/a\u003e + PY314 - PY39\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Python-Markdown/markdown/compare/3.7...3.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `markupsafe` from 3.0.2 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/markupsafe/releases\"\u003emarkupsafe's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003cp\u003eThis is the MarkupSafe 3.0.3 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/MarkupSafe/3.0.3/\"\u003ehttps://pypi.org/project/MarkupSafe/3.0.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://markupsafe.palletsprojects.com/page/changes/#version-3-0-3\"\u003ehttps://markupsafe.palletsprojects.com/page/changes/#version-3-0-3\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/markupsafe/milestone/15?closed=1\"\u003ehttps://github.com/pallets/markupsafe/milestone/15?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e__version__\u003c/code\u003e raises \u003ccode\u003eDeprecationWarning\u003c/code\u003e instead of \u003ccode\u003eUserWarning\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/487\"\u003e#487\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdopt multi-phase initialization PEP 489 for the C extension. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/494\"\u003e#494\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild Windows ARM64 wheels. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/485\"\u003e#485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild Python 3.14 wheels. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/503\"\u003e#503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild riscv64 wheels. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/505\"\u003e#505\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/markupsafe/blob/main/CHANGES.rst\"\u003emarkupsafe's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.0.3\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-27\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e__version__\u003c/code\u003e raises \u003ccode\u003eDeprecationWarning\u003c/code\u003e instead of \u003ccode\u003eUserWarning\u003c/code\u003e.\n:issue:\u003ccode\u003e487\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdopt multi-phase initialisation (:pep:\u003ccode\u003e489\u003c/code\u003e) for the C extension.\n:issue:\u003ccode\u003e494\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eBuild Windows ARM64 wheels. :issue:\u003ccode\u003e485\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eBuild Python 3.14 wheels. :issue:\u003ccode\u003e503\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eBuild riscv64 wheels. :issue:\u003ccode\u003e505\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/297fc8e356e6836a62087949245d09a28e9f1b13\"\u003e\u003ccode\u003e297fc8e\u003c/code\u003e\u003c/a\u003e release version 3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/7e4e6ce249107c5f27fa6fe890e29da7a8dc8f0c\"\u003e\u003ccode\u003e7e4e6ce\u003c/code\u003e\u003c/a\u003e Free-threading: run with pytest-run-paralell (\u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/507\"\u003e#507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/6100b9c0d466495a08d55b33cb172d7b5d8e9aa1\"\u003e\u003ccode\u003e6100b9c\u003c/code\u003e\u003c/a\u003e enable riscv64 wheels (\u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/506\"\u003e#506\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/c9d5ecfc7eec6f611b19cdc8e1cde1aaa65cb8eb\"\u003e\u003ccode\u003ec9d5ecf\u003c/code\u003e\u003c/a\u003e enable riscv64 wheels\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/2f9b33753052e7c6df1464a7c900787d04ae9daf\"\u003e\u003ccode\u003e2f9b337\u003c/code\u003e\u003c/a\u003e tox for 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/78d951a9549dee9fc901c55fc79a74a5f01e96fc\"\u003e\u003ccode\u003e78d951a\u003c/code\u003e\u003c/a\u003e update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/bb6744e392e79611b110c5ba022238eb1b855cc2\"\u003e\u003ccode\u003ebb6744e\u003c/code\u003e\u003c/a\u003e add entry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/65c4134ab16a3faccbcac2cba90da0db2b799542\"\u003e\u003ccode\u003e65c4134\u003c/code\u003e\u003c/a\u003e upgrade cibuildwheel, add \u003ccode\u003ecp314\u003c/code\u003e wheels and test on CPython 3.14 (\u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/504\"\u003e#504\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/3a9bd88b84c9edba8b922bb12b84a59feed98788\"\u003e\u003ccode\u003e3a9bd88\u003c/code\u003e\u003c/a\u003e add cp314 wheels\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/aafe44d87bd7974bc82af8c4010dea9938441edf\"\u003e\u003ccode\u003eaafe44d\u003c/code\u003e\u003c/a\u003e remove slsa provenance (\u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/501\"\u003e#501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/markupsafe/compare/3.0.2...3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `networkx` from 3.4.2 to 3.6.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/networkx/networkx/releases\"\u003enetworkx's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eNetworkX 3.6.1\u003c/h2\u003e\n\u003ch1\u003enetworkx 3.6.1\u003c/h1\u003e\n\u003cp\u003eWe're happy to announce the release of networkx 3.6.1!\u003c/p\u003e\n\u003ch2\u003eAPI Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd spectral bipartition community finding and greedy bipartition using node swaps (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8347\"\u003e#8347\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNodelists for \u003ccode\u003efrom_biadjacency_matrix\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/7993\"\u003e#7993\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd spectral bipartition community finding and greedy bipartition using node swaps (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8347\"\u003e#8347\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix draw_networkx_nodes with list node_shape and add regression test (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8363\"\u003e#8363\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: allow graph subclasses to have additional arguments (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8369\"\u003e#8369\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDOC: Improve benchmarking readme (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8358\"\u003e#8358\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: More details re: RC releases in the release process devdocs (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8346\"\u003e#8346\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: clarify difference between G.nodes/G.nodes() and G.edges/G.edges() in tutorial (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8300\"\u003e#8300\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: Add blurb to contributor guide about drawing tests (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8370\"\u003e#8370\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: Fix underline lens in docstrings (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8371\"\u003e#8371\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRolling back shortest paths links (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8373\"\u003e#8373\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMaintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMAINT: Replace string literal with comment (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8359\"\u003e#8359\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 in the actions group (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8360\"\u003e#8360\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003epin python 3.14 to be version 3.14.0 until dataclasses are fixed (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8365\"\u003e#8365\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBlocklist Python 3.14.1 (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8372\"\u003e#8372\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTST: add tests for unsupported graph types in MST algorithms (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8353\"\u003e#8353\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eTST: clean up isomorphism tests (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8364\"\u003e#8364\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003e10 authors added to this release (alphabetically):\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Aka2210\"\u003e\u003ccode\u003e@​Aka2210\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jfinkels\"\u003e\u003ccode\u003e@​jfinkels\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaorTIRAM\"\u003e\u003ccode\u003e@​NaorTIRAM\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAditi Juneja (\u003ca href=\"https://github.com/Schefflera-Arboricola\"\u003e\u003ccode\u003e@​Schefflera-Arboricola\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAlejandro Candioti (\u003ca href=\"https://github.com/amcandio\"\u003e\u003ccode\u003e@​amcandio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eColman Bouton (\u003ca href=\"https://github.com/LorentzFactor\"\u003e\u003ccode\u003e@​LorentzFactor\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/7530809bfa1ea7ed6fdf918a4d1431488953cb1f\"\u003e\u003ccode\u003e7530809\u003c/code\u003e\u003c/a\u003e Designate 3.6.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/4788eb08f2492dd6bf6f97ce8ee07cd52aa6cf89\"\u003e\u003ccode\u003e4788eb0\u003c/code\u003e\u003c/a\u003e Rolling back shortest paths links (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8373\"\u003e#8373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/696edb6efbbbb622959e96f1276fc0db68dc0954\"\u003e\u003ccode\u003e696edb6\u003c/code\u003e\u003c/a\u003e Fix draw_networkx_nodes with list node_shape and add regression test  (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8363\"\u003e#8363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/c38830c61a6fee3ee10f216071bb63cb9b92bfb9\"\u003e\u003ccode\u003ec38830c\u003c/code\u003e\u003c/a\u003e Blocklist Python 3.14.1 (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8372\"\u003e#8372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/81d231141b08600ebfd1c781e28ecbf791e94016\"\u003e\u003ccode\u003e81d2311\u003c/code\u003e\u003c/a\u003e DOC: Fix underline lens in docstrings. (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8371\"\u003e#8371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/a6e2bfadef51dda47df6466b32642e0d428c5801\"\u003e\u003ccode\u003ea6e2bfa\u003c/code\u003e\u003c/a\u003e DOC: Add blurb to contributor guide about drawing tests. (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8370\"\u003e#8370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/96b628295eff29d266e1c75355556fc9fe58cc16\"\u003e\u003ccode\u003e96b6282\u003c/code\u003e\u003c/a\u003e DOC: clarify difference between G.nodes/G.nodes() and G.edges/G.edges() in tu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/75bdd737ca8382d06eb76ff9018a81870c9f3443\"\u003e\u003ccode\u003e75bdd73\u003c/code\u003e\u003c/a\u003e Fix: allow graph subclasses to have additional arguments (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8369\"\u003e#8369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/7663fa5e5fd73d6921410a18c7ac4116ffa04f4d\"\u003e\u003ccode\u003e7663fa5\u003c/code\u003e\u003c/a\u003e TST: clean up isomorphism tests (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8364\"\u003e#8364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/3dacd1bdcbd976b9e148a60ddebafd868c0a52f3\"\u003e\u003ccode\u003e3dacd1b\u003c/code\u003e\u003c/a\u003e Add spectral bipartition community finding and greedy bipartition using node ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/networkx/networkx/compare/networkx-3.4.2...networkx-3.6.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.2.3 to 2.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.1 (Jan 10, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.1 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.1 is a patch release that fixes bugs discoved after the\n2.4.0 release. In particular, the typo \u003ccode\u003eSeedlessSequence\u003c/code\u003e is preserved to\nenable wheels using the random Cython API and built against NumPy \u0026lt; 2.4.0\nto run without errors.\u003c/p\u003e\n\u003cp\u003eThis release supports Python versions 3.11-3.14\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eA total of 9 people contributed to this release. People with a \u0026quot;+\u0026quot; by their\nnames contributed a patch for the first time.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAlexander Shadchin\u003c/li\u003e\n\u003cli\u003eBill Tompkins +\u003c/li\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eMarten van Kerkwijk\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003eRaghuveer Devulapalli\u003c/li\u003e\n\u003cli\u003eRalf Gommers\u003c/li\u003e\n\u003cli\u003eSebastian Berg\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 15 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/30490\"\u003e#30490\u003c/a\u003e: MAINT: Prepare 2.4.x for further development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30503\"\u003e#30503\u003c/a\u003e: DOC: \u003ccode\u003enumpy.select\u003c/code\u003e: fix \u003ccode\u003edefault\u003c/code\u003e parameter docstring...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30504\"\u003e#30504\u003c/a\u003e: REV: Revert part of \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30164\"\u003e#30164\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30500\"\u003e#30500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30506\"\u003e#30506\u003c/a\u003e: TYP: \u003ccode\u003enumpy.select\u003c/code\u003e: allow passing array-like \u003ccode\u003edefault\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30507\"\u003e#30507\u003c/a\u003e: MNT: use if constexpr for compile-time branch selection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30513\"\u003e#30513\u003c/a\u003e: BUG: Fix leak in flat assignment iterator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30516\"\u003e#30516\u003c/a\u003e: BUG: fix heap overflow in fixed-width string multiply (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30511\"\u003e#30511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30523\"\u003e#30523\u003c/a\u003e: BUG: Ensure summed weights returned by np.average always are...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30527\"\u003e#30527\u003c/a\u003e: TYP: Fix return type of histogram2d\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30594\"\u003e#30594\u003c/a\u003e: MAINT: avoid passing ints to random functions that take double...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30595\"\u003e#30595\u003c/a\u003e: BLD: Avoiding conflict with pygit2 for static build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30596\"\u003e#30596\u003c/a\u003e: MAINT: Fix msvccompiler missing error on FreeBSD\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30608\"\u003e#30608\u003c/a\u003e: BLD: update vendored Meson to 1.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30620\"\u003e#30620\u003c/a\u003e: ENH: use more fine-grained critical sections in array coercion...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30623\"\u003e#30623\u003c/a\u003e: BUG: Undo result type change of quantile/percentile but keep...\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.4.0 (Dec 20, 2025)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.0 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.0 release continues the work to improve free threaded Python\nsupport, user dtypes implementation, and annotations. There are many expired\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst\"\u003enumpy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eThis is a walkthrough of the NumPy 2.4.0 release on Linux, which will be the\nfirst feature release using the \u003ccode\u003enumpy/numpy-release \u0026lt;https://github.com/numpy/numpy-release\u0026gt;\u003c/code\u003e__ repository.\u003c/p\u003e\n\u003cp\u003eThe commands can be copied into the command line, but be sure to replace 2.4.0\nwith the correct version. This should be read together with the\n:ref:\u003ccode\u003egeneral release guide \u0026lt;prepare_release\u0026gt;\u003c/code\u003e.\u003c/p\u003e\n\u003ch1\u003eFacility preparation\u003c/h1\u003e\n\u003cp\u003eBefore beginning to make a release, use the \u003ccode\u003erequirements/*_requirements.txt\u003c/code\u003e files to\nensure that you have the needed software. Most software can be installed with\npip, but some will require apt-get, dnf, or whatever your system uses for\nsoftware. You will also need a GitHub personal access token (PAT) to push the\ndocumentation. There are a few ways to streamline things:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGit can be set up to use a keyring to store your GitHub personal access token.\nSearch online for the details.\u003c/li\u003e\n\u003cli\u003eYou can use the \u003ccode\u003ekeyring\u003c/code\u003e app to store the PyPI password for twine. See the\nonline twine documentation for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ePrior to release\u003c/h1\u003e\n\u003ch2\u003eAdd/drop Python versions\u003c/h2\u003e\n\u003cp\u003eWhen adding or dropping Python versions, multiple config and CI files need to\nbe edited in addition to changing the minimum version in \u003ccode\u003epyproject.toml\u003c/code\u003e.\nMake these changes in an ordinary PR against main and backport if necessary.\nWe currently release wheels for new Python versions after the first Python RC\nonce manylinux and cibuildwheel support that new Python version.\u003c/p\u003e\n\u003ch2\u003eBackport pull requests\u003c/h2\u003e\n\u003cp\u003eChanges that have been marked for this release must be backported to the\nmaintenance/2.4.x branch.\u003c/p\u003e\n\u003ch2\u003eUpdate 2.4.0 milestones\u003c/h2\u003e\n\u003cp\u003eLook at the issues/prs with 2.4.0 milestones and either push them off to a\nlater version, or maybe remove the milestone. You may need to add a milestone.\u003c/p\u003e\n\u003cp\u003eCheck the numpy-release repo\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/c81c49f77451340651a751e76bca607d85e4fd55\"\u003e\u003ccode\u003ec81c49f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30757\"\u003e#30757\u003c/a\u003e from charris/prepare-2.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/b3ae9c59de627110458653836f1be81280222f85\"\u003e\u003ccode\u003eb3ae9c5\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/9de89843c3918fa133f1aab9fb4435c38a3b0ba6\"\u003e\u003ccode\u003e9de8984\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30737\"\u003e#30737\u003c/a\u003e from mattip/scipy-openblas-backport\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/b7be329895e32de44578742b2745fb307cdf8625\"\u003e\u003ccode\u003eb7be329\u003c/code\u003e\u003c/a\u003e backport scipy-openblas version change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7ff98637f80dc1ff7a18fce8025ffabdded76094\"\u003e\u003ccode\u003e7ff9863\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30736\"\u003e#30736\u003c/a\u003e from charris/backport-30667\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/431fffbe91d86c04738f039e0048441f8f9b5fff\"\u003e\u003ccode\u003e431fffb\u003c/code\u003e\u003c/a\u003e MAINT: Skip tests that require \u003cstrong\u003ebuffer\u003c/strong\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/127235fcd9b2e80764da8f6c64f942a6bddb093a\"\u003e\u003ccode\u003e127235f\u003c/code\u003e\u003c/a\u003e BUG: fix thread safety of \u003ccode\u003earray_getbuffer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30667\"\u003e#30667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/18bdb2e675b68daa5afc3250c41982ff77b3867f\"\u003e\u003ccode\u003e18bdb2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30713\"\u003e#30713\u003c/a\u003e from charris/backport-30710\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/41dd7512de6dc3dd665b71d4e3a321aa1150dc48\"\u003e\u003ccode\u003e41dd751\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30712\"\u003e#30712\u003c/a\u003e from charris/backport-30705\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7a278da99943376313b8f631905c3baaa7a82a30\"\u003e\u003ccode\u003e7a278da\u003c/code\u003e\u003c/a\u003e BUG: Fixup the quantile promotion fixup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.2.3...v2.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pillow` from 11.1.0 to 12.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-pillow/Pillow/releases\"\u003epillow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e12.1.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://pillow.readthedocs.io/en/stable/releasenotes/12.1.0.html\"\u003ehttps://pillow.readthedocs.io/en/stable/releasenotes/12.1.0.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate getdata(), in favour of new get_flattened_data() \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9292\"...\n\n_Description has been truncated_","html_url":"https://github.com/briehl/narrative/pull/657","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/briehl%2Fnarrative/issues/657","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/657/packages"}},{"old_version":"8.1.6","new_version":"8.1.8","update_type":"patch","path":null,"pr_created_at":"2026-01-25T22:11:22.000Z","version_change":"8.1.6 → 8.1.8","issue":{"uuid":"3853934615","node_id":"PR_kwDOHIBnos6_Q6dp","number":469,"state":"open","title":"build(deps): bump the simple group across 1 directory with 39 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-01-25T22:11:22.000Z","updated_at":"2026-02-02T00:00:47.721Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"simple","update_count":39,"packages":[{"name":"boto3-stubs","old_version":"1.38.3","new_version":"1.42.34"},{"name":"boto3","old_version":"1.38.3","new_version":"1.42.34","repository_url":"https://github.com/boto/boto3"},{"name":"click","old_version":"8.1.3","new_version":"8.3.1","repository_url":"https://github.com/pallets/click"},{"name":"colored","old_version":"2.3.0","new_version":"2.3.1"},{"name":"humanize","old_version":"4.12.2","new_version":"4.15.0","repository_url":"https://github.com/python-humanize/humanize"},{"name":"ipympl","old_version":"0.9.7","new_version":"0.10.0","repository_url":"https://github.com/matplotlib/ipympl"},{"name":"ipywidgets","old_version":"8.1.6","new_version":"8.1.8","repository_url":"https://github.com/jupyter-widgets/ipywidgets"},{"name":"jupyterlab","old_version":"4.4.1","new_version":"4.5.3","repository_url":"https://github.com/jupyterlab/jupyterlab"},{"name":"matplotlib","old_version":"3.10.1","new_version":"3.10.8","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"matplotlib-stubs","old_version":"0.2.0","new_version":"0.3.11","repository_url":"https://github.com/hoel-bagard/matplotlib-stubs"},{"name":"networkx","old_version":"3.4.2","new_version":"3.6.1","repository_url":"https://github.com/networkx/networkx"},{"name":"pandas-stubs","old_version":"2.2.3.250308","new_version":"2.3.3.260113","repository_url":"https://github.com/pandas-dev/pandas-stubs"},{"name":"prettytable","old_version":"3.16.0","new_version":"3.17.0","repository_url":"https://github.com/prettytable/prettytable"},{"name":"psutil","old_version":"7.0.0","new_version":"7.2.1","repository_url":"https://github.com/giampaolo/psutil"},{"name":"psycopg","old_version":"3.2.6","new_version":"3.3.2","repository_url":"https://github.com/psycopg/psycopg"},{"name":"psycopg-binary","old_version":"3.2.6","new_version":"3.3.2","repository_url":"https://github.com/psycopg/psycopg"},{"name":"pydantic","old_version":"2.8.2","new_version":"2.12.5","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pymysql","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/PyMySQL/PyMySQL"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"requests","old_version":"2.32.3","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"ruamel-yaml","old_version":"0.18.10","new_version":"0.19.1"},{"name":"ruff","old_version":"0.0.292","new_version":"0.14.14","repository_url":"https://github.com/astral-sh/ruff"},{"name":"scipy","old_version":"1.15.2","new_version":"1.17.0","repository_url":"https://github.com/scipy/scipy"},{"name":"shtab","old_version":"1.7.2","new_version":"1.8.0","repository_url":"https://github.com/iterative/shtab"},{"name":"sqlparse","old_version":"0.5.3","new_version":"0.5.5","repository_url":"https://github.com/andialbrecht/sqlparse"},{"name":"twine","old_version":"6.1.0","new_version":"6.2.0","repository_url":"https://github.com/pypa/twine"},{"name":"types-markdown","old_version":"3.8.0.20250415","new_version":"3.10.0.20251106","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-psutil","old_version":"7.0.0.20250401","new_version":"7.2.1.20260116","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-requests","old_version":"2.32.0.20250328","new_version":"2.32.4.20260107","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"typing-extensions","old_version":"4.13.2","new_version":"4.15.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"xxhash","old_version":"3.5.0","new_version":"3.6.0","repository_url":"https://github.com/ifduyue/python-xxhash"},{"name":"yamllint","old_version":"1.37.0","new_version":"1.38.0","repository_url":"https://github.com/adrienverge/yamllint"},{"name":"confluent-kafka","old_version":"2.6.1","new_version":"2.13.0","repository_url":"https://github.com/confluentinc/confluent-kafka-python"},{"name":"fastavro","old_version":"1.10.0","new_version":"1.12.1","repository_url":"https://github.com/fastavro/fastavro"},{"name":"websocket-client","old_version":"1.8.0","new_version":"1.9.0","repository_url":"https://github.com/websocket-client/websocket-client"},{"name":"minio","old_version":"7.2.15","new_version":"7.2.20","repository_url":"https://github.com/minio/minio-py"},{"name":"zstandard","old_version":"0.23.0","new_version":"0.25.0","repository_url":"https://github.com/indygreg/python-zstandard"},{"name":"pip","old_version":"25.1","new_version":"25.3","repository_url":"https://github.com/pypa/pip"},{"name":"setuptools","old_version":"80.0.0","new_version":"80.10.1","repository_url":"https://github.com/pypa/setuptools"}],"path":null,"ecosystem":"pip"},"body":"Bumps the simple group with 39 updates in the /ci/builder directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [boto3-stubs[ec2,iam,kinesis,s3,sqs,ssm,sts]](https://github.com/youtype/mypy_boto3_builder) | `1.38.3` | `1.42.34` |\n| [boto3](https://github.com/boto/boto3) | `1.38.3` | `1.42.34` |\n| [click](https://github.com/pallets/click) | `8.1.3` | `8.3.1` |\n| [colored](https://gitlab.com/dslackw/colored) | `2.3.0` | `2.3.1` |\n| [humanize](https://github.com/python-humanize/humanize) | `4.12.2` | `4.15.0` |\n| [ipympl](https://github.com/matplotlib/ipympl) | `0.9.7` | `0.10.0` |\n| [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) | `8.1.6` | `8.1.8` |\n| [jupyterlab](https://github.com/jupyterlab/jupyterlab) | `4.4.1` | `4.5.3` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.10.1` | `3.10.8` |\n| [matplotlib-stubs](https://github.com/hoel-bagard/matplotlib-stubs) | `0.2.0` | `0.3.11` |\n| [networkx](https://github.com/networkx/networkx) | `3.4.2` | `3.6.1` |\n| [pandas-stubs](https://github.com/pandas-dev/pandas-stubs) | `2.2.3.250308` | `2.3.3.260113` |\n| [prettytable](https://github.com/prettytable/prettytable) | `3.16.0` | `3.17.0` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.1` |\n| [psycopg](https://github.com/psycopg/psycopg) | `3.2.6` | `3.3.2` |\n| [psycopg-binary](https://github.com/psycopg/psycopg) | `3.2.6` | `3.3.2` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.8.2` | `2.12.5` |\n| [pymysql](https://github.com/PyMySQL/PyMySQL) | `1.1.1` | `1.1.2` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.32.5` |\n| ruamel-yaml | `0.18.10` | `0.19.1` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.0.292` | `0.14.14` |\n| [scipy](https://github.com/scipy/scipy) | `1.15.2` | `1.17.0` |\n| [shtab](https://github.com/iterative/shtab) | `1.7.2` | `1.8.0` |\n| [sqlparse](https://github.com/andialbrecht/sqlparse) | `0.5.3` | `0.5.5` |\n| [twine](https://github.com/pypa/twine) | `6.1.0` | `6.2.0` |\n| [types-markdown](https://github.com/typeshed-internal/stub_uploader) | `3.8.0.20250415` | `3.10.0.20251106` |\n| [types-psutil](https://github.com/typeshed-internal/stub_uploader) | `7.0.0.20250401` | `7.2.1.20260116` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.0.20250328` | `2.32.4.20260107` |\n| [typing-extensions](https://github.com/python/typing_extensions) | `4.13.2` | `4.15.0` |\n| [xxhash](https://github.com/ifduyue/python-xxhash) | `3.5.0` | `3.6.0` |\n| [yamllint](https://github.com/adrienverge/yamllint) | `1.37.0` | `1.38.0` |\n| [confluent-kafka](https://github.com/confluentinc/confluent-kafka-python) | `2.6.1` | `2.13.0` |\n| [fastavro](https://github.com/fastavro/fastavro) | `1.10.0` | `1.12.1` |\n| [websocket-client](https://github.com/websocket-client/websocket-client) | `1.8.0` | `1.9.0` |\n| [minio](https://github.com/minio/minio-py) | `7.2.15` | `7.2.20` |\n| [zstandard](https://github.com/indygreg/python-zstandard) | `0.23.0` | `0.25.0` |\n| [pip](https://github.com/pypa/pip) | `25.1` | `25.3` |\n| [setuptools](https://github.com/pypa/setuptools) | `80.0.0` | `80.10.1` |\n\n\nUpdates `boto3-stubs[ec2,iam,kinesis,s3,sqs,ssm,sts]` from 1.38.3 to 1.42.34\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/youtype/mypy_boto3_builder/releases\"\u003eboto3-stubs[ec2,iam,kinesis,s3,sqs,ssm,sts]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.8.0 - Python 3.8 runtime is back\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[services]\u003c/code\u003e \u003ccode\u003einstall_requires\u003c/code\u003e section is calculated based on dependencies in use, so \u003ccode\u003etyping-extensions\u003c/code\u003e version is set properly\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[all]\u003c/code\u003e Replaced \u003ccode\u003etyping\u003c/code\u003e imports with \u003ccode\u003ecollections.abc\u003c/code\u003e with a fallback to \u003ccode\u003etyping\u003c/code\u003e for Python \u0026lt;3.9\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[all]\u003c/code\u003e Added aliases for \u003ccode\u003ebuiltins.list\u003c/code\u003e, \u003ccode\u003ebuiltins.set\u003c/code\u003e, \u003ccode\u003ebuiltins.dict\u003c/code\u003e, and \u003ccode\u003ebuiltins.type\u003c/code\u003e, so Python 3.8 runtime should work as expected again (reported by \u003ca href=\"https://github.com/YHallouard\"\u003e\u003ccode\u003e@​YHallouard\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/youtype/mypy_boto3_builder/issues/340\"\u003e#340\u003c/a\u003e and \u003ca href=\"https://github.com/Omri-Ben-Yair\"\u003e\u003ccode\u003e@​Omri-Ben-Yair\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/youtype/mypy_boto3_builder/issues/336\"\u003e#336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[all]\u003c/code\u003e Unions use the same type annotations as the rest of the structures due to proper fallbacks\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[services]\u003c/code\u003e Universal input/output shapes were not replaced properly in service subresources\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[docs]\u003c/code\u003e Simplified doc links rendering for services\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[services]\u003c/code\u003e Cleaned up unnecessary imports in \u003ccode\u003eclient.pyi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[builder]\u003c/code\u003e Import records with fallback are always rendered\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/youtype/mypy_boto3_builder/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.38.3 to 1.42.34\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/9a285e6beab78c1f4c97047674ec09ac5451c4d1\"\u003e\u003ccode\u003e9a285e6\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.34'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/29574158e22c3b2d6ca044eef1dc054d28d73485\"\u003e\u003ccode\u003e2957415\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.34\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/8e1fd2e6e5c1fd6236cacf2dc9064d55d8baf07b\"\u003e\u003ccode\u003e8e1fd2e\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/9cadce52dae6e58e450a9ac0745a721dda8a4044\"\u003e\u003ccode\u003e9cadce5\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.33'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/ee24f15c3013be4f4c6e76bfbc948b910e6f8f35\"\u003e\u003ccode\u003eee24f15\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.33' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/b0f2cf318d9bef8eaf3f11cd81b22ce67810ea82\"\u003e\u003ccode\u003eb0f2cf3\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.33\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/6e690ed2966406d4b53532a44e70c93370368ae6\"\u003e\u003ccode\u003e6e690ed\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/b84ec5ebd8880b77e998bfdd28984f214c3f1fa3\"\u003e\u003ccode\u003eb84ec5e\u003c/code\u003e\u003c/a\u003e Add BOTOCORE_TCP_KEEPALIVE environment variable documentation (\u003ca href=\"https://redirect.github.com/boto/boto3/issues/4705\"\u003e#4705\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/36cebd34052db2fc7449b85ac04f903fb40f8b2f\"\u003e\u003ccode\u003e36cebd3\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.32'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/d4d10440677e98c5c15fb6c84cc605bd7401fd74\"\u003e\u003ccode\u003ed4d1044\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.32' into develop\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.38.3...1.42.34\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.3 to 8.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.1\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.1/\"\u003ehttps://pypi.org/project/click/8.3.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-1\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-1\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/28\"\u003ehttps://github.com/pallets/click/milestone/28\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3039\"\u003e#3039\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3055\"\u003e#3055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through the \u003ccode\u003eContext.invoke()\u003c/code\u003e method. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3066\"\u003e#3066\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3068\"\u003e#3068\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect behavior for multiple parameters using the same name. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3071\"\u003e#3071\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3079\"\u003e#3079\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is empty. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3019\"\u003e#3019\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3021\"\u003e#3021\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to \u003ccode\u003etype_cast_value\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3069\"\u003e#3069\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3090\"\u003e#3090\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters through the context inside parameter callbacks. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3136\"\u003e#3136\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-11-15\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. :issue:\u003ccode\u003e3039\u003c/code\u003e\n:pr:\u003ccode\u003e3055\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through\nthe \u003ccode\u003eContext.invoke()\u003c/code\u003e method. :issue:\u003ccode\u003e3066\u003c/code\u003e :issue:\u003ccode\u003e3065\u003c/code\u003e :pr:\u003ccode\u003e3068\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect\nbehavior for multiple parameters using the same name. :issue:\u003ccode\u003e3071\u003c/code\u003e :pr:\u003ccode\u003e3079\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters\nthrough the context inside parameter callbacks. :issue:\u003ccode\u003e3136\u003c/code\u003e :pr:\u003ccode\u003e3137\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is\nempty. :issue:\u003ccode\u003e3019\u003c/code\u003e :pr:\u003ccode\u003e3021\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to\n\u003ccode\u003etype_cast_value\u003c/code\u003e. :issue:\u003ccode\u003e3069\u003c/code\u003e :pr:\u003ccode\u003e3090\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in \u003ccode\u003eCliRunner\u003c/code\u003e. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/1d038f270701498433cb432f54db89f95f07a845\"\u003e\u003ccode\u003e1d038f2\u003c/code\u003e\u003c/a\u003e release version 8.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/03f3889f505d0c9ca4f9d6810f9e4ba2799f2a66\"\u003e\u003ccode\u003e03f3889\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3141\"\u003e#3141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/3867781222cb63693ca67df94352d29d8e6e2770\"\u003e\u003ccode\u003e3867781\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/b91bb9548a5617b1197add95e084d569f57149c3\"\u003e\u003ccode\u003eb91bb95\u003c/code\u003e\u003c/a\u003e Provide altered context to callbacks to hide \u003ccode\u003eUNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/437e1e3295c7ec979fc1bf285bb402ca20d847e7\"\u003e\u003ccode\u003e437e1e3\u003c/code\u003e\u003c/a\u003e Temporarily provide a fake context to the callback to hide \u003ccode\u003eUNSET\u003c/code\u003e values as ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/ea70da487b05d6bb758d472a3a9ffab4a5b7fcd5\"\u003e\u003ccode\u003eea70da4\u003c/code\u003e\u003c/a\u003e Don't test using a file in docs/ (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3102\"\u003e#3102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e27b307462b725722f620c69dd1d5509c032d18a\"\u003e\u003ccode\u003ee27b307\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003euv run --all-extras pyright --verifytypes click\u003c/code\u003e pass (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3072\"\u003e#3072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/a92c573f3195c9da3058eadf1735d38af186d22c\"\u003e\u003ccode\u003ea92c573\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3129\"\u003e#3129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/bd131e1ab63da2281d6dd9b8205ad2eb5a085468\"\u003e\u003ccode\u003ebd131e1\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/0b5c6b75f617e6ee2f9f6dcd071b8a4bf183d1ed\"\u003e\u003ccode\u003e0b5c6b7\u003c/code\u003e\u003c/a\u003e Add Best practices section  (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3127\"\u003e#3127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.1.3...8.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `colored` from 2.3.0 to 2.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://gitlab.com/dslackw/colored/blob/master/CHANGES.md\"\u003ecolored's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.3.1] - 2025-07-28\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor: Optimized Windows Terminal Mode initialization: Moved \u003ccode\u003eColored.enable_windows_terminal_mode()\u003c/code\u003e call from \u003ccode\u003eColored.__init__\u003c/code\u003e to module-level execution. This ensures the Windows virtual terminal processing is enabled only once when the \u003ccode\u003ecolored\u003c/code\u003e module is imported, instead of on every \u003ccode\u003eColored\u003c/code\u003e object instantiation. This change improves performance by avoiding redundant API calls and checks.\u003c/li\u003e\n\u003cli\u003eRefactor: Reduce \u003ccode\u003eColored\u003c/code\u003e instance attributes: Removed redundant instance attributes (\u003ccode\u003e_ESC\u003c/code\u003e, \u003ccode\u003e_END\u003c/code\u003e, \u003ccode\u003e_STYLES\u003c/code\u003e, etc.) from the \u003ccode\u003eColored\u003c/code\u003e class's \u003ccode\u003e__init__\u003c/code\u003e method. These constants are now accessed directly from the \u003ccode\u003eLibrary\u003c/code\u003e module, reducing memory footprint per instance and improving adherence to Pylint's \u003ccode\u003eR0902\u003c/code\u003e warning.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResolved static analysis warnings in \u003ccode\u003eenable_windows_terminal_mode()\u003c/code\u003e: Modified \u003ccode\u003eenable_windows_terminal_mode()\u003c/code\u003e to ensure consistent return statements and handle all possible execution paths explicitly. This addresses \u003ccode\u003emypy\u003c/code\u003e's \u0026quot;Missing return statement\u0026quot; error and \u003ccode\u003epylint\u003c/code\u003e's \u0026quot;inconsistent-return-statements\u0026quot; warning by making all return paths explicit and robustly handling potential \u003ccode\u003ectypes\u003c/code\u003e related exceptions. The return type hint was also updated to \u003ccode\u003eOptional[bool]\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eResolved type hinting and tuple unpacking warnings in \u003ccode\u003eUtilities.is_percentage()\u003c/code\u003e: Modified the \u003ccode\u003eUtilities.is_percentage()\u003c/code\u003e method to explicitly return a fixed-length \u003ccode\u003etuple[int, int, int]\u003c/code\u003e. This addresses \u003ccode\u003emypy\u003c/code\u003e's \u0026quot;Incompatible return value type\u0026quot; error and \u003ccode\u003epylint\u003c/code\u003e's \u0026quot;unbalanced-tuple-unpacking\u0026quot; warning by ensuring consistent and statically verifiable return types.\u003c/li\u003e\n\u003cli\u003eRefined type validation and error handling in \u003ccode\u003eControls.nav()\u003c/code\u003e: Eliminated the redundant \u003ccode\u003e_is_str_object\u003c/code\u003e static method. Integrated string type validation directly into the \u003ccode\u003enav()\u003c/code\u003e method. Replaced \u003ccode\u003eAttributeError\u003c/code\u003e with \u003ccode\u003eTypeError\u003c/code\u003e for improved semantic clarity when handling invalid argument types.\u003c/li\u003e\n\u003cli\u003eEnsured \u003ccode\u003etest_hex_1.py\u003c/code\u003e correctly uses nearest ANSI codes for hex color representation, preventing \u003ccode\u003eInvalidHexColor\u003c/code\u003e exceptions during gradient and random color tests.\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://gitlab.com/dslackw/colored/commit/9af8fd381f2b907f27005479fc17e2619de52904\"\u003e\u003ccode\u003e9af8fd3\u003c/code\u003e\u003c/a\u003e Updated for version 2.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/1a9fabd317896cc0b31479a922de35a2777e3113\"\u003e\u003ccode\u003e1a9fabd\u003c/code\u003e\u003c/a\u003e Updated for date\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/6e26a657972662d2efd4d26ff3389fb59109827b\"\u003e\u003ccode\u003e6e26a65\u003c/code\u003e\u003c/a\u003e Updated for docstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/726c7e3a9fab59fec1da0d98cd236ab30bf5d335\"\u003e\u003ccode\u003e726c7e3\u003c/code\u003e\u003c/a\u003e Fix: InvalidHexColor for test_hex_1.py module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/ea826ab8814a0560a66412e9138449eb62a3add6\"\u003e\u003ccode\u003eea826ab\u003c/code\u003e\u003c/a\u003e Fixed type annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/3ed4a56ce61d371153dcee140b57df3ba5d5d005\"\u003e\u003ccode\u003e3ed4a56\u003c/code\u003e\u003c/a\u003e Fixed type annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/c44d80740872acc5e40132df6f958df09e4aa328\"\u003e\u003ccode\u003ec44d807\u003c/code\u003e\u003c/a\u003e Updated class docstring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/c7665e76dae836d65589ef977ec50f983af3d179\"\u003e\u003ccode\u003ec7665e7\u003c/code\u003e\u003c/a\u003e Refined type validation and error handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/1950dafdb25c78a20d8513076d41b3625429ca64\"\u003e\u003ccode\u003e1950daf\u003c/code\u003e\u003c/a\u003e Fixed for mypy no-untyped-def\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/9ad5943f409aa75b5b52ef9779b4f23f80de2ecd\"\u003e\u003ccode\u003e9ad5943\u003c/code\u003e\u003c/a\u003e Updated docstrings\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://gitlab.com/dslackw/colored/compare/2.3.0...2.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `humanize` from 4.12.2 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-humanize/humanize/releases\"\u003ehumanize's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.15.0\u003c/h2\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd locale support for decimal separator in \u003ccode\u003eintword\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/287\"\u003e#287\u003c/a\u003e) \u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.15 (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/275\"\u003e#275\u003c/a\u003e) \u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace pre-commit with prek (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/276\"\u003e#276\u003c/a\u003e) \u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003enaturaldelta\u003c/code\u003e: round the value to nearest unit that makes sense (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/272\"\u003e#272\u003c/a\u003e) \u003ca href=\"https://github.com/dangillet\"\u003e\u003ccode\u003e@​dangillet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix plural form for \u003ccode\u003eintword\u003c/code\u003e and improve performance (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/273\"\u003e#273\u003c/a\u003e) \u003ca href=\"https://github.com/dangillet\"\u003e\u003ccode\u003e@​dangillet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eException\u003c/code\u003e with more specific \u003ccode\u003eFileNotFoundError\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/286\"\u003e#286\u003c/a\u003e) \u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.14.0\u003c/h2\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Uzbek language (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/264\"\u003e#264\u003c/a\u003e) \u003ca href=\"https://github.com/sSimuSs\"\u003e\u003ccode\u003e@​sSimuSs\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.9 (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/268\"\u003e#268\u003c/a\u003e) \u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.13.0\u003c/h2\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOptimise \u003ccode\u003enaturalsize\u003c/code\u003e algorithm by using \u003ccode\u003emath.log\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/253\"\u003e#253\u003c/a\u003e) \u003ca href=\"https://github.com/Zaczero\"\u003e\u003ccode\u003e@​Zaczero\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eprecisedelta\u003c/code\u003e rounding (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/254\"\u003e#254\u003c/a\u003e) \u003ca href=\"https://github.com/dangillet\"\u003e\u003ccode\u003e@​dangillet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.12.3\u003c/h2\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix regression in \u003ccode\u003enaturalsize\u003c/code\u003e for \u003ccode\u003efloat\u003c/code\u003e and \u003ccode\u003estr\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/250\"\u003e#250\u003c/a\u003e) \u003ca href=\"https://github.com/loicleyendecker\"\u003e\u003ccode\u003e@​loicleyendecker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprovements for French translation (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/248\"\u003e#248\u003c/a\u003e) \u003ca href=\"https://github.com/merwok\"\u003e\u003ccode\u003e@​merwok\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/2ddb5903cdc1c7e6eb6b083f4f99f73db50aecd9\"\u003e\u003ccode\u003e2ddb590\u003c/code\u003e\u003c/a\u003e Replace \u003ccode\u003eException\u003c/code\u003e with more specific \u003ccode\u003eFileNotFoundError\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/286\"\u003e#286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/e87f2e25660d3af2ea553ea8dc63bff99652bc94\"\u003e\u003ccode\u003ee87f2e2\u003c/code\u003e\u003c/a\u003e Add locale support for decimal separator in \u003ccode\u003eintword\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/287\"\u003e#287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/717518400d6709cf7e9bebe4a9424eb3b1ebd60d\"\u003e\u003ccode\u003e7175184\u003c/code\u003e\u003c/a\u003e Add locale support for decimal separator in intword\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/25269993e7ef021edaba620c96827ca21cc13d7e\"\u003e\u003ccode\u003e2526999\u003c/code\u003e\u003c/a\u003e Update config (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/285\"\u003e#285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/ba532d9ae45d1da89f3687259324365dc187ebca\"\u003e\u003ccode\u003eba532d9\u003c/code\u003e\u003c/a\u003e Replace Exception with more specific FileNotFoundError\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/bdc49ea831cb3a79ba0155a57f27259cabb8cafd\"\u003e\u003ccode\u003ebdc49ea\u003c/code\u003e\u003c/a\u003e Don't ignore UP038, it's been removed from Ruff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/86f116bda6698c3e03e0db5f7fcfd929a4ba9ad4\"\u003e\u003ccode\u003e86f116b\u003c/code\u003e\u003c/a\u003e Add seven-day cooldown to Renovate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/e3f7116924dad455a87e85a5d7b8b7a07460fd57\"\u003e\u003ccode\u003ee3f7116\u003c/code\u003e\u003c/a\u003e No need for setup-python with prek-action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/3dca143f7884b928632f68449423d914531ca267\"\u003e\u003ccode\u003e3dca143\u003c/code\u003e\u003c/a\u003e \u003ccode\u003enaturaldelta\u003c/code\u003e: round the value to nearest unit that makes sense (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/272\"\u003e#272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/bac6f269d7f51adcd62840db969c0a40fec8fd70\"\u003e\u003ccode\u003ebac6f26\u003c/code\u003e\u003c/a\u003e Apply suggestion from \u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-humanize/humanize/compare/4.12.2...4.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ipympl` from 0.9.7 to 0.10.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/matplotlib/ipympl/releases\"\u003eipympl's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev.0.10.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate snapshots bot checkout and permission check by \u003ca href=\"https://github.com/martinRenou\"\u003e\u003ccode\u003e@​martinRenou\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/614\"\u003ematplotlib/ipympl#614\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Pixi setup by \u003ca href=\"https://github.com/ianhi\"\u003e\u003ccode\u003e@​ianhi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/613\"\u003ematplotlib/ipympl#613\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFIX: Toolbar savefig respects rcparams by \u003ca href=\"https://github.com/ianhi\"\u003e\u003ccode\u003e@​ianhi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/615\"\u003ematplotlib/ipympl#615\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/matplotlib/ipympl/compare/v0.9.8...v0.10.0\"\u003ehttps://github.com/matplotlib/ipympl/compare/v0.9.8...v0.10.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eRelease 0.9.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake 'Usage' section in README consistent with current Basic Example at current documentation by \u003ca href=\"https://github.com/fomightez\"\u003e\u003ccode\u003e@​fomightez\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/583\"\u003ematplotlib/ipympl#583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: update release workflow by \u003ca href=\"https://github.com/ianhi\"\u003e\u003ccode\u003e@​ianhi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/590\"\u003ematplotlib/ipympl#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse thread lock to support comms via subshells by \u003ca href=\"https://github.com/ianthomas23\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/603\"\u003ematplotlib/ipympl#603\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse intersphinx_registry to keep intersphinx_mapping up to date. by \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/604\"\u003ematplotlib/ipympl#604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest on python 3.14 by \u003ca href=\"https://github.com/ianthomas23\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/606\"\u003ematplotlib/ipympl#606\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix doc build issues by \u003ca href=\"https://github.com/ianthomas23\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/605\"\u003ematplotlib/ipympl#605\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.9.8 by \u003ca href=\"https://github.com/ianthomas23\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/607\"\u003ematplotlib/ipympl#607\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fomightez\"\u003e\u003ccode\u003e@​fomightez\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/583\"\u003ematplotlib/ipympl#583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/604\"\u003ematplotlib/ipympl#604\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/matplotlib/ipympl/compare/0.9.7...v0.9.8\"\u003ehttps://github.com/matplotlib/ipympl/compare/0.9.7...v0.9.8\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/matplotlib/ipympl/commit/1ba859698404d9efba44ef3cb0b00dee0daa6c11\"\u003e\u003ccode\u003e1ba8596\u003c/code\u003e\u003c/a\u003e Bump version to 0.10.0 / 0.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/ipympl/commit/805057a60768867ab4c309e9380a99b286dcfef9\"\u003e\u003ccode\u003e805057a\u003c/code\u003e\u003c/a\u003e FIX: Toolbar savefig respects rcparams (\u003ca href=\"https://redirect.github.com/matplotlib/ipympl/issues/615\"\u003e#615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/ipympl/commit/5a81b503d3d7d1a08a71c1017e8ba066a516ada8\"\u003e\u003ccode\u003e5a81b50\u003c/code\u003e\u003c/a\u003e Add Pixi setup (\u003ca href=\"https://redirect.github.com/matplotlib/ipympl/issues/613\"\u003e#613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/ipympl/commit/57e60534aa7bf547f5d421052dedc3f455547504\"\u003e\u003ccode\u003e57e6053\u003c/code\u003e\u003c/a\u003e Update bot checkout (\u003ca href=\"https://redirect.github.com/matplotlib/ipympl/issues/614\"\u003e#614\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/ipympl/commit/0f19f0a2b6b3df37787368bdb3669663d833d7ac\"\u003e\u003ccode\u003e0f19f0a\u003c/code\u003e\u003c/a\u003e Release 0.9.8 (\u003ca href=\"https://redirect.github.com/matplotlib/ipympl/issues/607\"\u003e#607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/ipympl/commit/00aa8af30a74ee32215253a965264da1e9a8eb14\"\u003e\u003ccode\u003e00aa8af\u003c/code\u003e\u003c/a\u003e Fix doc build issues (\u003ca href=\"https://redirect.github.com/matplotlib/ipympl/issues/605\"\u003e#605\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/ipympl/commit/fe010195f05249fa8407ffbc8ec7f940c9219358\"\u003e\u003ccode\u003efe01019\u003c/code\u003e\u003c/a\u003e Test on python 3.14 (\u003ca href=\"https://redirect.github.com/matplotlib/ipympl/issues/606\"\u003e#606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/ipympl/commit/6ee18b822e4558c4bcbdb7d255e17c3220c5a391\"\u003e\u003ccode\u003e6ee18b8\u003c/code\u003e\u003c/a\u003e Use intersphinx_registry to keep intersphinx_mapping up to date. (\u003ca href=\"https://redirect.github.com/matplotlib/ipympl/issues/604\"\u003e#604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/ipympl/commit/1ef9f671cba3e2424fbe55126151e43d07dc5b04\"\u003e\u003ccode\u003e1ef9f67\u003c/code\u003e\u003c/a\u003e Use thread lock to support comms via subshells (\u003ca href=\"https://redirect.github.com/matplotlib/ipympl/issues/603\"\u003e#603\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/ipympl/commit/5e068ed222427919cc20c406e34d02ba9be55cc3\"\u003e\u003ccode\u003e5e068ed\u003c/code\u003e\u003c/a\u003e build: update release workflow (\u003ca href=\"https://redirect.github.com/matplotlib/ipympl/issues/590\"\u003e#590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/matplotlib/ipympl/compare/0.9.7...v0.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ipywidgets` from 8.1.6 to 8.1.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/releases\"\u003eipywidgets's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd JupyterCon banner and jupyter colors by \u003ca href=\"https://github.com/choldgraf\"\u003e\u003ccode\u003e@​choldgraf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3998\"\u003ejupyter-widgets/ipywidgets#3998\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix badge formatting in README.md by \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4000\"\u003ejupyter-widgets/ipywidgets#4000\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Plausible web stats by \u003ca href=\"https://github.com/jasongrout\"\u003e\u003ccode\u003e@​jasongrout\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4003\"\u003ejupyter-widgets/ipywidgets#4003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate jupyterlab_widgets metadata to indicate it works with JupyterLab 4 by \u003ca href=\"https://github.com/jasongrout\"\u003e\u003ccode\u003e@​jasongrout\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4004\"\u003ejupyter-widgets/ipywidgets#4004\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/choldgraf\"\u003e\u003ccode\u003e@​choldgraf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3998\"\u003ejupyter-widgets/ipywidgets#3998\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\"\u003ehttps://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e8.1.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix CI + remove Python 3.8 by \u003ca href=\"https://github.com/martinRenou\"\u003e\u003ccode\u003e@​martinRenou\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3989\"\u003ejupyter-widgets/ipywidgets#3989\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDynamic widgets registry by \u003ca href=\"https://github.com/martinRenou\"\u003e\u003ccode\u003e@​martinRenou\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3988\"\u003ejupyter-widgets/ipywidgets#3988\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.6...8.1.7\"\u003ehttps://github.com/jupyter-widgets/ipywidgets/compare/8.1.6...8.1.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\u003eSee full diff in \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.6...8.1.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jupyterlab` from 4.4.1 to 4.5.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyterlab/jupyterlab/releases\"\u003ejupyterlab's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.5.3\u003c/h2\u003e\n\u003ch2\u003e4.5.3\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyterlab/jupyterlab/compare/v4.5.2...a3c7cc66c59cc260de9abe56d0d9aaba824d2036\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix error in console when the debugger switch from a module to another \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18352\"\u003e#18352\u003c/a\u003e (\u003ca href=\"https://github.com/brichet\"\u003e\u003ccode\u003e@​brichet\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix focus of replace buttons in the document search box \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18362\"\u003e#18362\u003c/a\u003e (\u003ca href=\"https://github.com/IsabelParedes\"\u003e\u003ccode\u003e@​IsabelParedes\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate CodeMirror to latest versions \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18344\"\u003e#18344\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix deferred cell loading in \u003ccode\u003edefer\u003c/code\u003e and \u003ccode\u003econtentVisibility\u003c/code\u003e windowing mode \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18359\"\u003e#18359\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBackport PR \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/18349\"\u003e#18349\u003c/a\u003e: Fix \u0026quot;Open With \u0026gt; Editor\u0026quot; for \u003ccode\u003e.py\u003c/code\u003e files, update \u003ccode\u003e@lumino\u003c/code\u003e packages to \u003ccode\u003ev2026.1.15\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18351\"\u003e#18351\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/aaron-seq\"\u003e\u003ccode\u003e@​aaron-seq\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 UI tests: config useSystemClipboardForCells=true for notebook toolbar test \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18335\"\u003e#18335\u003c/a\u003e (\u003ca href=\"https://github.com/brichet\"\u003e\u003ccode\u003e@​brichet\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove generated docs files from the repo \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18340\"\u003e#18340\u003c/a\u003e (\u003ca href=\"https://github.com/jtpio\"\u003e\u003ccode\u003e@​jtpio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd installation instructions for JupyterLab with uv \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18363\"\u003e#18363\u003c/a\u003e (\u003ca href=\"https://github.com/jimangel\"\u003e\u003ccode\u003e@​jimangel\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyterlab/jupyterlab/graphs/contributors?from=2026-01-12\u0026amp;to=2026-01-23\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/aaron-seq\"\u003e\u003ccode\u003e@​aaron-seq\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Aaaron-seq+updated%3A2026-01-12..2026-01-23\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/brichet\"\u003e\u003ccode\u003e@​brichet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Abrichet+updated%3A2026-01-12..2026-01-23\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/IsabelParedes\"\u003e\u003ccode\u003e@​IsabelParedes\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3AIsabelParedes+updated%3A2026-01-12..2026-01-23\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/jimangel\"\u003e\u003ccode\u003e@​jimangel\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Ajimangel+updated%3A2026-01-12..2026-01-23\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/jtpio\"\u003e\u003ccode\u003e@​jtpio\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Ajtpio+updated%3A2026-01-12..2026-01-23\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab+involves%3Akrassowski+updated%3A2026-01-12..2026-01-23\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003ev4.5.2\u003c/h2\u003e\n\u003ch2\u003e4.5.2\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyterlab/jupyterlab/compare/v4.5.1...bb13be16887be7116f086da699bd09208042e2b6\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eBugs fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBackport PR \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/18250\"\u003e#18250\u003c/a\u003e: Make system clipboard opt-in \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18319\"\u003e#18319\u003c/a\u003e (\u003ca href=\"https://github.com/Darshan808\"\u003e\u003ccode\u003e@​Darshan808\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix empty math block throws codemirror's error \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18308\"\u003e#18308\u003c/a\u003e (\u003ca href=\"https://github.com/i-aki-y\"\u003e\u003ccode\u003e@​i-aki-y\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix cell footer width for smaller screens \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18276\"\u003e#18276\u003c/a\u003e (\u003ca href=\"https://github.com/MUFFANUJ\"\u003e\u003ccode\u003e@​MUFFANUJ\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scrolling to anchor from ToC/links in Markdown and HTML with data attributes \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18208\"\u003e#18208\u003c/a\u003e (\u003ca href=\"https://github.com/pranshugupta01\"\u003e\u003ccode\u003e@​pranshugupta01\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix merge breaking rendering cell order in \u003ccode\u003edefer\u003c/code\u003e mode \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18220\"\u003e#18220\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix inverted Unicode surrogate checks \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18209\"\u003e#18209\u003c/a\u003e (\u003ca href=\"https://github.com/JamesWrigley\"\u003e\u003ccode\u003e@​JamesWrigley\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaintenance and upkeep improvements\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/jupyterlab/jupyterlab/commit/26776604839d9174cc6239089372d5cfbe0a9957\"\u003e\u003ccode\u003e2677660\u003c/code\u003e\u003c/a\u003e [ci skip] Publish 4.5.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyterlab/jupyterlab/commit/a3c7cc66c59cc260de9abe56d0d9aaba824d2036\"\u003e\u003ccode\u003ea3c7cc6\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/18344\"\u003e#18344\u003c/a\u003e on branch 4.5.x (Update CodeMirror to latest versions) (\u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyterlab/jupyterlab/commit/6859dddcbf060c7cd88831c1ca9da7adebcdc3ec\"\u003e\u003ccode\u003e6859ddd\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/18352\"\u003e#18352\u003c/a\u003e: Fix error in console when the debugger switch from a modu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyterlab/jupyterlab/commit/1dff9c60cdfad7946960ec3fab95a004058207b4\"\u003e\u003ccode\u003e1dff9c6\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/18362\"\u003e#18362\u003c/a\u003e: Fix focus of replace buttons in the document search box (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyterlab/jupyterlab/commit/7e496829cb6e126ed5f442add70ef97a6149a81b\"\u003e\u003ccode\u003e7e49682\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/18363\"\u003e#18363\u003c/a\u003e: Add installation instructions for JupyterLab with uv (\u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/18\"\u003e#18\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyterlab/jupyterlab/commit/06736b57ffb7fcacd997ac22f37e6b582510a4be\"\u003e\u003ccode\u003e06736b5\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/18359\"\u003e#18359\u003c/a\u003e: Fix deferred cell loading in \u003ccode\u003edefer\u003c/code\u003e and `contentVisibili...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyterlab/jupyterlab/commit/36885449617f3f958269325c3f54bbeeb6682b01\"\u003e\u003ccode\u003e3688544\u003c/code\u003e\u003c/a\u003e Fix \u0026quot;Open With \u0026gt; Editor\u0026quot; for \u003ccode\u003e.py\u003c/code\u003e files, update \u003ccode\u003e@lumino\u003c/code\u003e packages to `v2026...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyterlab/jupyterlab/commit/ec399e0bf66b783a222279cf0adb645040a3f8a6\"\u003e\u003ccode\u003eec399e0\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/18335\"\u003e#18335\u003c/a\u003e: Fix UI tests: config useSystemClipboardForCells=true for ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyterlab/jupyterlab/commit/bb5cb96c28706449dece0a9aadf5b6ab47adc3c4\"\u003e\u003ccode\u003ebb5cb96\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/18340\"\u003e#18340\u003c/a\u003e: Remove generated docs files from the repo (\u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/18341\"\u003e#18341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyterlab/jupyterlab/commit/cdf27466ff03fac430b2a9f3b4b61d238487ac5d\"\u003e\u003ccode\u003ecdf2746\u003c/code\u003e\u003c/a\u003e [ci skip] Publish 4.5.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jupyterlab/jupyterlab/compare/@jupyterlab/lsp@4.4.1...@jupyterlab/lsp@4.5.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.1 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\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\u003ch2\u003eREL: v3.10.3\u003c/h2\u003e\n\u003cp\u003eThis is the third bugfix release of the 3.10.x series\u003c/p\u003e\n\u003c/blockquote\u003e\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.1...v3.10.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `matplotlib-stubs` from 0.2.0 to 0.3.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/releases\"\u003ematplotlib-stubs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.3.11\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ev0.3.10\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ev0.3.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix broken import in \u003ccode\u003ematplotlib.pyplot.plot_date\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.pyplot.xlim\u003c/code\u003e and \u003ccode\u003ematplotlib.pyplot.ylim\u003c/code\u003e overloads, including datetime support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.7\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ev0.3.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.axes.Axes.set_xticks\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ematplotlib.axes.Axes.bar\u003c/code\u003e to support datetime sequences\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.5\u003c/h2\u003e\n\u003cp\u003eFix \u003ccode\u003ematplotlib.pyplot.plot\u003c/code\u003e to allow using datetime sequences.\u003c/p\u003e\n\u003ch2\u003ev0.3.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eComplete type hints for:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.subplots_adjust\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.subplots\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.subplot_mosaic\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eComplete \u003ccode\u003ematplotlib.pyplot.text\u003c/code\u003e's type hints\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ematplotlib.cm.colors\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.cm\u003c/code\u003e's colormaps\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd return type to \u003ccode\u003eplt.ylabel\u003c/code\u003e and \u003ccode\u003eplt.xlabel\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix/refine argument types for \u003ccode\u003eplt.savefig\u003c/code\u003e, \u003ccode\u003eplt.plot\u003c/code\u003e and \u003ccode\u003eplt.scatter\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.0\u003c/h2\u003e\n\u003cp\u003eImprove type hints for the following functions:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.close()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.figure()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.legend()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.plot()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.savefig()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.scatter()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.title()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.xlabel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/blob/master/CHANGELOG.md\"\u003ematplotlib-stubs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.3.11 - 2025-10-23\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd type hints for \u003ccode\u003ematplotlib.pyplot\u003c/code\u003e's \u003ccode\u003eshow\u003c/code\u003e, \u003ccode\u003etight_layout\u003c/code\u003e, \u003ccode\u003ebar\u003c/code\u003e, \u003ccode\u003exticks\u003c/code\u003e and \u003ccode\u003eyticks\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.10 - 2025-10-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.pyplot.loglog\u003c/code\u003e type hints\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.9 - 2025-10-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix broken import in \u003ccode\u003ematplotlib.pyplot.plot_date\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.8 - 2025-10-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.pyplot.xlim\u003c/code\u003e and \u003ccode\u003ematplotlib.pyplot.ylim\u003c/code\u003e overloads, including datetime support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.7 - 2025-10-21\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.pyplot.axhline\u003c/code\u003e's kwargs type\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.6 - 2025-10-19\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.axes.Axes.set_xticks\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ematplotlib.axes.Axes.bar\u003c/code\u003e to support datetime sequences\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.5 - 2025-10-14\u003c/h2\u003e\n\u003cp\u003eFix \u003ccode\u003ematplotlib.pyplot.plot\u003c/code\u003e to allow using datetime sequences.\u003c/p\u003e\n\u003ch2\u003e0.3.4 - 2025-09-11\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eComplete type hints for:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.subplots_adjust\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.subplots\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.subplot_mosaic\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.3 - 2025-09-04\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eComplete \u003ccode\u003ematplotlib.pyplot.text\u003c/code\u003e's type hints\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ematplotlib.cm.colors\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.3.2] - 2025-08-07\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.cm\u003c/code\u003e's colormaps\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.3.1] - 2025-08-04\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd return type to \u003ccode\u003eplt.ylabel\u003c/code\u003e and \u003ccode\u003eplt.xlabel\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix/refine argument types for \u003ccode\u003eplt.savefig\u003c/code\u003e, \u003ccode\u003eplt.plot\u003c/code\u003e and \u003ccode\u003eplt.scatter\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/hoel-bagard/matplotlib-stubs/commit/59fdaf216331aa54996e5f1149e6ee096ca63557\"\u003e\u003ccode\u003e59fdaf2\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/b85c0f74cd4587d8f9ccdb0a65639981ca29bfaa\"\u003e\u003ccode\u003eb85c0f7\u003c/code\u003e\u003c/a\u003e feat: add type hints for show, tight_layout, bar, xticks and yticks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/8afc8f4122949daaa447febe9b715feaaa13da59\"\u003e\u003ccode\u003e8afc8f4\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/f9de850ed9f5662672ec663e2b88619b42d34e5a\"\u003e\u003ccode\u003ef9de850\u003c/code\u003e\u003c/a\u003e feat: add type hints to plt.loglog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/4ffefa652da3881b576823b003e695d8c4ad0dbe\"\u003e\u003ccode\u003e4ffefa6\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/e6a54149513cf96fab1c8e35ae1589a5106a46c2\"\u003e\u003ccode\u003ee6a5414\u003c/code\u003e\u003c/a\u003e fix: broken import\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/90b7235400fd1467a85ccf3ff06a5c068cd4e410\"\u003e\u003ccode\u003e90b7235\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/af0f45827cda237040c46dd126530a0971e41758\"\u003e\u003ccode\u003eaf0f458\u003c/code\u003e\u003c/a\u003e feat: add xlim and ylim overloads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/5d5ab771404092929deacaef66cc8efe625a4752\"\u003e\u003ccode\u003e5d5ab77\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/5f5a9e46f14de1072f07eb865af4d552a553672c\"\u003e\u003ccode\u003e5f5a9e4\u003c/code\u003e\u003c/a\u003e fix: add axhline kwargs type\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/compare/0.2.0...v0.3.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `networkx` from 3.4.2 to 3.6.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/networkx/networkx/releases\"\u003enetworkx's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eNetworkX 3.6.1\u003c/h2\u003e\n\u003ch1\u003enetworkx 3.6.1\u003c/h1\u003e\n\u003cp\u003eWe're happy to announce the release of networkx 3.6.1!\u003c/p\u003e\n\u003ch2\u003eAPI Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd spectral bipartition community finding and greedy bipartition using node swaps (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8347\"\u003e#8347\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNodelists for \u003ccode\u003efrom_biadjacency_matrix\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/7993\"\u003e#7993\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd spectral bipartition community finding and greedy bipartition using node swaps (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8347\"\u003e#8347\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix draw_networkx_nodes with list node_shape and add regression test (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8363\"\u003e#8363\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: allow graph subclasses to have additional arguments (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8369\"\u003e#8369\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDOC: Improve benchmarking readme (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8358\"\u003e#8358\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: More details re: RC releases in the release process devdocs (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8346\"\u003e#8346\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: clarify difference between G.nodes/G.nodes() and G.edges/G.edges() in tutorial (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8300\"\u003e#8300\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: Add blurb to contributor guide about drawing tests (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8370\"\u003e#8370\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: Fix underline lens in docstrings (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8371\"\u003e#8371\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRolling back shortest paths links (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8373\"\u003e#8373\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMaintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMAINT: Replace string literal with comment (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8359\"\u003e#8359\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 in the actions group (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8360\"\u003e#8360\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003epin python 3.14 to be version 3.14.0 until dataclasses are fixed (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8365\"\u003e#8365\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBlocklist Python 3.14.1 (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8372\"\u003e#8372\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTST: add tests for unsupported graph types in MST algorithms (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8353\"\u003e#8353\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eTST: clean up isomorphism tests (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8364\"\u003e#8364\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003e10 authors added to this release (alphabetically):\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Aka2210\"\u003e\u003ccode\u003e@​Aka2210\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jfinkels\"\u003e\u003ccode\u003e@​jfinkels\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaorTIRAM\"\u003e\u003ccode\u003e@​NaorTIRAM\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAditi Juneja (\u003ca href=\"https://github.com/Schefflera-Arboricola\"\u003e\u003ccode\u003e@​Schefflera-Arboricola\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAlejandro Candioti (\u003ca href=\"https://github.com/amcandio\"\u003e\u003ccode\u003e@​amcandio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eColman Bouton (\u003ca href=\"https://github.com/LorentzFactor\"\u003e\u003ccode\u003e@​LorentzFactor\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/7530809bfa1ea7ed6fdf918a4d1431488953cb1f\"\u003e\u003ccode\u003e7530809\u003c/code\u003e\u003c/a\u003e Designate 3.6.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/4788eb08f2492dd6bf6f97ce8ee07cd52aa6cf89\"\u003e\u003ccode\u003e4788eb0\u003c/code\u003e\u003c/a\u003e Rolling back shortest paths links (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8373\"\u003e#8373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/696edb6efbbbb622959e96f1276fc0db68dc0954\"\u003e\u003ccode\u003e696edb6\u003c/code\u003e\u003c/a\u003e Fix draw_networkx_nodes with list node_shape and add regression test  (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8363\"\u003e#8363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/c38830c61a6fee3ee10f216071bb63cb9b92bfb9\"\u003e\u003ccode\u003ec38830c\u003c/code\u003e\u003c/a\u003e Blocklist Python 3.14.1 (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8372\"\u003e#8372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/81d231141b08600ebfd1c781e28ecbf791e94016\"\u003e\u003ccode\u003e81d2311\u003c/code\u003e\u003c/a\u003e DOC: Fix underline lens in docstrings. (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8371\"\u003e#8371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/a6e2bfadef51dda47df6466b32642e0d428c5801\"\u003e\u003ccode\u003ea6e2bfa\u003c/code\u003e\u003c/a\u003e DOC: Add blurb to contributor guide about drawing tests. (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8370\"\u003e#8370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/96b628295eff29d266e1c75355556fc9fe58cc16\"\u003e\u003ccode\u003e96b6282\u003c/code\u003e\u003c/a\u003e DOC: clarify difference between G.nodes/G.nodes() and G.edges/G.edges() in tu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/75bdd737ca8382d06eb76ff9018a81870c9f3443\"\u003e\u003ccode\u003e75bdd73\u003c/code\u003e\u003c/a\u003e Fix: allow graph subclasses to have additional arguments (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8369\"\u003e#8369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/7663fa5e5fd73d6921410a18c7ac4116ffa04f4d\"\u003e\u003ccode\u003e7663fa5\u003c/code\u003e\u003c/a\u003e TST: clean up isomorphism tests (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8364\"\u003e#8364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/3dacd1bdcbd976b9e148a60ddebafd868c0a52f3\"\u003e\u003ccode\u003e3dacd1b\u003c/code\u003e\u003c/a\u003e Add spectral bipartition community finding and greedy bipartition using node ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/networkx/networkx/compare/networkx-3.4.2...networkx-3.6.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pandas-stubs` from 2.2.3.250308 to 2.3.3.260113\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/0cb16c482b2350047d51e5954e9d8bc5ff40f4d0\"\u003e\u003ccode\u003e0cb16c4\u003c/code\u003e\u003c/a\u003e Version 2.3.3.260113\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/bf9a74aa3092f59193f3ca26aae2d9e0c63a813f\"\u003e\u003ccode\u003ebf9a74a\u003c/code\u003e\u003c/a\u003e TYP: bump \u003ccode\u003ety\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas-stubs/issues/1630\"\u003e#1630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/db79b540b34c76ec5a710d366638d2b4949f5bc4\"\u003e\u003ccode\u003edb79b54\u003c/code\u003e\u003c/a\u003e TST: numeric arrays (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas-stubs/issues/1618\"\u003e#1618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/a0d8f9cedd7b1af11ad344b1717402425f403551\"\u003e\u003ccode\u003ea0d8f9c\u003c/code\u003e\u003c/a\u003e GH1614 Add more agg func methods for pivot_table (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas-stubs/issues/1623\"\u003e#1623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/2c83c1fca90b14b2439d3312494642d7c52fd45e\"\u003e\u003ccode\u003e2c83c1f\u003c/code\u003e\u003c/a\u003e BUG: regression on \u003ca href=\"https://redirect.github.com/pandas-dev/pandas-stubs/issues/1594\"\u003e#1594\u003c/a\u003e for nightly (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas-stubs/issues/1620\"\u003e#1620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/78fcc5b9da0aba3dda336624bf12f29b9b1214c4\"\u003e\u003ccode\u003e78fcc5b\u003c/code\u003e\u003c/a\u003e TYP: GH1614 Add more agg func methods for \u003ccode\u003epivot_table\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas-stubs/issues/1615\"\u003e#1615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/cf423fdf17933fbf546cb129e9fc4df08c780724\"\u003e\u003ccode\u003ecf423fd\u003c/code\u003e\u003c/a\u003e CLN: move tests for \u003ccode\u003eSeries.astype\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas-stubs/issues/1611\"\u003e#1611\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/0954c0db562e7e868b1839b4adcb2b049e9136e0\"\u003e\u003ccode\u003e0954c0d\u003c/code\u003e\u003c/a\u003e BUG: rename to \u003ccode\u003eNoDefaultDoNotUse\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas-stubs/issues/1616\"\u003e#1616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/b54625adb16fad269b0ea420436a95f24002e5c7\"\u003e\u003ccode\u003eb54625a\u003c/code\u003e\u003c/a\u003e TST: \u003ccode\u003exStringArray\u003c/code\u003e and \u003ccode\u003eNumpyExtensionArray\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas-stubs/issues/1594\"\u003e#1594\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/df2ebd03248496f309cfdb87719de3f659530eb7\"\u003e\u003ccode\u003edf2ebd0\u003c/code\u003e\u003c/a\u003e DEPR: \u003ccode\u003eravel\u003c/code\u003e in \u003ccode\u003eIndex\u003c/code\u003e and \u003ccode\u003eSeries\u003c/code\u003e \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/36900\"\u003epandas-dev/pandas#36900\u003c/a\u003e pandas-dev/pand...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandas-dev/pandas-stubs/compare/v2.2.3.250308...v2.3.3.260113\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prettytable` from 3.16.0 to 3.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettytable/prettytable/releases\"\u003eprettytable's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 3.17.0\u003c/h2...\n\n_Description has been truncated_","html_url":"https://github.com/sjwiesman/materialize/pull/469","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sjwiesman%2Fmaterialize/issues/469","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/469/packages"}},{"old_version":"8.1.7","new_version":"8.1.8","update_type":"patch","path":null,"pr_created_at":"2026-01-06T09:54:16.000Z","version_change":"8.1.7 → 8.1.8","issue":{"uuid":"3784517827","node_id":"PR_kwDOEcrRgc67sGuz","number":4722,"state":"closed","title":"[Tech] Python - Bump the non-major-dependencies group across 1 directory with 22 updates","user":"dependabot[bot]","labels":["tech. enhancement","dependencies"],"assignees":["VincentAntoine"],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-01-06T17:08:23.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-06T09:54:16.000Z","updated_at":"2026-01-06T17:08:33.000Z","time_to_close":26047,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"[Tech] Python - Bump","group_name":"non-major-dependencies","update_count":22,"packages":[{"name":"pandas","old_version":"2.3.0","new_version":"2.3.3","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"black","old_version":"25.1.0","new_version":"25.12.0","repository_url":"https://github.com/psf/black"},{"name":"coverage","old_version":"7.9.1","new_version":"7.13.1","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"pre-commit","old_version":"4.2.0","new_version":"4.5.1","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"python-dotenv","old_version":"1.1.1","new_version":"1.2.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"scrapy","old_version":"2.13.2","new_version":"2.14.0","repository_url":"https://github.com/scrapy/scrapy"},{"name":"simplejson","old_version":"3.20.1","new_version":"3.20.2","repository_url":"https://github.com/simplejson/simplejson"},{"name":"geoalchemy2","old_version":"0.17.1","new_version":"0.18.1","repository_url":"https://github.com/geoalchemy/geoalchemy2"},{"name":"rtree","old_version":"1.4.0","new_version":"1.4.1","repository_url":"https://github.com/Toblerity/rtree"},{"name":"geopandas","old_version":"1.1.0","new_version":"1.1.2","repository_url":"https://github.com/geopandas/geopandas"},{"name":"css-inline","old_version":"0.14.6","new_version":"0.19.0","repository_url":"https://github.com/Stranger6667/css-inline"},{"name":"h3","old_version":"4.3.0","new_version":"4.4.1","repository_url":"https://github.com/uber/h3-py"},{"name":"clickhouse-connect","old_version":"0.8.17","new_version":"0.10.0","repository_url":"https://github.com/ClickHouse/clickhouse-connect"},{"name":"prefect","old_version":"3.4.7","new_version":"3.6.9","repository_url":"https://github.com/PrefectHQ/prefect"},{"name":"duckdb","old_version":"1.3.1","new_version":"1.4.3","repository_url":"https://github.com/duckdb/duckdb-python"},{"name":"plotly","old_version":"6.1.2","new_version":"6.5.0","repository_url":"https://github.com/plotly/plotly.py"},{"name":"xlsxwriter","old_version":"3.2.5","new_version":"3.2.9","repository_url":"https://github.com/jmcnamara/XlsxWriter"},{"name":"matplotlib","old_version":"3.10.3","new_version":"3.10.8","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"sphinx-intl","old_version":"2.3.1","new_version":"2.3.2","repository_url":"https://github.com/sphinx-doc/sphinx-intl"},{"name":"sphinx-autoapi","old_version":"3.6.0","new_version":"3.6.1","repository_url":"https://github.com/readthedocs/sphinx-autoapi"},{"name":"scikit-learn","old_version":"1.7.0","new_version":"1.8.0","repository_url":"https://github.com/scikit-learn/scikit-learn"},{"name":"ipywidgets","old_version":"8.1.7","new_version":"8.1.8","repository_url":"https://github.com/jupyter-widgets/ipywidgets"}],"path":null,"ecosystem":"pip"},"body":"[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nRebasing might not happen immediately, so don't worry if this takes some time.\n\nNote: if you make any changes to this PR yourself, they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nBumps the non-major-dependencies group with 22 updates in the /pipeline directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.0` | `2.3.3` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.12.0` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.9.1` | `7.13.1` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.2.0` | `4.5.1` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.1.1` | `1.2.1` |\n| [scrapy](https://github.com/scrapy/scrapy) | `2.13.2` | `2.14.0` |\n| [simplejson](https://github.com/simplejson/simplejson) | `3.20.1` | `3.20.2` |\n| [geoalchemy2](https://github.com/geoalchemy/geoalchemy2) | `0.17.1` | `0.18.1` |\n| [rtree](https://github.com/Toblerity/rtree) | `1.4.0` | `1.4.1` |\n| [geopandas](https://github.com/geopandas/geopandas) | `1.1.0` | `1.1.2` |\n| [css-inline](https://github.com/Stranger6667/css-inline) | `0.14.6` | `0.19.0` |\n| [h3](https://github.com/uber/h3-py) | `4.3.0` | `4.4.1` |\n| [clickhouse-connect](https://github.com/ClickHouse/clickhouse-connect) | `0.8.17` | `0.10.0` |\n| [prefect](https://github.com/PrefectHQ/prefect) | `3.4.7` | `3.6.9` |\n| [duckdb](https://github.com/duckdb/duckdb-python) | `1.3.1` | `1.4.3` |\n| [plotly](https://github.com/plotly/plotly.py) | `6.1.2` | `6.5.0` |\n| [xlsxwriter](https://github.com/jmcnamara/XlsxWriter) | `3.2.5` | `3.2.9` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.10.3` | `3.10.8` |\n| [sphinx-intl](https://github.com/sphinx-doc/sphinx-intl) | `2.3.1` | `2.3.2` |\n| [sphinx-autoapi](https://github.com/readthedocs/sphinx-autoapi) | `3.6.0` | `3.6.1` |\n| [scikit-learn](https://github.com/scikit-learn/scikit-learn) | `1.7.0` | `1.8.0` |\n| [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) | `8.1.7` | `8.1.8` |\n\n\nUpdates `pandas` from 2.3.0 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.3.0...v2.3.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `black` from 25.1.0 to 25.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/releases\"\u003eblack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.12.0\u003c/h2\u003e\n\u003cp\u003ePlease test out the draft 2026 style in version 26.1a1! This style will be finalized in\nthe January release (26.1.0). Most of the changes in \u003ccode\u003e--preview\u003c/code\u003e will be in the 2026\nstable style, but not all.\n\u003ca href=\"https://redirect.github.com/psf/black/issues/4042\"\u003ePlease share your feedback!\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis release (25.12.0) will still produce the 2025 style.\u003c/p\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBlack no longer supports running with Python 3.9 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4842\"\u003e#4842\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where comments preceding \u003ccode\u003e# fmt: off\u003c/code\u003e/\u003ccode\u003e# fmt: on\u003c/code\u003e blocks were incorrectly\nremoved, particularly affecting Jupytext's \u003ccode\u003e# %% [markdown]\u003c/code\u003e comments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4845\"\u003e#4845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when multiple \u003ccode\u003e# fmt: skip\u003c/code\u003e comments are used in a multi-part if-clause, on\nstring literals, or on dictionary entries with long lines (\u003ca href=\"https://redirect.github.com/psf/black/issues/4872\"\u003e#4872\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix possible crash when \u003ccode\u003efmt: \u003c/code\u003e directives aren't on the top level (\u003ca href=\"https://redirect.github.com/psf/black/issues/4856\"\u003e#4856\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003efmt: skip\u003c/code\u003e skipping the line after instead of the line it's on (\u003ca href=\"https://redirect.github.com/psf/black/issues/4855\"\u003e#4855\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unnecessary parentheses from the left-hand side of assignments while preserving\nmagic trailing commas and intentional multiline formatting (\u003ca href=\"https://redirect.github.com/psf/black/issues/4865\"\u003e#4865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003efix_fmt_skip_in_one_liners\u003c/code\u003e crashing on \u003ccode\u003ewith\u003c/code\u003e statements (\u003ca href=\"https://redirect.github.com/psf/black/issues/4853\"\u003e#4853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003efix_fmt_skip_in_one_liners\u003c/code\u003e crashing on annotated parameters (\u003ca href=\"https://redirect.github.com/psf/black/issues/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix new lines being added after imports with \u003ccode\u003e# fmt: skip\u003c/code\u003e on them (\u003ca href=\"https://redirect.github.com/psf/black/issues/4894\"\u003e#4894\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReleases now include arm64 Windows binaries and wheels (\u003ca href=\"https://redirect.github.com/psf/black/issues/4814\"\u003e#4814\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIntegrations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eoutput-file\u003c/code\u003e input to GitHub Action \u003ccode\u003epsf/black\u003c/code\u003e to write formatter output to a\nfile for artifact capture and log cleanliness (\u003ca href=\"https://redirect.github.com/psf/black/issues/4824\"\u003e#4824\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.12.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBlack no longer supports running with Python 3.9 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4842\"\u003e#4842\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where comments preceding \u003ccode\u003e# fmt: off\u003c/code\u003e/\u003ccode\u003e# fmt: on\u003c/code\u003e blocks were incorrectly\nremoved, particularly affecting Jupytext's \u003ccode\u003e# %% [markdown]\u003c/code\u003e comments (\u003ca href=\"https://redirect.github.com/psf/black/issues/4845\"\u003e#4845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when multiple \u003ccode\u003e# fmt: skip\u003c/code\u003e comments are used in a multi-part if-clause, on\nstring literals, or on dictionary entries with long lines (\u003ca href=\"https://redirect.github.com/psf/black/issues/4872\"\u003e#4872\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix possible crash when \u003ccode\u003efmt: \u003c/code\u003e directives aren't on the top level (\u003ca href=\"https://redirect.github.com/psf/black/issues/4856\"\u003e#4856\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003efmt: skip\u003c/code\u003e skipping the line after instead of the line it's on (\u003ca href=\"https://redirect.github.com/psf/black/issues/4855\"\u003e#4855\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unnecessary parentheses from the left-hand side of assignments while preserving\nmagic trailing commas and intentional multiline formatting (\u003ca href=\"https://redirect.github.com/psf/black/issues/4865\"\u003e#4865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003efix_fmt_skip_in_one_liners\u003c/code\u003e crashing on \u003ccode\u003ewith\u003c/code\u003e statements (\u003ca href=\"https://redirect.github.com/psf/black/issues/4853\"\u003e#4853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003efix_fmt_skip_in_one_liners\u003c/code\u003e crashing on annotated parameters (\u003ca href=\"https://redirect.github.com/psf/black/issues/4854\"\u003e#4854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix new lines being added after imports with \u003ccode\u003e# fmt: skip\u003c/code\u003e on them (\u003ca href=\"https://redirect.github.com/psf/black/issues/4894\"\u003e#4894\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReleases now include arm64 Windows binaries and wheels (\u003ca href=\"https://redirect.github.com/psf/black/issues/4814\"\u003e#4814\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIntegrations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eoutput-file\u003c/code\u003e input to GitHub Action \u003ccode\u003epsf/black\u003c/code\u003e to write formatter output to a\nfile for artifact capture and log cleanliness (\u003ca href=\"https://redirect.github.com/psf/black/issues/4824\"\u003e#4824\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\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\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/782e5605c86aab56be6f905da10dcd3e463fd9c2\"\u003e\u003ccode\u003e782e560\u003c/code\u003e\u003c/a\u003e Pin actions/checkout@v5.0.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4895\"\u003e#4895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/f0f40945c1b0ebaa9ca733aca517610574c451d6\"\u003e\u003ccode\u003ef0f4094\u003c/code\u003e\u003c/a\u003e Fix new lines being added after imports with \u003ccode\u003e# fmt: skip\u003c/code\u003e on them (\u003ca href=\"https://redirect.github.com/psf/black/issues/4894\"\u003e#4894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/70fc194172184861aafb418c124824cae0fbe3b0\"\u003e\u003ccode\u003e70fc194\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Fix \u003ccode\u003e# fmt: skip\u003c/code\u003e ignored in deeply nested expressions\u0026quot; (\u003ca href=\"https://redirect.github.com/psf/black/issues/4893\"\u003e#4893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/7044b145f4826e0d6e07178d89666856a8e37aff\"\u003e\u003ccode\u003e7044b14\u003c/code\u003e\u003c/a\u003e Prepare 25.12.0 release (\u003ca href=\"https://redirect.github.com/psf/black/issues/4891\"\u003e#4891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/5b470f0e577f3c39e0f7d668934d587c0733a652\"\u003e\u003ccode\u003e5b470f0\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003e# fmt: skip\u003c/code\u003e ignored in deeply nested expressions (\u003ca href=\"https://redirect.github.com/psf/black/issues/4883\"\u003e#4883\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/1b342ef5b0433fc1ed61a7e05a65744bef706fc9\"\u003e\u003ccode\u003e1b342ef\u003c/code\u003e\u003c/a\u003e Fix crash when multiple \u003ccode\u003e# fmt: skip\u003c/code\u003e comments are used in multi-part if-clau...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/7b265f16634155dafcca65f6122ef7ed8d14a67f\"\u003e\u003ccode\u003e7b265f1\u003c/code\u003e\u003c/a\u003e Pin Hatch to hopefully fix Docker builds (\u003ca href=\"https://redirect.github.com/psf/black/issues/4878\"\u003e#4878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/c9523f463fdc9d9f9f0e61ca92d9b37acdf0d8fc\"\u003e\u003ccode\u003ec9523f4\u003c/code\u003e\u003c/a\u003e Attempt to fix Docker build failures (\u003ca href=\"https://redirect.github.com/psf/black/issues/4876\"\u003e#4876\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/0f376e0c35bcb29f87ce18eace30333a3e105841\"\u003e\u003ccode\u003e0f376e0\u003c/code\u003e\u003c/a\u003e Fix crashes when fmt directives are indented (\u003ca href=\"https://redirect.github.com/psf/black/issues/4856\"\u003e#4856\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/a8bfcc1040fdfce2e02cdd85dc8bf4e7abe0462f\"\u003e\u003ccode\u003ea8bfcc1\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003efmt: skip\u003c/code\u003e skipping the line after instead of the line it's on (\u003ca href=\"https://redirect.github.com/psf/black/issues/4855\"\u003e#4855\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/25.1.0...25.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `coverage` from 7.9.1 to 7.13.1\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.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\n.. _issue 2105: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2105\"\u003ecoveragepy/coveragepy#2105\u003c/a\u003e\n.. _issue 2109: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2109\"\u003ecoveragepy/coveragepy#2109\u003c/a\u003e\n.. _issue 2110: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2110\"\u003ecoveragepy/coveragepy#2110\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-13-0:\u003c/p\u003e\n\u003ch2\u003eVersion 7.13.0 — 2025-12-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature: coverage.py now supports :file:\u003ccode\u003e.coveragerc.toml\u003c/code\u003e configuration\nfiles. These files use TOML syntax and take priority over\n:file:\u003ccode\u003epyproject.toml\u003c/code\u003e but lower priority than :file:\u003ccode\u003e.coveragerc\u003c/code\u003e files.\nCloses \u003ccode\u003eissue 1643\u003c/code\u003e_ thanks to \u003ccode\u003eOlena Yefymenko \u0026lt;pull 1952_\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: we now include a permanent .pth file which is installed with the code,\nfixing \u003ccode\u003eissue 2084\u003c/code\u003e_.  In 7.12.1b1 this was done incorrectly: it didn't work\nwhen using the source wheel (\u003ccode\u003epy3-none-any\u003c/code\u003e).  This is now fixed. Thanks,\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/a6afdc36332d797fb4f4262fc9ff2b2da5bb99c8\"\u003e\u003ccode\u003ea6afdc3\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/a497081b6759957a1c52957fdbb34848e0d46276\"\u003e\u003ccode\u003ea497081\u003c/code\u003e\u003c/a\u003e docs: prep for 7.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/e9920336e5118a7a7002b1eb606400cd3be640b2\"\u003e\u003ccode\u003ee992033\u003c/code\u003e\u003c/a\u003e docs: polish up CHANGES\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/18bba6e60958d5c825a93882b8997f2cfc6ecfe3\"\u003e\u003ccode\u003e18bba6e\u003c/code\u003e\u003c/a\u003e chore: bump the action-dependencies group with 4 updates (\u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2111\"\u003e#2111\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/80fb80826f3bd8953018d4a4a134a7fc42643784\"\u003e\u003ccode\u003e80fb808\u003c/code\u003e\u003c/a\u003e refactor: (?x:...) lets us use re.VERBOSE even when combining later\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/cc272bdc050308328e3ee64800b5e298468260c8\"\u003e\u003ccode\u003ecc272bd\u003c/code\u003e\u003c/a\u003e docs: leave a comment so we'll find this when 3.12 is the minimum\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/70d007d160d40b40de1bae89ad2856c2191c1c94\"\u003e\u003ccode\u003e70d007d\u003c/code\u003e\u003c/a\u003e types: be explicit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/a2c1940fd2eae103c2366859d75cb7de195a0439\"\u003e\u003ccode\u003ea2c1940\u003c/code\u003e\u003c/a\u003e types: fully import modules that will be patched\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/57b975d3b8e069364525b2e8d5a88b7fbc0e8b93\"\u003e\u003ccode\u003e57b975d\u003c/code\u003e\u003c/a\u003e types: explicit Protocol inheritance permits changing parameter names\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/63ec12d7c87748e7a03ea2eb6240edeaffc7ccde\"\u003e\u003ccode\u003e63ec12d\u003c/code\u003e\u003c/a\u003e types: clarify that morfs arguments can be a single morf\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coveragepy/coveragepy/compare/7.9.1...7.13.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.2.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\u003ch2\u003epre-commit v4.3.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003elanguage: docker\u003c/code\u003e / \u003ccode\u003elanguage: docker_image\u003c/code\u003e: detect rootless docker.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3446\"\u003e#3446\u003c/a\u003e PR by \u003ca href=\"https://github.com/matthewhughes934\"\u003e\u003ccode\u003e@​matthewhughes934\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/1243\"\u003e#1243\u003c/a\u003e issue by \u003ca href=\"https://github.com/dkolepp\"\u003e\u003ccode\u003e@​dkolepp\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage: julia\u003c/code\u003e: avoid \u003ccode\u003estartup.jl\u003c/code\u003e when executing hooks.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3496\"\u003e#3496\u003c/a\u003e PR by \u003ca href=\"https://github.com/ericphanson\"\u003e\u003ccode\u003e@​ericphanson\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage: dart\u003c/code\u003e: support latest dart versions which require a higher sdk\nlower bound.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3507\"\u003e#3507\u003c/a\u003e PR by \u003ca href=\"https://github.com/bc-lee\"\u003e\u003ccode\u003e@​bc-lee\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\u003ch1\u003e4.3.0 - 2025-08-09\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003elanguage: docker\u003c/code\u003e / \u003ccode\u003elanguage: docker_image\u003c/code\u003e: detect rootless docker.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3446\"\u003e#3446\u003c/a\u003e PR by \u003ca href=\"https://github.com/matthewhughes934\"\u003e\u003ccode\u003e@​matthewhughes934\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/1243\"\u003e#1243\u003c/a\u003e issue by \u003ca href=\"https://github.com/dkolepp\"\u003e\u003ccode\u003e@​dkolepp\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage: julia\u003c/code\u003e: avoid \u003ccode\u003estartup.jl\u003c/code\u003e when executing hooks.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3496\"\u003e#3496\u003c/a\u003e PR by \u003ca href=\"https://github.com/ericphanson\"\u003e\u003ccode\u003e@​ericphanson\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage: dart\u003c/code\u003e: support latest dart versions which require a higher sdk\nlower bound.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3507\"\u003e#3507\u003c/a\u003e PR by \u003ca href=\"https://github.com/bc-lee\"\u003e\u003ccode\u003e@​bc-lee\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.2.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 `python-dotenv` from 1.1.1 to 1.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/releases\"\u003epython-dotenv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport reading .env from FIFOs (Unix) by \u003ca href=\"https://github.com/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/586\"\u003etheskumar/python-dotenv#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CI to use trusted publishing on PyPI\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/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/586\"\u003etheskumar/python-dotenv#586\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.0...v1.2.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.0...v1.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: upgrade to use ruff by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/567\"\u003etheskumar/python-dotenv#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse sys.exit() instead of exit() by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/568\"\u003etheskumar/python-dotenv#568\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat:  add \u003ccode\u003ePYTHON_DOTENV_DISABLED\u003c/code\u003e flag to disable load_dotenv (fixes \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/510\"\u003e#510\u003c/a\u003e) by \u003ca href=\"https://github.com/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Python@3.14: Github CI \u0026amp; tox.ini by \u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eocs: clarify what load_dotenv() does in README by \u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group across 1 directory with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/577\"\u003etheskumar/python-dotenv#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove project metadata and config to pyproject.toml by \u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/583\"\u003etheskumar/python-dotenv#583\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/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/583\"\u003etheskumar/python-dotenv#583\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.0\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.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/theskumar/python-dotenv/blob/main/CHANGELOG.md\"\u003epython-dotenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.2.1] - 2025-10-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMove more config to \u003ccode\u003epyproject.toml\u003c/code\u003e, removed \u003ccode\u003esetup.cfg\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for reading \u003ccode\u003e.env\u003c/code\u003e from FIFOs (Unix) by [\u003ca href=\"https://github.com/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/586\"\u003e#586\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.2.0] - 2025-10-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade build system to use PEP 517 \u0026amp; PEP 518 to use \u003ccode\u003ebuild\u003c/code\u003e and \u003ccode\u003epyproject.toml\u003c/code\u003e by [\u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/583\"\u003e#583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.14 by [\u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/563\"\u003e#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for disabling of \u003ccode\u003eload_dotenv()\u003c/code\u003e using \u003ccode\u003ePYTHON_DOTENV_DISABLED\u003c/code\u003e env var. by [\u003ca href=\"https://github.com/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/569\"\u003e#569\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/theskumar/python-dotenv/commit/eaf2a9129ccec6febda0f741eb3bb852c3f947bd\"\u003e\u003ccode\u003eeaf2a91\u003c/code\u003e\u003c/a\u003e Do not remove .coverage file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/8716196891532eeb67d24a513e8d975437f5e8b7\"\u003e\u003ccode\u003e8716196\u003c/code\u003e\u003c/a\u003e Bump version: 1.2.0 → 1.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/b87807fcad6e74332c3c63a75c92ce5814fa7a55\"\u003e\u003ccode\u003eb87807f\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/3af77d3029eb717aeec0a3c25f751b6a614a6d3c\"\u003e\u003ccode\u003e3af77d3\u003c/code\u003e\u003c/a\u003e Support reading .env from FIFOs (Unix) (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/586\"\u003e#586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/467ee22fccb2fb7ccda71a0d9e37c6ea3cb8d993\"\u003e\u003ccode\u003e467ee22\u003c/code\u003e\u003c/a\u003e Fix test failures after moving config to pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/76999e741d87e958ebd74e3ae9834c0514e77a59\"\u003e\u003ccode\u003e76999e7\u003c/code\u003e\u003c/a\u003e Move more config pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/222ce2cc58ebc82ba78da8781269267b9f585932\"\u003e\u003ccode\u003e222ce2c\u003c/code\u003e\u003c/a\u003e Update to use trusted publisher on pypi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/8ed4f79d202eba582b44bdf1f5deb726dd68783d\"\u003e\u003ccode\u003e8ed4f79\u003c/code\u003e\u003c/a\u003e Update docs requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/5bf882241c607445bf02cf5b241535d62e2b99c1\"\u003e\u003ccode\u003e5bf8822\u003c/code\u003e\u003c/a\u003e Bump version: 1.1.1 → 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/1fe11cc737ee4399e9c51d1b69b0dd858f6b4669\"\u003e\u003ccode\u003e1fe11cc\u003c/code\u003e\u003c/a\u003e upadate changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `scrapy` from 2.13.2 to 2.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scrapy/scrapy/releases\"\u003escrapy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.14.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMore coroutine-based replacements for Deferred-based APIs\u003c/li\u003e\n\u003cli\u003eThe default priority queue is now \u003ccode\u003eDownloaderAwarePriorityQueue\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.9 and PyPy 3.10\u003c/li\u003e\n\u003cli\u003eImproved and documented the API for custom download handlers\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.scrapy.org/en/latest/news.html#scrapy-2-14-0-2026-01-05\"\u003eFull changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.13.4\u003c/h2\u003e\n\u003cp\u003eFix for the \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2025-6176\"\u003eCVE-2025-6176\u003c/a\u003e security issue: improved protection against decompression bombs in \u003ccode\u003eHttpCompressionMiddleware\u003c/code\u003e for responses compressed using the \u003ccode\u003ebr\u003c/code\u003e and \u003ccode\u003edeflate\u003c/code\u003e methods. Requires \u003ccode\u003ebrotli \u0026gt;= 1.2.0\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://docs.scrapy.org/en/latest/news.html#scrapy-2-13-4-2025-11-17\"\u003eFull changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.13.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChanged the values for \u003ccode\u003eDOWNLOAD_DELAY\u003c/code\u003e (from \u003ccode\u003e0\u003c/code\u003e to \u003ccode\u003e1\u003c/code\u003e) and \u003ccode\u003eCONCURRENT_REQUESTS_PER_DOMAIN\u003c/code\u003e (from \u003ccode\u003e8\u003c/code\u003e to \u003ccode\u003e1\u003c/code\u003e) in the default project template.\u003c/li\u003e\n\u003cli\u003eFixed several bugs in the engine initialization and exception handling logic.\u003c/li\u003e\n\u003cli\u003eAllowed running tests with Twisted 25.5.0+ again and fixed test failures with lxml 6.0.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.scrapy.org/en/2.13/news.html#scrapy-2-13-3-2025-07-02\"\u003eSee the full changelog\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/scrapy/scrapy/blob/master/docs/news.rst\"\u003escrapy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eScrapy 2.14.0 (2026-01-05)\u003c/h2\u003e\n\u003cp\u003eHighlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMore coroutine-based replacements for Deferred-based APIs\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe default priority queue is now \u003ccode\u003eDownloaderAwarePriorityQueue\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDropped support for Python 3.9 and PyPy 3.10\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImproved and documented the API for custom download handlers\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eModified requirements\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n-   Dropped support for Python 3.9.\n    (:issue:`7121`)\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDropped support for PyPy 3.10.\u003cbr /\u003e\n(:issue:\u003ccode\u003e7050\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIncreased the minimum versions of the following dependencies:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003elxml_: 4.6.0 → 4.6.4\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePillow_ (optional dependency): 8.0.0 → 8.3.2\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ebotocore_ (optional dependency): 1.4.87 → 1.13.45\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRestored support for \u003ccode\u003ebrotlicffi\u003c/code\u003e dropped in Scrapy 2.13.4. Its minimum\u003cbr /\u003e\nsupported version is now \u003ccode\u003e1.2.0.0\u003c/code\u003e.\u003cbr /\u003e\n(:issue:\u003ccode\u003e7160\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBackward-incompatible changes\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eIf you set the :setting:\u003ccode\u003eTWISTED_REACTOR\u003c/code\u003e setting to a :ref:\u003ccode\u003enon-asyncio value \u0026lt;disable-asyncio\u0026gt;\u003c/code\u003e at the :ref:\u003ccode\u003espider level \u0026lt;spider-settings\u0026gt;\u003c/code\u003e, you\nmay now need to set the :setting:\u003ccode\u003eFORCE_CRAWLER_PROCESS\u003c/code\u003e setting to\n\u003ccode\u003eTrue\u003c/code\u003e when running Scrapy via :ref:\u003ccode\u003eits command-line tool \u0026lt;topics-commands-crawlerprocess\u0026gt;\u003c/code\u003e to avoid a reactor mismatch exception.\n(:issue:\u003ccode\u003e6845\u003c/code\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003elog_count/*\u003c/code\u003e stats no longer count some of the early messages that\nthey counted before. While the earliest log messages, emitted before the\ncounter is initialized, were never counted, the counter initialization now\nhappens later than in previous Scrapy versions. You may need to adjust\nexpected values if you retrieve and compare values of these stats in your\ncode.\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/scrapy/scrapy/commit/3ac1192f35fc32d01c69c929eed85601fb0405e8\"\u003e\u003ccode\u003e3ac1192\u003c/code\u003e\u003c/a\u003e Bump version: 2.13.4 → 2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scrapy/scrapy/commit/7bef98b4f14a29f8f760a67c21edf6a6bee4dad0\"\u003e\u003ccode\u003e7bef98b\u003c/code\u003e\u003c/a\u003e Release notes for 2.14.0 (\u003ca href=\"https://redirect.github.com/scrapy/scrapy/issues/7035\"\u003e#7035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scrapy/scrapy/commit/d1bd8eb49f7aba9289e4ff692006cead8bcd9080\"\u003e\u003ccode\u003ed1bd8eb\u003c/code\u003e\u003c/a\u003e Async API for download handlers. (\u003ca href=\"https://redirect.github.com/scrapy/scrapy/issues/7164\"\u003e#7164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scrapy/scrapy/commit/a2463325db2fd128e27da45d6ee36e21126c1bf5\"\u003e\u003ccode\u003ea246332\u003c/code\u003e\u003c/a\u003e Allow Crawler.crawl_async() without asyncio. (\u003ca href=\"https://redirect.github.com/scrapy/scrapy/issues/7202\"\u003e#7202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scrapy/scrapy/commit/9381ad893dfea0e8dac73fc78cb609b6017bde9a\"\u003e\u003ccode\u003e9381ad8\u003c/code\u003e\u003c/a\u003e Remove outdated version marker directives (\u0026lt; 2.8.0) from documentation (\u003ca href=\"https://redirect.github.com/scrapy/scrapy/issues/7198\"\u003e#7198\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scrapy/scrapy/commit/180ca39b230590a2a2862c8d18c574661b1d16ad\"\u003e\u003ccode\u003e180ca39\u003c/code\u003e\u003c/a\u003e Deprecate returning Deferreds from pipeline methods (\u003ca href=\"https://redirect.github.com/scrapy/scrapy/issues/7179\"\u003e#7179\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scrapy/scrapy/commit/5a7e132486f3337956f684fffcac77cb6ad5a8d2\"\u003e\u003ccode\u003e5a7e132\u003c/code\u003e\u003c/a\u003e Restore and deprecate the spider arg of Downloader._get_slot(). (\u003ca href=\"https://redirect.github.com/scrapy/scrapy/issues/7178\"\u003e#7178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scrapy/scrapy/commit/c49ae2115afd05afd7d0175f392e262e01b2779e\"\u003e\u003ccode\u003ec49ae21\u003c/code\u003e\u003c/a\u003e Refactor MediaPipeline.process_item() to async def (\u003ca href=\"https://redirect.github.com/scrapy/scrapy/issues/7177\"\u003e#7177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scrapy/scrapy/commit/588f3d4f65e292424d227e8a0498bcba2d395781\"\u003e\u003ccode\u003e588f3d4\u003c/code\u003e\u003c/a\u003e Remove docs mentioning deprecated spider attrs. (\u003ca href=\"https://redirect.github.com/scrapy/scrapy/issues/7176\"\u003e#7176\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scrapy/scrapy/commit/d8583a89c7f9d5a444ef48039af1101c0cbfcef8\"\u003e\u003ccode\u003ed8583a8\u003c/code\u003e\u003c/a\u003e Change default priority queue to DownloaderAwarePriorityQueue (\u003ca href=\"https://redirect.github.com/scrapy/scrapy/issues/6940\"\u003e#6940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/scrapy/scrapy/compare/2.13.2...2.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `simplejson` from 3.20.1 to 3.20.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/simplejson/simplejson/releases\"\u003esimplejson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.20.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a test for the min and max floats by \u003ca href=\"https://github.com/etrepum\"\u003e\u003ccode\u003e@​etrepum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/337\"\u003esimplejson/simplejson#337\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDisable speedups on GraalPy same as on PyPy by \u003ca href=\"https://github.com/timfel\"\u003e\u003ccode\u003e@​timfel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/339\"\u003esimplejson/simplejson#339\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate changelog and version for v3.20.2 by \u003ca href=\"https://github.com/etrepum\"\u003e\u003ccode\u003e@​etrepum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/340\"\u003esimplejson/simplejson#340\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/timfel\"\u003e\u003ccode\u003e@​timfel\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/339\"\u003esimplejson/simplejson#339\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/simplejson/simplejson/compare/v3.20.1...v3.20.2\"\u003ehttps://github.com/simplejson/simplejson/compare/v3.20.1...v3.20.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/simplejson/simplejson/blob/master/CHANGES.txt\"\u003esimplejson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eVersion 3.20.2 released 2025-09-24\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDisable speedups on GraalPy smae as on PyPy\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/339\"\u003esimplejson/simplejson#339\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 3.20.1 released 2025-02-14\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDo not memoize keys before they are coerced to string\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/329\"\u003esimplejson/simplejson#329\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 3.19.3 released 2024-08-14\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated test \u0026amp; build matrix to include Python 3.13.\nDropped wheel support for Python 2.7 on macOS.\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/326\"\u003esimplejson/simplejson#326\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 3.19.2 released 2023-10-05\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated test \u0026amp; build matrix to include Python 3.12 and use\nGitHub Actions as a Trusted Publisher (OIDC)\n\u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/317\"\u003esimplejson/simplejson#317\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 3.19.1 released 2023-04-06\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThis release contains security hardening measures based on recommendations\nby a security audit sponsored by OSTIF and conducted by X41 D-Sec GmbH.\nSeveral of these measures include changing defaults to be more strict,\nby default simplejson will now only consume and produce compliant JSON,\nbut the flags still exist for any backwards compatibility needs.\nNo high priority issues were discovered, the reference count\nleak is thought to be unreachable since the digits of the float are\nchecked before PyOS_string_to_double is called.\nA link to the public version of this report will be included in a\nfuture release of simplejson. The following fixes were implemented in\none PR: \u003ca href=\"https://redirect.github.com/simplejson/simplejson/pull/313\"\u003esimplejson/simplejson#313\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix invalid handling of unicode escape sequences in the pure Python\nimplementation of the decoder (SJ-PT-23-01)\u003c/li\u003e\n\u003cli\u003eFix missing reference count decrease if PyOS_string_to_double raises\nan exception in Python 2.x; was probably unreachable (SJ-PT-23-02)\u003c/li\u003e\n\u003cli\u003eBackport the integer string length limitation from Python 3.11 to\nlimit quadratic number parsing (SJ-PT-23-03)\u003c/li\u003e\n\u003cli\u003eFix inconsistencies with error messages between the C and Python\nimplementations (SJ-PT-23-100)\u003c/li\u003e\n\u003cli\u003eRemove unused unichr import from encoder (SJ-PT-23-101)\u003c/li\u003e\n\u003cli\u003eRemove unused namedtuple_as_object and tuple_as_array arguments from\nsimplejson.load (SJ-PT-23-102)\u003c/li\u003e\n\u003cli\u003eRemove vestigial _one_shot code from iterencode (SJ-PT-23-103)\u003c/li\u003e\n\u003cli\u003eChange default of allow_nan from True to False and add allow_nan\nto decoder (SJ-PT-23-107)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/10e5aaffd4823faf5dedcea8bc43ce2c82c5ca4c\"\u003e\u003ccode\u003e10e5aaf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/340\"\u003e#340\u003c/a\u003e from simplejson/changes-v3.20.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/39ba9df4cbbb3845ee0c778ba646a94777ccf7e5\"\u003e\u003ccode\u003e39ba9df\u003c/code\u003e\u003c/a\u003e Update changelog and version for v3.20.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/5f9f96fe83fb33d371d35d99ae028a8e7c0f574f\"\u003e\u003ccode\u003e5f9f96f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/339\"\u003e#339\u003c/a\u003e from timfel/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/feb07a3f18a0c5672af154fbc8bb4e39a638242d\"\u003e\u003ccode\u003efeb07a3\u003c/code\u003e\u003c/a\u003e Test pure Python code, also on PyPy and GraalPy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/ae69b83218dd1e250b3e2158f924ab6b7b9ea75d\"\u003e\u003ccode\u003eae69b83\u003c/code\u003e\u003c/a\u003e Disable speedups on GraalPy same as on PyPy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/fd905ba3d7fe7bc8acc6f797f17145234cd65df9\"\u003e\u003ccode\u003efd905ba\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/simplejson/simplejson/issues/337\"\u003e#337\u003c/a\u003e from simplejson/float-range\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/simplejson/simplejson/commit/92c0230c6038a1a7b4736c7d63c28b44eb76f256\"\u003e\u003ccode\u003e92c0230\u003c/code\u003e\u003c/a\u003e Add a test for the min and max floats\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/simplejson/simplejson/compare/v3.20.1...v3.20.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `geoalchemy2` from 0.17.1 to 0.18.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/geoalchemy/geoalchemy2/releases\"\u003egeoalchemy2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.18.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix (mysql): Fix failing test for MySQL dialect by \u003ca href=\"https://github.com/google-labs-jules\"\u003e\u003ccode\u003e@​google-labs-jules\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/567\"\u003egeoalchemy/geoalchemy2#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/570\"\u003egeoalchemy/geoalchemy2#570\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Allow scientific notation within WKT string by \u003ca href=\"https://github.com/autermann\"\u003e\u003ccode\u003e@​autermann\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/573\"\u003egeoalchemy/geoalchemy2#573\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease: 0.18.1 by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/574\"\u003egeoalchemy/geoalchemy2#574\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/google-labs-jules\"\u003e\u003ccode\u003e@​google-labs-jules\u003c/code\u003e\u003c/a\u003e[bot] made their first contribution in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/567\"\u003egeoalchemy/geoalchemy2#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/autermann\"\u003e\u003ccode\u003e@​autermann\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/573\"\u003egeoalchemy/geoalchemy2#573\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/geoalchemy/geoalchemy2/compare/0.18.0...0.18.1\"\u003ehttps://github.com/geoalchemy/geoalchemy2/compare/0.18.0...0.18.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.18.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBuild: Deprecate Py\u0026lt;3.10 by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/538\"\u003egeoalchemy/geoalchemy2#538\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeat: Add more return types for spatial functions and update some typehints by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/540\"\u003egeoalchemy/geoalchemy2#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCompile literal binds by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/543\"\u003egeoalchemy/geoalchemy2#543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeat: Improve Geometry initializer to make the dimension optional by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/544\"\u003egeoalchemy/geoalchemy2#544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore (mariadb): Stop converting WKB to WKT by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/545\"\u003egeoalchemy/geoalchemy2#545\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs: Update doc to run the tests inside docker containers by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/546\"\u003egeoalchemy/geoalchemy2#546\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest: Add benchmark tests by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/547\"\u003egeoalchemy/geoalchemy2#547\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest: Add more benchmarks by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/553\"\u003egeoalchemy/geoalchemy2#553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore: Create FUNDING.yml by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/554\"\u003egeoalchemy/geoalchemy2#554\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest: Improve readbility of benchmark results by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/556\"\u003egeoalchemy/geoalchemy2#556\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePerf: Define \u003cstrong\u003eslots\u003c/strong\u003e in element classes to reduce memory usage of elements by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/555\"\u003egeoalchemy/geoalchemy2#555\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeat: Handle computed columns by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/557\"\u003egeoalchemy/geoalchemy2#557\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Remove warning message from MySQL/MariaDB reflection by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/560\"\u003egeoalchemy/geoalchemy2#560\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore: Move reflection type registering by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/561\"\u003egeoalchemy/geoalchemy2#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs: correct doc strings by \u003ca href=\"https://github.com/pjonsson\"\u003e\u003ccode\u003e@​pjonsson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/562\"\u003egeoalchemy/geoalchemy2#562\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeat: Add support of spatial indexes for Raster type for PostgreSQL by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/564\"\u003egeoalchemy/geoalchemy2#564\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease: 0.18.0 by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/565\"\u003egeoalchemy/geoalchemy2#565\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/pjonsson\"\u003e\u003ccode\u003e@​pjonsson\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/562\"\u003egeoalchemy/geoalchemy2#562\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/geoalchemy/geoalchemy2/compare/0.17.1...0.18.0\"\u003ehttps://github.com/geoalchemy/geoalchemy2/compare/0.17.1...0.18.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/geoalchemy/geoalchemy2/blob/master/CHANGES.txt\"\u003egeoalchemy2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.18.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Allow scientific notation within WKT string - \u003ca href=\"https://github.com/autermann\"\u003e\u003ccode\u003e@​autermann\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix (mysql): Fix failing test for MySQL dialect - \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.18.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeat: Add support of spatial indexes for Raster type for PostgreSQL \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocs: Fix doc strings for cache enabled - \u003ca href=\"https://github.com/pjonsson\"\u003e\u003ccode\u003e@​pjonsson\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/562\"\u003e#562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore: Move reflection type registering \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e(papacodebear/master) Fix: Remove warning from MySQL/MariaDB reflection \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/560\"\u003e#560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat: Handle computed columns \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/557\"\u003e#557\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest: Improve readability of benchmark results \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/556\"\u003e#556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePerf: Define \u003cstrong\u003eslots\u003c/strong\u003e in element classes to reduce memory usage of elements \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/555\"\u003e#555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore: Create FUNDING.yml \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/554\"\u003e#554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest: Add more benchmarks \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/553\"\u003e#553\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest: Add benchmark tests \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/547\"\u003e#547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocs: Update doc to run the tests inside docker container \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/546\"\u003e#546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePerf (mariadb): Stop converting WKB to WKT \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/545\"\u003e#545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat: Improve Geometry initializer to make the dimension optional \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/544\"\u003e#544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat: Compile literal binds properly \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/543\"\u003e#543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat: Add more return types for spatial functions and update some typehints \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/540\"\u003e#540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBuild: Deprecate Py\u0026lt;3.10 \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/538\"\u003e#538\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/geoalchemy/geoalchemy2/commit/0c311122e5228a885e262d8f79b037cb74c0949b\"\u003e\u003ccode\u003e0c31112\u003c/code\u003e\u003c/a\u003e Release: 0.18.1 (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/574\"\u003e#574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/75f87fac699ed31579ef93dffc59cc25bda241a8\"\u003e\u003ccode\u003e75f87fa\u003c/code\u003e\u003c/a\u003e Fix: Allow scientific notation within WKT string (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/8653df3a1b0236556f1c39c916f0fb717475a6d1\"\u003e\u003ccode\u003e8653df3\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/570\"\u003e#570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/3d6099504023afda68137f0ac2d041986159dac9\"\u003e\u003ccode\u003e3d60995\u003c/code\u003e\u003c/a\u003e Fix (mysql): Fix failing test for MySQL dialect (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/60767082df9f4587fadd56ab94847ebc39df8295\"\u003e\u003ccode\u003e6076708\u003c/code\u003e\u003c/a\u003e Release: 0.18.0 (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/565\"\u003e#565\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/e13112177bdf79cae0d72a6e89d815dc272e3dc5\"\u003e\u003ccode\u003ee131121\u003c/code\u003e\u003c/a\u003e Feat: Add support of spatial indexes for Raster type for PostgreSQL (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/0b432086a0c3b8ab160c5cc1864aa65e02f35362\"\u003e\u003ccode\u003e0b43208\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/563\"\u003e#563\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/8791b2eec013f21f599ca060d9fee4aba72ec2a1\"\u003e\u003ccode\u003e8791b2e\u003c/code\u003e\u003c/a\u003e Docs: Fix doc strings for cache enabled (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/562\"\u003e#562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/d3c1d04c8b462c61132403e44a7a4f04a487c142\"\u003e\u003ccode\u003ed3c1d04\u003c/code\u003e\u003c/a\u003e Chore: Move reflection type registering (\u003ca href=\"https://redirect.github...\n\n_Description has been truncated_","html_url":"https://github.com/MTES-MCT/monitorfish/pull/4722","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MTES-MCT%2Fmonitorfish/issues/4722","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4722/packages"}},{"old_version":"8.1.7","new_version":"8.1.8","update_type":"patch","path":null,"pr_created_at":"2026-01-01T18:03:29.000Z","version_change":"8.1.7 → 8.1.8","issue":{"uuid":"3774973552","node_id":"PR_kwDOATzq8M67N5FM","number":3721,"state":"open","title":"Bump the pip group across 1 directory with 31 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-01-01T18:03:29.000Z","updated_at":"2026-02-01T20:00:18.573Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"pip","update_count":31,"packages":[{"name":"beautifulsoup4","old_version":"4.13.4","new_version":"4.14.3"},{"name":"biopython","old_version":"1.85","new_version":"1.86","repository_url":"https://github.com/biopython/biopython"},{"name":"bokeh","old_version":"3.6.2","new_version":"3.8.1","repository_url":"https://github.com/bokeh/bokeh"},{"name":"certifi","old_version":"2025.7.14","new_version":"2025.11.12","repository_url":"https://github.com/certifi/python-certifi"},{"name":"cryptography","old_version":"45.0.5","new_version":"46.0.3","repository_url":"https://github.com/pyca/cryptography"},{"name":"idna","old_version":"3.10","new_version":"3.11","repository_url":"https://github.com/kjd/idna"},{"name":"jsonschema","old_version":"4.25.0","new_version":"4.25.1","repository_url":"https://github.com/python-jsonschema/jsonschema"},{"name":"markdown","old_version":"3.8.2","new_version":"3.10","repository_url":"https://github.com/Python-Markdown/markdown"},{"name":"markupsafe","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/pallets/markupsafe"},{"name":"networkx","old_version":"3.4.2","new_version":"3.6.1","repository_url":"https://github.com/networkx/networkx"},{"name":"numpy","old_version":"2.2.3","new_version":"2.4.0","repository_url":"https://github.com/numpy/numpy"},{"name":"pillow","old_version":"11.3.0","new_version":"12.0.0","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"plotly","old_version":"6.2.0","new_version":"6.5.0","repository_url":"https://github.com/plotly/plotly.py"},{"name":"pycurl","old_version":"7.45.6","new_version":"7.45.7","repository_url":"https://github.com/pycurl/pycurl"},{"name":"pyopenssl","old_version":"25.1.0","new_version":"25.3.0","repository_url":"https://github.com/pyca/pyopenssl"},{"name":"scipy","old_version":"1.15.2","new_version":"1.16.3","repository_url":"https://github.com/scipy/scipy"},{"name":"wordcloud","old_version":"1.9.4","new_version":"1.9.5","repository_url":"https://github.com/amueller/word_cloud"},{"name":"ipython","old_version":"8.33.0","new_version":"9.8.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":"pandas","old_version":"2.3.1","new_version":"2.3.3","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"pymongo","old_version":"4.13.2","new_version":"4.15.5","repository_url":"https://github.com/mongodb/mongo-python-driver"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"requests","old_version":"2.32.4","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"scikit-learn","old_version":"1.6.1","new_version":"1.8.0","repository_url":"https://github.com/scikit-learn/scikit-learn"},{"name":"statsmodels","old_version":"0.14.5","new_version":"0.14.6","repository_url":"https://github.com/statsmodels/statsmodels"},{"name":"tornado","old_version":"6.5.1","new_version":"6.5.4","repository_url":"https://github.com/tornadoweb/tornado"},{"name":"coverage","old_version":"7.10.1","new_version":"7.13.1","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"pytest","old_version":"8.4.1","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"6.2.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"ruff","old_version":"0.12.7","new_version":"0.14.10","repository_url":"https://github.com/astral-sh/ruff"},{"name":"vcrpy","old_version":"7.0.0","new_version":"8.1.0","repository_url":"https://github.com/kevin1024/vcrpy"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 31 updates in the /src directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.13.4` | `4.14.3` |\n| [biopython](https://github.com/biopython/biopython) | `1.85` | `1.86` |\n| [bokeh](https://github.com/bokeh/bokeh) | `3.6.2` | `3.8.1` |\n| [certifi](https://github.com/certifi/python-certifi) | `2025.7.14` | `2025.11.12` |\n| [cryptography](https://github.com/pyca/cryptography) | `45.0.5` | `46.0.3` |\n| [idna](https://github.com/kjd/idna) | `3.10` | `3.11` |\n| [jsonschema](https://github.com/python-jsonschema/jsonschema) | `4.25.0` | `4.25.1` |\n| [markdown](https://github.com/Python-Markdown/markdown) | `3.8.2` | `3.10` |\n| [markupsafe](https://github.com/pallets/markupsafe) | `3.0.2` | `3.0.3` |\n| [networkx](https://github.com/networkx/networkx) | `3.4.2` | `3.6.1` |\n| [numpy](https://github.com/numpy/numpy) | `2.2.3` | `2.4.0` |\n| [pillow](https://github.com/python-pillow/Pillow) | `11.3.0` | `12.0.0` |\n| [plotly](https://github.com/plotly/plotly.py) | `6.2.0` | `6.5.0` |\n| [pycurl](https://github.com/pycurl/pycurl) | `7.45.6` | `7.45.7` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `25.1.0` | `25.3.0` |\n| [scipy](https://github.com/scipy/scipy) | `1.15.2` | `1.16.3` |\n| [wordcloud](https://github.com/amueller/word_cloud) | `1.9.4` | `1.9.5` |\n| [ipython](https://github.com/ipython/ipython) | `8.33.0` | `9.8.0` |\n| [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) | `8.1.7` | `8.1.8` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.1` | `2.3.3` |\n| [pymongo](https://github.com/mongodb/mongo-python-driver) | `4.13.2` | `4.15.5` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [requests](https://github.com/psf/requests) | `2.32.4` | `2.32.5` |\n| [scikit-learn](https://github.com/scikit-learn/scikit-learn) | `1.6.1` | `1.8.0` |\n| [statsmodels](https://github.com/statsmodels/statsmodels) | `0.14.5` | `0.14.6` |\n| [tornado](https://github.com/tornadoweb/tornado) | `6.5.1` | `6.5.4` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.10.1` | `7.13.1` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.1` | `9.0.2` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.2.1` | `7.0.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.12.7` | `0.14.10` |\n| [vcrpy](https://github.com/kevin1024/vcrpy) | `7.0.0` | `8.1.0` |\n\n\nUpdates `beautifulsoup4` from 4.13.4 to 4.14.3\n\nUpdates `biopython` from 1.85 to 1.86\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/biopython/biopython/blob/master/NEWS.rst\"\u003ebiopython's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e28 October 2025: Biopython 1.86\u003c/h1\u003e\n\u003cp\u003eThis release of Biopython supports Python 3.10, 3.11, 3.12, 3.13 and 3.14.  It\nhas also been tested on PyPy3.10 v7.3.19.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.SearchIO\u003c/code\u003e now supports parsing the tabular and plain text output of\n\u003ccode\u003eInfernal \u0026lt;http://eddylab.org/infernal/\u0026gt;\u003c/code\u003e (v1.0.0+) RNA search tool. The\nformat names are \u003ccode\u003einfernal-tab\u003c/code\u003e and \u003ccode\u003einfernal-text\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe default value of the gap score of a \u003ccode\u003ePairwiseAligner\u003c/code\u003e object was changed\nin this release.  Previously, for consistency with \u003ccode\u003eBio.pairwise2\u003c/code\u003e, the\ndefault value for gap score was 0.  However, this means that a mismatch, an\ninsertion followed by a deletion, and a deletion followed by an insertion all\nget assigned a score of 0.  The aligner then finds a large number of alignments\nthat are logically the same, but have trivial differences between them.  For\nexample, aligning AAACAAA to AAAGAAA previously yielded the following three\nalignments, all with score 6::\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e AAACAAA        AAAC-AAA        AAA-CAAA\n AAAGAAA        AAA-GAAA        AAAG-AAA\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eWith the new default parameter for the gap score, only the first alignment is\nreturned.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.PDB.PDBIO\u003c/code\u003e now ensures that b-factor values are always at most 6 characters to\nensure that we do not violate the wwPDB specification. This should not have an impact\non the majority of uses, as b-factor values are generally small (less than 100). When\n1000 \u0026lt;= b-factor \u0026lt; 10_000, the value is rounded to a single decimal place. When,\n10_000 \u0026lt;= b-factor \u0026lt; 999_999, the value is rounded to zero decimal places. Values\nabove 999_999 are now clamped. The justification for this is the rise in the b-factor\nfield being used for additional metadata, typically from computational tools.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.Align\u003c/code\u003e now provides a method \u003ccode\u003eAlignment.from_alignments_with_same_reference\u003c/code\u003e\nto construct a multiple sequence alignment from a collection of alignments\nthat share the same reference sequence.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.PDB.PDBIO\u003c/code\u003e will now raise module specific warnings:\n\u003ccode\u003eBio.PDB.PDBExceptions.PDBIOWarning\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.PDB.SCADIO\u003c/code\u003e now supports object selection by color in the OpenSCAD\noutput file.  This enables generation of separate STL files for each color for\nprinting protein structures on multi-material 3D printers.\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003eiplotx\u003c/code\u003e library is mentioned in the Tutorial as an option to visualise\ntrees using complex style options.\u003c/p\u003e\n\u003cp\u003eMany thanks to the Biopython developers and community for making this release\npossible, especially the following contributors:\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\u003eSee full diff in \u003ca href=\"https://github.com/biopython/biopython/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bokeh` from 3.6.2 to 3.8.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bokeh/bokeh/blob/3.8.1/docs/CHANGELOG\"\u003ebokeh's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2025-11-07    3.8.1:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ebugfixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14618\"\u003e#14618\u003c/a\u003e [component: docs] Local documentation build fails with \u003ccode\u003eExtension error (sphinxext.opengraph)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14626\"\u003e#14626\u003c/a\u003e [component: docs] Local documentation fails on Windows because of missing svg icons\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14651\"\u003e#14651\u003c/a\u003e [component: bokehjs] HoverTool parameter @$name for stacked bar chart not working in version 3.8.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003etasks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14704\"\u003e#14704\u003c/a\u003e Backports for 3.8.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2025-08-29      3.8:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ebugfixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/12430\"\u003e#12430\u003c/a\u003e [component: bokehjs] [BUG] Step glyphs do not support linked brushing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/12994\"\u003e#12994\u003c/a\u003e [component: bokehjs] [BUG] Patch does not output under certain conditions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/13616\"\u003e#13616\u003c/a\u003e [component: bokehjs] [BUG] DateRangePicker value does not reflect value in browser when selection is aborted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14334\"\u003e#14334\u003c/a\u003e js_on_change not firing when range is updated in range tool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14352\"\u003e#14352\u003c/a\u003e [component: bokehjs] Log Axis and Range1d \u0026lt; 1 failing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14383\"\u003e#14383\u003c/a\u003e [component: bokehjs] \u003ccode\u003eSerializationError: circular reference\u003c/code\u003e When Passing List of Renderers to CustomJS Callbacks, but not when passing renderers sperately.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14396\"\u003e#14396\u003c/a\u003e [component: examples] Remove context from time of day in span example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14399\"\u003e#14399\u003c/a\u003e Bad typings for \u003ccode\u003elist_attr_splat\u003c/code\u003e (e.g. \u003ccode\u003ePlot.axis\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14413\"\u003e#14413\u003c/a\u003e [component: bokehjs] \u003ccode\u003eValueRef\u003c/code\u003e \u003ccode\u003eformatter\u003c/code\u003e does not handle datetime nullable well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14420\"\u003e#14420\u003c/a\u003e [component: bokehjs] Enhance performance of WebGL multi_marker\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14422\"\u003e#14422\u003c/a\u003e [component: bokehjs] Legend renderer not correctly positioned when saved with SaveTool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14424\"\u003e#14424\u003c/a\u003e [component: bokehjs] Patches with no data does not show plot with Bokeh 3.7+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14458\"\u003e#14458\u003c/a\u003e [component: bokehjs] Removing and re-adding DOM nodes causes React problems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14461\"\u003e#14461\u003c/a\u003e [component: tests] The regression test for issue \u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14207\"\u003e#14207\u003c/a\u003e is unreliable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14468\"\u003e#14468\u003c/a\u003e [component: docs] Try on CodePen link does not work in documentation /docs/user_guide/advanced/bokehjs.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14469\"\u003e#14469\u003c/a\u003e [component: bokehjs] Canvas2D: Multiple readback operations using getImageData are faster with the willReadFrequently attribute set to true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14476\"\u003e#14476\u003c/a\u003e Improve handling of pd.NA in Property.matches\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14497\"\u003e#14497\u003c/a\u003e mypy 1.15.0 fails in CI but not locally\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14499\"\u003e#14499\u003c/a\u003e [component: docs] IndexError on importing bokeh.sphinxext.bokeh_plot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14520\"\u003e#14520\u003c/a\u003e [component: bokehjs] BokehJS complains about categorical factors for the BoxAnnotation widget\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14536\"\u003e#14536\u003c/a\u003e Flex layouts need to apply \u003ccode\u003emin_width\u003c/code\u003e and \u003ccode\u003emin_height\u003c/code\u003e selectively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14540\"\u003e#14540\u003c/a\u003e [component: tests] Tests are failing on Windows and Python 3.10 after PR \u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14531\"\u003e#14531\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14541\"\u003e#14541\u003c/a\u003e New SVG icons have inconsistent line widths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14554\"\u003e#14554\u003c/a\u003e Add support for scalar uint32 color input.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14565\"\u003e#14565\u003c/a\u003e [component: bokehjs] DataTable source update broken\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14574\"\u003e#14574\u003c/a\u003e [component: build] grammar build script failing with whitespace in path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14597\"\u003e#14597\u003c/a\u003e [component: bokehjs] \u003ccode\u003edocument_ready\u003c/code\u003e even trigger twice with Bokeh 3.4.0.dev4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14602\"\u003e#14602\u003c/a\u003e [component: bokehjs] Layoutable components in side panels don't appear in exported images\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14620\"\u003e#14620\u003c/a\u003e Re-connect race condition on page reload\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/2603\"\u003e#2603\u003c/a\u003e [component: bokehjs] Add a SizeBar guide to label relative scatter glyph sizes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/7338\"\u003e#7338\u003c/a\u003e Setting areas for the activation of the hover.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/8608\"\u003e#8608\u003c/a\u003e [component: bokehjs] [Feature request] automatic reconnect to server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/9087\"\u003e#9087\u003c/a\u003e [component: bokehjs] Provide hit_filter property on HoverTool and TapTool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/9327\"\u003e#9327\u003c/a\u003e [component: bokehjs] [BUG] Not possible to disable multi-select behavior for DataTable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/12375\"\u003e#12375\u003c/a\u003e [FEATURE] Set axis label at a fixed distance from the axis\u003c/li\u003e\n\u003c/ul\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/bokeh/bokeh/commit/7e37a6395b36d3249a4d45263ddc2a26a7234906\"\u003e\u003ccode\u003e7e37a63\u003c/code\u003e\u003c/a\u003e Deployment updates for release 3.8.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/838b7c33f60bbca68374763f910d3c7e42836529\"\u003e\u003ccode\u003e838b7c3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14704\"\u003e#14704\u003c/a\u003e from bokeh/mattpap/3.8.1_backports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/477afb390d0993653ec899cde532fa49492d2129\"\u003e\u003ccode\u003e477afb3\u003c/code\u003e\u003c/a\u003e Added release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/360d9d683f24615af0e9c4c5dfc9c770248f5d5f\"\u003e\u003ccode\u003e360d9d6\u003c/code\u003e\u003c/a\u003e set minimal version of sphinxext-opengraph to 0.11.0 (\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14625\"\u003e#14625\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/fd662c1297b1bc8ff927b5df9948e1926a2c8243\"\u003e\u003ccode\u003efd662c1\u003c/code\u003e\u003c/a\u003e add copy and delete for svg icons to make.bat (\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14627\"\u003e#14627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/9f9d602e37adc82f2bd5b2a1e915058786c7a40b\"\u003e\u003ccode\u003e9f9d602\u003c/code\u003e\u003c/a\u003e Restore @$name support and improve replace_placeholders() (\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14652\"\u003e#14652\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/b63f69158d88b5d2e7ab58b2be434d9acc7c20c8\"\u003e\u003ccode\u003eb63f691\u003c/code\u003e\u003c/a\u003e Update switcher.json\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/6431bdfdb92fc71c784700aeeca46a65ab0d9e9f\"\u003e\u003ccode\u003e6431bdf\u003c/code\u003e\u003c/a\u003e Merge deployment staging branch staging-3.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/237861996ad5f1738b8c71d90bed5977e072930b\"\u003e\u003ccode\u003e2378619\u003c/code\u003e\u003c/a\u003e Deployment updates for release 3.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/b83c74d19657baaeb1f9cdcc68f453169ecf9a18\"\u003e\u003ccode\u003eb83c74d\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003eswitcher.json\u003c/code\u003e for 3.8 release (\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14623\"\u003e#14623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bokeh/bokeh/compare/3.6.2...3.8.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2025.7.14 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\u003eSee full diff in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2025.07.14...2025.11.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 45.0.5 to 46.0.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e46.0.3 - 2025-10-15\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed compilation when using LibreSSL 4.2.0.\n\u003cp\u003e.. _v46-0-2:\u003c/p\u003e\n\u003cp\u003e46.0.2 - 2025-09-30\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.4.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-1:\u003c/p\u003e\n\u003cp\u003e46.0.1 - 2025-09-16\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed an issue where users installing via ``pip`` on Python 3.14 development\n  versions would not properly install a dependency.\n* Fixed an issue building the free-threaded macOS 3.14 wheels.\n\u003cp\u003e.. _v46-0-0:\u003c/p\u003e\n\u003cp\u003e46.0.0 - 2025-09-16\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBACKWARDS INCOMPATIBLE:\u003c/strong\u003e Support for Python 3.7 has been removed.\u003c/li\u003e\n\u003cli\u003eSupport for OpenSSL \u0026lt; 3.0 is deprecated and will be removed in the next\nrelease.\u003c/li\u003e\n\u003cli\u003eSupport for \u003ccode\u003ex86_64\u003c/code\u003e macOS (including publishing wheels) is deprecated\nand will be removed in two releases. We will switch to publishing an\n\u003ccode\u003earm64\u003c/code\u003e only wheel for macOS.\u003c/li\u003e\n\u003cli\u003eSupport for 32-bit Windows (including publishing wheels) is deprecated\nand will be removed in two releases. Users should move to a 64-bit\nPython installation.\u003c/li\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.3.\u003c/li\u003e\n\u003cli\u003eWe now build \u003ccode\u003eppc64le\u003c/code\u003e \u003ccode\u003emanylinux\u003c/code\u003e wheels and publish them to PyPI.\u003c/li\u003e\n\u003cli\u003eWe now build \u003ccode\u003ewin_arm64\u003c/code\u003e (Windows on Arm) wheels and publish them to PyPI.\u003c/li\u003e\n\u003cli\u003eAdded support for free-threaded Python 3.14.\u003c/li\u003e\n\u003cli\u003eRemoved the deprecated \u003ccode\u003eget_attribute_for_oid\u003c/code\u003e method on\n:class:\u003ccode\u003e~cryptography.x509.CertificateSigningRequest\u003c/code\u003e. Users should use\n:meth:\u003ccode\u003e~cryptography.x509.Attributes.get_attribute_for_oid\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003eRemoved the deprecated \u003ccode\u003eCAST5\u003c/code\u003e, \u003ccode\u003eSEED\u003c/code\u003e, \u003ccode\u003eIDEA\u003c/code\u003e, and \u003ccode\u003eBlowfish\u003c/code\u003e\nclasses from the cipher module. These are still available in\n:doc:\u003ccode\u003e/hazmat/decrepit/index\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eIn X.509, when performing a PSS signature with a SHA-3 hash, it is now\nencoded with the official NIST SHA3 OID.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v45-0-7:\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/pyca/cryptography/commit/c0af4dd7b75921bbe9f1d41a03dbd4b64a9e3403\"\u003e\u003ccode\u003ec0af4dd\u003c/code\u003e\u003c/a\u003e release 46.0.3 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13681\"\u003e#13681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/99efe5ad150a56efadafacaffd0e3ee319373904\"\u003e\u003ccode\u003e99efe5a\u003c/code\u003e\u003c/a\u003e bump version for 46.0.2 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13531\"\u003e#13531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e735cfc27502320101c130335c556394a125ba52\"\u003e\u003ccode\u003ee735cfc\u003c/code\u003e\u003c/a\u003e release 46.0.1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13450\"\u003e#13450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/4e457ffba43a6d87efc63c33041e2081438dd8a4\"\u003e\u003ccode\u003e4e457ff\u003c/code\u003e\u003c/a\u003e Explicitly specify python in mac uv build invocation (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13447\"\u003e#13447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/2726efdb6d67f1c90cf9c6062d9fe051965586f8\"\u003e\u003ccode\u003e2726efd\u003c/code\u003e\u003c/a\u003e Depend on CFFI 2.0.0 or newer on Python \u0026gt; 3.8 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13448\"\u003e#13448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/62230623d183706632c0eb7822c96ac95e3710a8\"\u003e\u003ccode\u003e6223062\u003c/code\u003e\u003c/a\u003e release 46.0.0 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13446\"\u003e#13446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/563c4915b0931455706f761a4579c26698824eae\"\u003e\u003ccode\u003e563c491\u003c/code\u003e\u003c/a\u003e Update comment for pyopenssl-release tag (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13445\"\u003e#13445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/d2f6f7faced35b73277bc624ff496f8af696b172\"\u003e\u003ccode\u003ed2f6f7f\u003c/code\u003e\u003c/a\u003e Bump downstream dependencies in CI (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13439\"\u003e#13439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e7ab02bd679d0b4f55d93486fe27e62554ef15d4\"\u003e\u003ccode\u003ee7ab02b\u003c/code\u003e\u003c/a\u003e we'll ship this with 3.5.3 why not (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13442\"\u003e#13442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/0b68a4bffb61202e4d4f5074cd30c2b9d15f429e\"\u003e\u003ccode\u003e0b68a4b\u003c/code\u003e\u003c/a\u003e Another pair of bump dependencies fix (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13444\"\u003e#13444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/cryptography/compare/45.0.5...46.0.3\"\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 `jsonschema` from 4.25.0 to 4.25.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/releases\"\u003ejsonschema's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.25.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidator\u003c/code\u003e protocol init to match runtime by \u003ca href=\"https://github.com/sirosen\"\u003e\u003ccode\u003e@​sirosen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1396\"\u003epython-jsonschema/jsonschema#1396\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-jsonschema/jsonschema/compare/v4.25.0...v4.25.1\"\u003ehttps://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.25.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst\"\u003ejsonschema's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev4.25.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix an incorrect required argument in the \u003ccode\u003eValidator\u003c/code\u003e protocol's type annotations (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1396\"\u003e#1396\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/331c38425519b69118d22ebe467ad230fb83a010\"\u003e\u003ccode\u003e331c384\u003c/code\u003e\u003c/a\u003e Add the fix to the changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/c1ec0a645e913e83de95995f6efbbd358676abf6\"\u003e\u003ccode\u003ec1ec0a6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1398\"\u003e#1398\u003c/a\u003e from python-jsonschema/dependabot/github_actions/ast...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/8e7d594faff13f8f663b306a0d86bea0ce5de6cb\"\u003e\u003ccode\u003e8e7d594\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1399\"\u003e#1399\u003c/a\u003e from python-jsonschema/dependabot/github_actions/act...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/460f4fae42664773160f56ccc843a4fcea34f7cf\"\u003e\u003ccode\u003e460f4fa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1396\"\u003e#1396\u003c/a\u003e from sirosen/improve-protocol-init-signature\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/1e58409b71a9696b7bf9938ae8a3a48ef95ab29e\"\u003e\u003ccode\u003e1e58409\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] auto fixes from pre-commit.com hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/64bc2171624ef201bdbf35e47780348ce30935c5\"\u003e\u003ccode\u003e64bc217\u003c/code\u003e\u003c/a\u003e Add a typing test for the Validator protocol\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/6c25741bff889477680f9b0d1aa967ae35c38f43\"\u003e\u003ccode\u003e6c25741\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/bf603d59117f840916709fc87c6625df43d1fe72\"\u003e\u003ccode\u003ebf603d5\u003c/code\u003e\u003c/a\u003e Bump astral-sh/setup-uv from 6.4.3 to 6.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/a916d8f8253baa11bacc60f0868f0bab1e42d526\"\u003e\u003ccode\u003ea916d8f\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eValidator\u003c/code\u003e protocol init to match runtime\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/de60f18bd97395a52a11b561eb62963e0ffe9e71\"\u003e\u003ccode\u003ede60f18\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1397\"\u003e#1397\u003c/a\u003e from python-jsonschema/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.25.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `markdown` from 3.8.2 to 3.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Python-Markdown/markdown/releases\"\u003emarkdown's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 3.10.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOfficially support Python 3.14 and PyPy 3.11 and drop support for Python 3.9\nand PyPy 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix an HTML comment parsing case in some Python versions that can cause an\ninfinite loop (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1554\"\u003e#1554\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRevert the default behavior of \u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e (to \u003ccode\u003eTrue\u003c/code\u003e). The new\nbehavior introduced in 3.9.0 is experimental and results are inconsistent.\nIt should not have been made the default behavior (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1561\"\u003e#1561\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.9.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFootnotes are now ordered by the occurrence of their references in the\ndocument. A new configuration option for the footnotes extension,\n\u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e, has been added to support restoring the previous\nbehavior of ordering footnotes by the occurrence of definitions (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1367\"\u003e#1367\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure inline processing iterates through elements in document order (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1546\"\u003e#1546\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix handling of incomplete HTML tags in code spans in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1547\"\u003e#1547\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/Python-Markdown/markdown/blob/master/docs/changelog.md\"\u003emarkdown's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003etitle: Changelog\ntoc_depth: 2\u003c/p\u003e\n\u003ch1\u003ePython-Markdown Changelog\u003c/h1\u003e\n\u003cp\u003eAll notable changes to this project will be documented in this file.\u003c/p\u003e\n\u003cp\u003eThe format is based on \u003ca href=\"https://keepachangelog.com/en/1.1.0/\"\u003eKeep a Changelog\u003c/a\u003e,\nand this project adheres to the\n\u003ca href=\"https://packaging.python.org/en/latest/specifications/version-specifiers/\"\u003ePython Version Specification\u003c/a\u003e.\nSee the \u003ca href=\"https://github.com/Python-Markdown/markdown/blob/master/docs/contributing.md\"\u003eContributing Guide\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003e[Unreleased]\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure nested elements inside inline comments are properly unescaped (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1571\"\u003e#1571\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMake the docs build successfully with mkdocstrings-python 2.0 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1575\"\u003e#1575\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix infinite loop when multiple bogus or unclosed HTML comments appear in input (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1578\"\u003e#1578\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.10.0] - 2025-11-03\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOfficially support Python 3.14 and PyPy 3.11 and drop support for Python 3.9\nand PyPy 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix an HTML comment parsing case in some Python versions that can cause an\ninfinite loop (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1554\"\u003e#1554\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRevert the default behavior of \u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e (to \u003ccode\u003eTrue\u003c/code\u003e). The new\nbehavior introduced in 3.9.0 is experimental and results are inconsistent.\nIt should not have been made the default behavior (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1561\"\u003e#1561\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.9.0] - 2025-09-04\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFootnotes are now ordered by the occurrence of their references in the\ndocument. A new configuration option for the footnotes extension,\n\u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e, has been added to support restoring the previous\nbehavior of ordering footnotes by the occurrence of definitions (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1367\"\u003e#1367\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure inline processing iterates through elements in document order (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1546\"\u003e#1546\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix handling of incomplete HTML tags in code spans in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1547\"\u003e#1547\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/22e89c1fc346f72218a10e392a0c3b4731912522\"\u003e\u003ccode\u003e22e89c1\u003c/code\u003e\u003c/a\u003e Bump version to 3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/c138aea5139a6aceae05bb957e866d9ce7577b94\"\u003e\u003ccode\u003ec138aea\u003c/code\u003e\u003c/a\u003e + PY314 - PY39\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/746f7f527b15f63845253e3b86947b806ef1b98f\"\u003e\u003ccode\u003e746f7f5\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/a5ee2b4aad05531898ab8fd726c7ece31ddadf8b\"\u003e\u003ccode\u003ea5ee2b4\u003c/code\u003e\u003c/a\u003e Revert the default behavior of \u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/5354daf618149f92580a1407c036115753c5df73\"\u003e\u003ccode\u003e5354daf\u003c/code\u003e\u003c/a\u003e Fix an HTML comment parsing case that can cause an infinite loop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/f39cf84a24124526c1a0efbe52219fa9950774f6\"\u003e\u003ccode\u003ef39cf84\u003c/code\u003e\u003c/a\u003e Bump version to 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/07bf2076623be5de9952e1f35bfb8c218b699300\"\u003e\u003ccode\u003e07bf207\u003c/code\u003e\u003c/a\u003e Order footnotes by reference\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/23c301de28e12426408656efdfa153b11d4ff558\"\u003e\u003ccode\u003e23c301d\u003c/code\u003e\u003c/a\u003e Fix failing cases for Python 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/4669a09894d4a35cd5f5d2106b0da95e48d1a3f9\"\u003e\u003ccode\u003e4669a09\u003c/code\u003e\u003c/a\u003e fix typo\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Python-Markdown/markdown/compare/3.8.2...3.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `markupsafe` from 3.0.2 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/markupsafe/releases\"\u003emarkupsafe's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003cp\u003eThis is the MarkupSafe 3.0.3 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/MarkupSafe/3.0.3/\"\u003ehttps://pypi.org/project/MarkupSafe/3.0.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://markupsafe.palletsprojects.com/page/changes/#version-3-0-3\"\u003ehttps://markupsafe.palletsprojects.com/page/changes/#version-3-0-3\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/markupsafe/milestone/15?closed=1\"\u003ehttps://github.com/pallets/markupsafe/milestone/15?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e__version__\u003c/code\u003e raises \u003ccode\u003eDeprecationWarning\u003c/code\u003e instead of \u003ccode\u003eUserWarning\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/487\"\u003e#487\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdopt multi-phase initialization PEP 489 for the C extension. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/494\"\u003e#494\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild Windows ARM64 wheels. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/485\"\u003e#485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild Python 3.14 wheels. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/503\"\u003e#503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild riscv64 wheels. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/505\"\u003e#505\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/markupsafe/blob/main/CHANGES.rst\"\u003emarkupsafe's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.0.3\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-27\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e__version__\u003c/code\u003e raises \u003ccode\u003eDeprecationWarning\u003c/code\u003e instead of \u003ccode\u003eUserWarning\u003c/code\u003e.\n:issue:\u003ccode\u003e487\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdopt multi-phase initialisation (:pep:\u003ccode\u003e489\u003c/code\u003e) for the C extension.\n:issue:\u003ccode\u003e494\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eBuild Windows ARM64 wheels. :issue:\u003ccode\u003e485\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eBuild Python 3.14 wheels. :issue:\u003ccode\u003e503\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eBuild riscv64 wheels. :issue:\u003ccode\u003e505\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/297fc8e356e6836a62087949245d09a28e9f1b13\"\u003e\u003ccode\u003e297fc8e\u003c/code\u003e\u003c/a\u003e release version 3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/7e4e6ce249107c5f27fa6fe890e29da7a8dc8f0c\"\u003e\u003ccode\u003e7e4e6ce\u003c/code\u003e\u003c/a\u003e Free-threading: run with pytest-run-paralell (\u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/507\"\u003e#507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/6100b9c0d466495a08d55b33cb172d7b5d8e9aa1\"\u003e\u003ccode\u003e6100b9c\u003c/code\u003e\u003c/a\u003e enable riscv64 wheels (\u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/506\"\u003e#506\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/c9d5ecfc7eec6f611b19cdc8e1cde1aaa65cb8eb\"\u003e\u003ccode\u003ec9d5ecf\u003c/code\u003e\u003c/a\u003e enable riscv64 wheels\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/2f9b33753052e7c6df1464a7c900787d04ae9daf\"\u003e\u003ccode\u003e2f9b337\u003c/code\u003e\u003c/a\u003e tox for 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/78d951a9549dee9fc901c55fc79a74a5f01e96fc\"\u003e\u003ccode\u003e78d951a\u003c/code\u003e\u003c/a\u003e update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/bb6744e392e79611b110c5ba022238eb1b855cc2\"\u003e\u003ccode\u003ebb6744e\u003c/code\u003e\u003c/a\u003e add entry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/65c4134ab16a3faccbcac2cba90da0db2b799542\"\u003e\u003ccode\u003e65c4134\u003c/code\u003e\u003c/a\u003e upgrade cibuildwheel, add \u003ccode\u003ecp314\u003c/code\u003e wheels and test on CPython 3.14 (\u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/504\"\u003e#504\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/3a9bd88b84c9edba8b922bb12b84a59feed98788\"\u003e\u003ccode\u003e3a9bd88\u003c/code\u003e\u003c/a\u003e add cp314 wheels\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/aafe44d87bd7974bc82af8c4010dea9938441edf\"\u003e\u003ccode\u003eaafe44d\u003c/code\u003e\u003c/a\u003e remove slsa provenance (\u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/501\"\u003e#501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/markupsafe/compare/3.0.2...3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `networkx` from 3.4.2 to 3.6.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/networkx/networkx/releases\"\u003enetworkx's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eNetworkX 3.6.1\u003c/h2\u003e\n\u003ch1\u003enetworkx 3.6.1\u003c/h1\u003e\n\u003cp\u003eWe're happy to announce the release of networkx 3.6.1!\u003c/p\u003e\n\u003ch2\u003eAPI Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd spectral bipartition community finding and greedy bipartition using node swaps (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8347\"\u003e#8347\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNodelists for \u003ccode\u003efrom_biadjacency_matrix\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/7993\"\u003e#7993\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd spectral bipartition community finding and greedy bipartition using node swaps (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8347\"\u003e#8347\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix draw_networkx_nodes with list node_shape and add regression test (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8363\"\u003e#8363\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: allow graph subclasses to have additional arguments (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8369\"\u003e#8369\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDOC: Improve benchmarking readme (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8358\"\u003e#8358\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: More details re: RC releases in the release process devdocs (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8346\"\u003e#8346\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: clarify difference between G.nodes/G.nodes() and G.edges/G.edges() in tutorial (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8300\"\u003e#8300\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: Add blurb to contributor guide about drawing tests (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8370\"\u003e#8370\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDOC: Fix underline lens in docstrings (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8371\"\u003e#8371\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRolling back shortest paths links (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8373\"\u003e#8373\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMaintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMAINT: Replace string literal with comment (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8359\"\u003e#8359\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 in the actions group (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8360\"\u003e#8360\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003epin python 3.14 to be version 3.14.0 until dataclasses are fixed (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8365\"\u003e#8365\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBlocklist Python 3.14.1 (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8372\"\u003e#8372\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTST: add tests for unsupported graph types in MST algorithms (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8353\"\u003e#8353\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eTST: clean up isomorphism tests (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8364\"\u003e#8364\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003e10 authors added to this release (alphabetically):\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Aka2210\"\u003e\u003ccode\u003e@​Aka2210\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jfinkels\"\u003e\u003ccode\u003e@​jfinkels\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaorTIRAM\"\u003e\u003ccode\u003e@​NaorTIRAM\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAditi Juneja (\u003ca href=\"https://github.com/Schefflera-Arboricola\"\u003e\u003ccode\u003e@​Schefflera-Arboricola\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAlejandro Candioti (\u003ca href=\"https://github.com/amcandio\"\u003e\u003ccode\u003e@​amcandio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eColman Bouton (\u003ca href=\"https://github.com/LorentzFactor\"\u003e\u003ccode\u003e@​LorentzFactor\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/7530809bfa1ea7ed6fdf918a4d1431488953cb1f\"\u003e\u003ccode\u003e7530809\u003c/code\u003e\u003c/a\u003e Designate 3.6.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/4788eb08f2492dd6bf6f97ce8ee07cd52aa6cf89\"\u003e\u003ccode\u003e4788eb0\u003c/code\u003e\u003c/a\u003e Rolling back shortest paths links (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8373\"\u003e#8373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/696edb6efbbbb622959e96f1276fc0db68dc0954\"\u003e\u003ccode\u003e696edb6\u003c/code\u003e\u003c/a\u003e Fix draw_networkx_nodes with list node_shape and add regression test  (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8363\"\u003e#8363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/c38830c61a6fee3ee10f216071bb63cb9b92bfb9\"\u003e\u003ccode\u003ec38830c\u003c/code\u003e\u003c/a\u003e Blocklist Python 3.14.1 (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8372\"\u003e#8372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/81d231141b08600ebfd1c781e28ecbf791e94016\"\u003e\u003ccode\u003e81d2311\u003c/code\u003e\u003c/a\u003e DOC: Fix underline lens in docstrings. (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8371\"\u003e#8371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/a6e2bfadef51dda47df6466b32642e0d428c5801\"\u003e\u003ccode\u003ea6e2bfa\u003c/code\u003e\u003c/a\u003e DOC: Add blurb to contributor guide about drawing tests. (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8370\"\u003e#8370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/96b628295eff29d266e1c75355556fc9fe58cc16\"\u003e\u003ccode\u003e96b6282\u003c/code\u003e\u003c/a\u003e DOC: clarify difference between G.nodes/G.nodes() and G.edges/G.edges() in tu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/75bdd737ca8382d06eb76ff9018a81870c9f3443\"\u003e\u003ccode\u003e75bdd73\u003c/code\u003e\u003c/a\u003e Fix: allow graph subclasses to have additional arguments (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8369\"\u003e#8369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/7663fa5e5fd73d6921410a18c7ac4116ffa04f4d\"\u003e\u003ccode\u003e7663fa5\u003c/code\u003e\u003c/a\u003e TST: clean up isomorphism tests (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8364\"\u003e#8364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/3dacd1bdcbd976b9e148a60ddebafd868c0a52f3\"\u003e\u003ccode\u003e3dacd1b\u003c/code\u003e\u003c/a\u003e Add spectral bipartition community finding and greedy bipartition using node ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/networkx/networkx/compare/networkx-3.4.2...networkx-3.6.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.2.3 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0 (Dec 20, 2025)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.0 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.4.0 release continues the work to improve free threaded Python\nsupport, user dtypes implementation, and annotations. There are many expired\ndeprecations and bug fixes as well.\u003c/p\u003e\n\u003cp\u003eThis release supports Python versions 3.11-3.14\u003c/p\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cp\u003eApart from annotations and \u003ccode\u003esame_value\u003c/code\u003e kwarg, the 2.4 highlights are mostly\nof interest to downstream developers. They should help in implementing new user\ndtypes.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMany annotation improvements. In particular, runtime signature introspection.\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003ecasting\u003c/code\u003e kwarg \u003ccode\u003e'same_value'\u003c/code\u003e for casting by value.\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003ePyUFunc_AddLoopsFromSpec\u003c/code\u003e function that can be used to add user sort\nloops using the \u003ccode\u003eArrayMethod\u003c/code\u003e API.\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003e__numpy_dtype__\u003c/code\u003e protocol.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eSetting the \u003ccode\u003estrides\u003c/code\u003e attribute is deprecated\u003c/h3\u003e\n\u003cp\u003eSetting the strides attribute is now deprecated since mutating\nan array is unsafe if an array is shared, especially by multiple\nthreads. As an alternative, you can create a new view (no copy) via:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003enp.lib.stride_tricks.strided_window_view\u003c/code\u003e if applicable,\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003enp.lib.stride_tricks.as_strided\u003c/code\u003e for the general case,\u003c/li\u003e\n\u003cli\u003eor the \u003ccode\u003enp.ndarray\u003c/code\u003e constructor (\u003ccode\u003ebuffer\u003c/code\u003e is the original array) for a\nlight-weight version.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/28925\"\u003egh-28925\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003ePositional \u003ccode\u003eout\u003c/code\u003e argument to \u003ccode\u003enp.maximum\u003c/code\u003e, \u003ccode\u003enp.minimum\u003c/code\u003e is deprecated\u003c/h3\u003e\n\u003cp\u003ePassing the output array \u003ccode\u003eout\u003c/code\u003e positionally to \u003ccode\u003enumpy.maximum\u003c/code\u003e and\n\u003ccode\u003enumpy.minimum\u003c/code\u003e is deprecated. For example, \u003ccode\u003enp.maximum(a, b, c)\u003c/code\u003e will emit\na deprecation warning, since \u003ccode\u003ec\u003c/code\u003e is treated as the output buffer rather than\na third input.\u003c/p\u003e\n\u003cp\u003eAlways pass the output with the keyword form, e.g. \u003ccode\u003enp.maximum(a, b, out=c)\u003c/code\u003e.\nThis makes intent clear and simplifies type annotations.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29052\"\u003egh-29052\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003e\u003ccode\u003ealign=\u003c/code\u003e must be passed as boolean to \u003ccode\u003enp.dtype()\u003c/code\u003e\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst\"\u003enumpy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eUpdate 2.4.0 milestones\u003c/h2\u003e\n\u003cp\u003eLook at the issues/prs with 2.4.0 milestones and either push them off to a\nlater version, or maybe remove the milestone. You may need to add a milestone.\u003c/p\u003e\n\u003ch2\u003eCheck the numpy-release repo\u003c/h2\u003e\n\u003cp\u003eThe things to check are the \u003ccode\u003ecibuildwheel\u003c/code\u003e version in\n\u003ccode\u003e.github/workflows/wheels.yml\u003c/code\u003e and the \u003ccode\u003eopenblas\u003c/code\u003e versions in\n\u003ccode\u003eopenblas_requirements.txt\u003c/code\u003e.\u003c/p\u003e\n\u003ch1\u003eMake a release PR\u003c/h1\u003e\n\u003cp\u003eFour documents usually need to be updated or created for the release PR:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe changelog\u003c/li\u003e\n\u003cli\u003eThe release notes\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003e.mailmap\u003c/code\u003e file\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003epyproject.toml\u003c/code\u003e file\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThese changes should be made in an ordinary PR against the maintenance branch.\nOther small, miscellaneous fixes may be part of this PR. The commit message\nmight be something like::\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eREL: Prepare for the NumPy 2.4.0 release\n\u003cul\u003e\n\u003cli\u003eCreate 2.4.0-changelog.rst.\u003c/li\u003e\n\u003cli\u003eUpdate 2.4.0-notes.rst.\u003c/li\u003e\n\u003cli\u003eUpdate .mailmap.\u003c/li\u003e\n\u003cli\u003eUpdate pyproject.toml\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eSet the release version\u003c/h2\u003e\n\u003cp\u003eCheck the \u003ccode\u003epyproject.toml\u003c/code\u003e file and set the release version and update the\nclassifier if needed::\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e$ gvim pyproject.toml\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eCheck the \u003ccode\u003edoc/source/release.rst\u003c/code\u003e file\u003c/h2\u003e\n\u003cp\u003emake sure that the release notes have an entry in the \u003ccode\u003erelease.rst\u003c/code\u003e file::\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/c5ab79c14c98bfda1e60770ffa23a6130f8267b7\"\u003e\u003ccode\u003ec5ab79c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30487\"\u003e#30487\u003c/a\u003e from charris/prepare-2.4.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/05e379a9c925dbeca59851b881c64ba098c5abab\"\u003e\u003ccode\u003e05e379a\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.0 release (2)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/485f1c40703f1c43be708be4c7b7a21b10d90337\"\u003e\u003ccode\u003e485f1c4\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.0 release (1) (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30486\"\u003e#30486\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/c683481c9bace3c6a3ba487f50b34539832377a8\"\u003e\u003ccode\u003ec683481\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.0 release (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30439\"\u003e#30439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/11d9ed27e07637aa92b8d43bf2ad380a2b8c5c01\"\u003e\u003ccode\u003e11d9ed2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30459\"\u003e#30459\u003c/a\u003e from charris/backport-30456\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/2a17ddb25580f20f27c76327733449434c302032\"\u003e\u003ccode\u003e2a17ddb\u003c/code\u003e\u003c/a\u003e TYP: restore \u003ccode\u003egeneric.__hash__\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30456\"\u003e#30456\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/d04a4293bf8c8345f072891433ddb8c483785a6b\"\u003e\u003ccode\u003ed04a429\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30432\"\u003e#30432\u003c/a\u003e from charris/backport-30426\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f94a148bc07fd167275f167995edce57b4f0b8c5\"\u003e\u003ccode\u003ef94a148\u003c/code\u003e\u003c/a\u003e fix more data races in mtrand.pyx (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30426\"\u003e#30426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/06a9d4219291f5a15eed54de9314f72b74c41aed\"\u003e\u003ccode\u003e06a9d42\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30420\"\u003e#30420\u003c/a\u003e from charris/backport-30418\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/30819cd952a4a92852d619b5dd720c63fbcab6bd\"\u003e\u003ccode\u003e30819cd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30419\"\u003e#30419\u003c/a\u003e from charris/backport-30373\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.2.3...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pillow` from 11.3.0 to 12.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-pillow/Pillow/releases\"\u003epillow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e12.0.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://pillow.readthedocs.io/en/stable/releasenotes/12.0.0.html\"\u003ehttps://pillow.readthedocs.io/en/stable/releasenotes/12.0.0.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eRemovals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for FreeType \u0026lt;= 2.9.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9159\"\u003e#9159\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9119\"\u003e#9119\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eRemove deprecations for Pillow 12.0.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9053\"\u003e#9053\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate Image._show \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9186\"\u003e#9186\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eDeprecate ImageCmsProfile product_name and product_info \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/8995\"\u003e#8995\u003c/a\u003e [\u003ca href=\"https://github.com/lukegb\"\u003e\u003ccode\u003e@​lukegb\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImagingHistogramInstance can use two bands \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9251\"\u003e#9251\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate 12.0.0 release notes \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9247\"\u003e#9247\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdded ImageDraw alpha channel examples \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9201\"\u003e#9201\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate Python version \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9230\"\u003e#9230\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdated macOS tested Pillow versions \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9209\"\u003e#9209\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd GitHub profile link to release notes \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9197\"\u003e#9197\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eSplit versionadded info \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9190\"\u003e#9190\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eDocument ImageFile.MAXBLOCK \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9163\"\u003e#9163\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdated macOS version in CI targets \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9157\"\u003e#9157\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eFix typos \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9135\"\u003e#9135\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdded \u0026quot;Colors\u0026quot; to concepts \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9067\"\u003e#9067\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate macOS tested Pillow versions \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9068\"\u003e#9068\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eThanks, folks! \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9056\"\u003e#9056\u003c/a\u003e [\u003ca href=\"https://github.com/aclark4life\"\u003e\u003ccode\u003e@​aclark4life\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eSetup nit: \u0026quot;fork\u0026quot; should be lowercased \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9055\"\u003e#9055\u003c/a\u003e [\u003ca href=\"https://github.com/aclark4life\"\u003e\u003ccode\u003e@​aclark4life\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate dependency cibuildwheel to v3.2.1 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9246\"\u003e#9246\u003c/a\u003e [@\u003ca href=\"https://github.com/apps/renovate\"\u003erenovate[bot]\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9233\"\u003e#9233\u003c/a\u003e [@\u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003epre-commit-ci[bot]\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate harfbuzz to 12.1.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9218\"\u003e#9218\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate libtiff to 4.7.1 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9222\"\u003e#9222\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate FreeType to 2.14.1 on macOS and Linux wheels \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9217\"\u003e#9217\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate dependency cibuildwheel to v3.2.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9219\"\u003e#9219\u003c/a\u003e [@\u003ca href=\"https://github.com/apps/renovate\"\u003erenovate[bot]\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate Ghostscript to 10.6.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9202\"\u003e#9202\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate openjpeg to 2.5.4 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9215\"\u003e#9215\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate harfbuzz to 11.5.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9203\"\u003e#9203\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate dependency mypy to v1.18.2 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9213\"\u003e#9213\u003c/a\u003e [@\u003ca href=\"https://github.com/apps/renovate\"\u003erenovate[bot]\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate dependency mypy to v1.18.1 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9207\"\u003e#9207\u003c/a\u003e [@\u003ca href=\"https://github.com/apps/renovate\"\u003erenovate[bot]\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate github-actions \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9194\"\u003e#9194\u003c/a\u003e [@\u003ca href=\"https://github.com/apps/renovate\"\u003erenovate[bot]\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdated harfbuzz to 11.4.5 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9150\"\u003e#9150\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate zlib-ng to 2.2.5 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9140\"\u003e#9140\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate raqm to 0.10.3 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9137\"\u003e#9137\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate libjpeg-turbo to 3.1.2 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9188\"\u003e#9188\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9180\"\u003e#9180\u003c/a\u003e [@\u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003epre-commit-ci[bot]\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/python-pillow/Pillow/commit/693df7b42c666f88c719f9973be0ad71607328e0\"\u003e\u003ccode\u003e693df7b\u003c/code\u003e\u003c/a\u003e 12.0.0 version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/d175bb88a302e161173e05b1c4103910d7366623\"\u003e\u003ccode\u003ed175bb8\u003c/code\u003e\u003c/a\u003e Use macos-14 for iOS arm64 simulator (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9258\"\u003e#9258\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/592b2f820aa1f75f8ae8bf4f30e1b4bc62023535\"\u003e\u003ccode\u003e592b2f8\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Use macos-latest for iOS arm64 simulator\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/5dddb2ce94a715e54442c1d30c9ffc04914d96fe\"\u003e\u003ccode\u003e5dddb2c\u003c/code\u003e\u003c/a\u003e Use enums for Modes and RawModes in C (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9256\"\u003e#9256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/e7b72a3bbdec4e3f4120e6b5fe4082d78315ff13\"\u003e\u003ccode\u003ee7b72a3\u003c/code\u003e\u003c/a\u003e Add ImageText (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9098\"\u003e#9098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/864d4b6e0937e9d468de26b933f31b1639e0f22a\"\u003e\u003ccode\u003e864d4b6\u003c/code\u003e\u003c/a\u003e Shift bits before making value negative (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9255\"\u003e#9255\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/994a9def5d94bc59b60447bbab445834f7f9f9bf\"\u003e\u003ccode\u003e994a9de\u003c/code\u003e\u003c/a\u003e Install arro3 dependencies when type checking (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9254\"\u003e#9254\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/d5e1601b32ea43b45ce8f820e4b349e9b5e2dd6c\"\u003e\u003ccode\u003ed5e1601\u003c/code\u003e\u003c/a\u003e Improved documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/e533ccccfcef79c031ac1178a9b78db2fb000a6f\"\u003e\u003ccode\u003ee533ccc\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into imagetext\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/95a85dc6693ca221643906214b0e1f4590986c0f\"\u003e\u003ccode\u003e95a85dc\u003c/code\u003e\u003c/a\u003e Use snake case\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-pillow/Pillow/compare/11.3.0...12.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `plotly` from 6.2.0 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=\"h...\n\n_Description has been truncated_","html_url":"https://github.com/kbase/narrative/pull/3721","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kbase%2Fnarrative/issues/3721","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3721/packages"}},{"old_version":"8.1.7","new_version":"8.1.8","update_type":"patch","path":"/docs","pr_created_at":"2026-01-01T14:02:01.000Z","version_change":"8.1.7 → 8.1.8","issue":{"uuid":"3774690788","node_id":"PR_kwDOH2Sbbc67M_j3","number":761,"state":"closed","title":"Bump ipywidgets from 8.1.7 to 8.1.8 in /docs","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-12T19:54:37.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-01T14:02:01.000Z","updated_at":"2026-02-12T19:54:48.000Z","time_to_close":3649956,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"ipywidgets","old_version":"8.1.7","new_version":"8.1.8","repository_url":"https://github.com/jupyter-widgets/ipywidgets"}],"path":"/docs","ecosystem":"pip"},"body":"Bumps [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) from 8.1.7 to 8.1.8.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/releases\"\u003eipywidgets's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd JupyterCon banner and jupyter colors by \u003ca href=\"https://github.com/choldgraf\"\u003e\u003ccode\u003e@​choldgraf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3998\"\u003ejupyter-widgets/ipywidgets#3998\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix badge formatting in README.md by \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4000\"\u003ejupyter-widgets/ipywidgets#4000\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Plausible web stats by \u003ca href=\"https://github.com/jasongrout\"\u003e\u003ccode\u003e@​jasongrout\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4003\"\u003ejupyter-widgets/ipywidgets#4003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate jupyterlab_widgets metadata to indicate it works with JupyterLab 4 by \u003ca href=\"https://github.com/jasongrout\"\u003e\u003ccode\u003e@​jasongrout\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4004\"\u003ejupyter-widgets/ipywidgets#4004\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/choldgraf\"\u003e\u003ccode\u003e@​choldgraf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3998\"\u003ejupyter-widgets/ipywidgets#3998\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\"\u003ehttps://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\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\u003eSee full diff in \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\"\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=ipywidgets\u0026package-manager=pip\u0026previous-version=8.1.7\u0026new-version=8.1.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nYou can trigger a rebase of this PR by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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\n\n\u003e **Note**\n\u003e Automatic rebases have been disabled on this pull request as it has been open for over 30 days.\n","html_url":"https://github.com/TGSAI/mdio-python/pull/761","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/TGSAI%2Fmdio-python/issues/761","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/761/packages"}},{"old_version":"8.1.7","new_version":"8.1.8","update_type":"patch","path":null,"pr_created_at":"2025-12-29T18:38:50.000Z","version_change":"8.1.7 → 8.1.8","issue":{"uuid":"3768072730","node_id":"PR_kwDOHTdvBs663EKr","number":1397,"state":"open","title":"deps(ibis): bump the all group across 1 directory with 32 updates","user":"dependabot[bot]","labels":["ibis","dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-12-29T18:38:50.000Z","updated_at":"2025-12-29T18:39:07.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(ibis): bump","group_name":"all","update_count":32,"packages":[{"name":"fastapi","old_version":"0.120.1","new_version":"0.128.0","repository_url":"https://github.com/fastapi/fastapi"},{"name":"pydantic","old_version":"2.10.6","new_version":"2.12.5","repository_url":"https://github.com/pydantic/pydantic"},{"name":"google-auth","old_version":"2.38.0","new_version":"2.45.0","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"python-dotenv","old_version":"1.0.1","new_version":"1.2.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"orjson","old_version":"3.10.16","new_version":"3.11.5","repository_url":"https://github.com/ijl/orjson"},{"name":"geopandas","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/geopandas/geopandas"},{"name":"geoalchemy2","old_version":"0.17.1","new_version":"0.18.1","repository_url":"https://github.com/geoalchemy/geoalchemy2"},{"name":"gql","old_version":"3.5.2","new_version":"4.0.0","repository_url":"https://github.com/graphql-python/gql"},{"name":"anyio","old_version":"4.10.0","new_version":"4.12.0","repository_url":"https://github.com/agronholm/anyio"},{"name":"duckdb","old_version":"1.3.2","new_version":"1.4.3","repository_url":"https://github.com/duckdb/duckdb-python"},{"name":"oracledb","old_version":"3.3.0","new_version":"3.4.1","repository_url":"https://github.com/oracle/python-oracledb"},{"name":"uvicorn","old_version":"0.35.0","new_version":"0.40.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"uvicorn-worker","old_version":"0.3.0","new_version":"0.4.0","repository_url":"https://github.com/Kludex/uvicorn-worker"},{"name":"redshift-connector","old_version":"2.1.7","new_version":"2.1.10","repository_url":"https://github.com/aws/amazon-redshift-python-driver"},{"name":"datafusion","old_version":"47.0.0","new_version":"50.1.0","repository_url":"https://github.com/apache/datafusion-python"},{"name":"starlette","old_version":"0.49.1","new_version":"0.50.0","repository_url":"https://github.com/Kludex/starlette"},{"name":"databricks-sql-connector","old_version":"4.1.4","new_version":"4.2.3","repository_url":"https://github.com/databricks/databricks-sql-python"},{"name":"databricks-sdk","old_version":"0.73.0","new_version":"0.76.0","repository_url":"https://github.com/databricks/databricks-sdk-py"},{"name":"jupyterlab","old_version":"4.4.9","new_version":"4.5.1","repository_url":"https://github.com/jupyterlab/jupyterlab"},{"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":"matplotlib","old_version":"3.10.6","new_version":"3.10.8","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"plotly","old_version":"6.3.0","new_version":"6.5.0","repository_url":"https://github.com/plotly/plotly.py"},{"name":"pytest","old_version":"8.3.5","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"testcontainers","old_version":"4.9.2","new_version":"4.13.3","repository_url":"https://github.com/testcontainers/testcontainers-python"},{"name":"sqlalchemy","old_version":"2.0.39","new_version":"2.0.45","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"pre-commit","old_version":"4.2.0","new_version":"4.5.1","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"ruff","old_version":"0.11.2","new_version":"0.14.10","repository_url":"https://github.com/astral-sh/ruff"},{"name":"trino","old_version":"0.335.0","new_version":"0.336.0","repository_url":"https://github.com/trinodb/trino-python-client"},{"name":"psycopg2","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"clickhouse-connect","old_version":"0.8.15","new_version":"0.10.0","repository_url":"https://github.com/ClickHouse/clickhouse-connect"},{"name":"polars","old_version":"1.33.1","new_version":"1.36.1","repository_url":"https://github.com/pola-rs/polars"}],"path":null,"ecosystem":"pip"},"body":"Bumps the all group with 32 updates in the /ibis-server directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.120.1` | `0.128.0` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.10.6` | `2.12.5` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.38.0` | `2.45.0` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.2.1` |\n| [orjson](https://github.com/ijl/orjson) | `3.10.16` | `3.11.5` |\n| [geopandas](https://github.com/geopandas/geopandas) | `1.1.1` | `1.1.2` |\n| [geoalchemy2](https://github.com/geoalchemy/geoalchemy2) | `0.17.1` | `0.18.1` |\n| [gql](https://github.com/graphql-python/gql) | `3.5.2` | `4.0.0` |\n| [anyio](https://github.com/agronholm/anyio) | `4.10.0` | `4.12.0` |\n| [duckdb](https://github.com/duckdb/duckdb-python) | `1.3.2` | `1.4.3` |\n| [oracledb](https://github.com/oracle/python-oracledb) | `3.3.0` | `3.4.1` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.35.0` | `0.40.0` |\n| [uvicorn-worker](https://github.com/Kludex/uvicorn-worker) | `0.3.0` | `0.4.0` |\n| [redshift-connector](https://github.com/aws/amazon-redshift-python-driver) | `2.1.7` | `2.1.10` |\n| [datafusion](https://github.com/apache/datafusion-python) | `47.0.0` | `50.1.0` |\n| [starlette](https://github.com/Kludex/starlette) | `0.49.1` | `0.50.0` |\n| [databricks-sql-connector](https://github.com/databricks/databricks-sql-python) | `4.1.4` | `4.2.3` |\n| [databricks-sdk](https://github.com/databricks/databricks-sdk-py) | `0.73.0` | `0.76.0` |\n| [jupyterlab](https://github.com/jupyterlab/jupyterlab) | `4.4.9` | `4.5.1` |\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| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.10.6` | `3.10.8` |\n| [plotly](https://github.com/plotly/plotly.py) | `6.3.0` | `6.5.0` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.3.5` | `9.0.2` |\n| [testcontainers](https://github.com/testcontainers/testcontainers-python) | `4.9.2` | `4.13.3` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.39` | `2.0.45` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.2.0` | `4.5.1` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.11.2` | `0.14.10` |\n| [trino](https://github.com/trinodb/trino-python-client) | `0.335.0` | `0.336.0` |\n| [psycopg2](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [clickhouse-connect](https://github.com/ClickHouse/clickhouse-connect) | `0.8.15` | `0.10.0` |\n| [polars](https://github.com/pola-rs/polars) | `1.33.1` | `1.36.1` |\n\n\nUpdates `fastapi` from 0.120.1 to 0.128.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.128.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e➖ Drop support for \u003ccode\u003epydantic.v1\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14609\"\u003e#14609\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Run performance tests only on Pydantic v2. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14608\"\u003e#14608\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.127.1\u003c/h2\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔊 Add a custom \u003ccode\u003eFastAPIDeprecationWarning\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14605\"\u003e#14605\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Add documentary to website. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14600\"\u003e#14600\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🌐 Update translations for de (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14602\"\u003e#14602\u003c/a\u003e by \u003ca href=\"https://github.com/nilslindemann\"\u003e\u003ccode\u003e@​nilslindemann\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for de (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14581\"\u003e#14581\u003c/a\u003e by \u003ca href=\"https://github.com/nilslindemann\"\u003e\u003ccode\u003e@​nilslindemann\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Update pre-commit to use local Ruff instead of hook. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14604\"\u003e#14604\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✅ Add missing tests for code examples. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14569\"\u003e#14569\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👷 Remove \u003ccode\u003elint\u003c/code\u003e job from \u003ccode\u003etest\u003c/code\u003e CI workflow. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14593\"\u003e#14593\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👷 Update secrets check. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14592\"\u003e#14592\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👷 Run CodSpeed tests in parallel to other tests to speed up CI. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14586\"\u003e#14586\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔨 Update scripts and pre-commit to autofix files. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14585\"\u003e#14585\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.127.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔊 Add deprecation warnings when using \u003ccode\u003epydantic.v1\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14583\"\u003e#14583\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Add LLM prompt file for Korean, generated from the existing translations. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14546\"\u003e#14546\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔧 Add LLM prompt file for Japanese, generated from the existing translations. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14545\"\u003e#14545\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆️ Upgrade OpenAI model for translations to gpt-5.2. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14579\"\u003e#14579\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.126.0\u003c/h2\u003e\n\u003ch3\u003eUpgrades\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e➖ Drop support for Pydantic v1, keeping short temporary support for Pydantic v2's \u003ccode\u003epydantic.v1\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14575\"\u003e#14575\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/8322a4445a3b25acd9b26b61192571b2d92f9bcd\"\u003e\u003ccode\u003e8322a44\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.128.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/4b2cfcfd34d0b2e158a05b377426e0c8376b94de\"\u003e\u003ccode\u003e4b2cfcf\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/e3006305518a56ea35f62a31748ad26fe4356fcc\"\u003e\u003ccode\u003ee300630\u003c/code\u003e\u003c/a\u003e ➖ Drop support for \u003ccode\u003epydantic.v1\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14609\"\u003e#14609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/1b3bea8b6be2220cc1544653ea785d2134fcb35b\"\u003e\u003ccode\u003e1b3bea8\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/34e884156f38dff4094a7764ff895c4d4b872060\"\u003e\u003ccode\u003e34e8841\u003c/code\u003e\u003c/a\u003e ✅ Run performance tests only on Pydantic v2 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14608\"\u003e#14608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/cd90c78391f86f3fd06d5b327bffad9666b05b44\"\u003e\u003ccode\u003ecd90c78\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.127.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/93f4dfd88b7d62bda89eb521ebd9322e357e6fff\"\u003e\u003ccode\u003e93f4dfd\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/535b5daa317a9d1d1f9a1058e57650a7beefa861\"\u003e\u003ccode\u003e535b5da\u003c/code\u003e\u003c/a\u003e 🔊 Add a custom \u003ccode\u003eFastAPIDeprecationWarning\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14605\"\u003e#14605\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/6b53786f626db95a42fd0f66afd360bab161f4b1\"\u003e\u003ccode\u003e6b53786\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/d98f4eb56eae3155034fe631d9639d95171fb9ab\"\u003e\u003ccode\u003ed98f4eb\u003c/code\u003e\u003c/a\u003e 🔧 Update pre-commit to use local Ruff instead of hook (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14604\"\u003e#14604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.120.1...0.128.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.10.6 to 2.12.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.5 2025-11-26\u003c/h2\u003e\n\u003ch2\u003ev2.12.5 (2025-11-26)\u003c/h2\u003e\n\u003cp\u003eThis is the fifth 2.12 patch release, addressing an issue with the \u003ccode\u003eMISSING\u003c/code\u003e sentinel and providing several documentation improvements.\u003c/p\u003e\n\u003cp\u003eThe next 2.13 minor release will be published in a couple weeks, and will include a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature addressing\nthe remaining unexpected changes to the \u003cem\u003eserialize as any\u003c/em\u003e behavior.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickle error when using \u003ccode\u003emodel_construct()\u003c/code\u003e on a model with \u003ccode\u003eMISSING\u003c/code\u003e as a default value by \u003ca href=\"https://github.com/ornariece\"\u003e\u003ccode\u003e@​ornariece\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12522\"\u003e#12522\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSeveral updates to the documentation by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.4 2025-11-05\u003c/h2\u003e\n\u003ch2\u003ev2.12.4 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003eThis is the fourth 2.12 patch release, fixing more regressions, and reverting a change in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis patch release also fixes an issue with the serialization of IP address types, when \u003ccode\u003eserialize_as_any\u003c/code\u003e is used. The next patch release\nwill try to address the remaining issues with \u003cem\u003eserialize as any\u003c/em\u003e behavior by introducing a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature, that\nshould be used in most cases in place of \u003cem\u003eserialize as any\u003c/em\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with forward references in parent \u003ccode\u003eTypedDict\u003c/code\u003e classes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12427\"\u003e#12427\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis issue is only relevant on Python 3.14 and greater.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExclude fields with \u003ccode\u003eexclude_if\u003c/code\u003e from JSON Schema required fields by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12430\"\u003e#12430\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRevert URL percent-encoding of credentials in the \u003ccode\u003ebuild()\u003c/code\u003e method of the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1833\"\u003epydantic-core#1833\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis was initially considered as a bugfix, but caused regressions and as such was fully reverted. The next release will include\nan opt-in option to percent-encode components of the URL.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type inference for IP address types by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1868\"\u003epydantic-core#1868\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThe 2.12 changes to the \u003ccode\u003eserialize_as_any\u003c/code\u003e behavior made it so that IP address types could not properly serialize to JSON.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid getting default values from defaultdict by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1853\"\u003epydantic-core#1853\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis fixes a subtle regression in the validation behavior of the \u003ca href=\"https://docs.python.org/3/library/collections.html#collections.defaultdict\"\u003e\u003ccode\u003ecollections.defaultdict\u003c/code\u003e\u003c/a\u003e\ntype.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with field serializers on nested typed dictionaries by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1879\"\u003epydantic-core#1879\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd more \u003ccode\u003epydantic-core\u003c/code\u003e builds for the three-threaded version of Python 3.14 by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1864\"\u003epydantic-core#1864\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.3...v2.12.4\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.3...v2.12.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.3 2025-10-17\u003c/h2\u003e\n\u003ch2\u003ev2.12.3 (2025-10-17)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis is the third 2.13 patch release, fixing issues related to the \u003ccode\u003eFieldInfo\u003c/code\u003e class, and reverting a change to the supported \u003ca href=\"https://docs.pydantic.dev/latest/concepts/validators/#model-validators\"\u003e\u003cem\u003eafter\u003c/em\u003e model validator\u003c/a\u003e function signatures.\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/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.5 (2025-11-26)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.5\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is the fifth 2.12 patch release, addressing an issue with the \u003ccode\u003eMISSING\u003c/code\u003e sentinel and providing several documentation improvements.\u003c/p\u003e\n\u003cp\u003eThe next 2.13 minor release will be published in a couple weeks, and will include a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature addressing\nthe remaining unexpected changes to the \u003cem\u003eserialize as any\u003c/em\u003e behavior.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickle error when using \u003ccode\u003emodel_construct()\u003c/code\u003e on a model with \u003ccode\u003eMISSING\u003c/code\u003e as a default value by \u003ca href=\"https://github.com/ornariece\"\u003e\u003ccode\u003e@​ornariece\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12522\"\u003e#12522\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSeveral updates to the documentation by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.12.4 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.4\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is the fourth 2.12 patch release, fixing more regressions, and reverting a change in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis patch release also fixes an issue with the serialization of IP address types, when \u003ccode\u003eserialize_as_any\u003c/code\u003e is used. The next patch release\nwill try to address the remaining issues with \u003cem\u003eserialize as any\u003c/em\u003e behavior by introducing a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature, that\nshould be used in most cases in place of \u003cem\u003eserialize as any\u003c/em\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with forward references in parent \u003ccode\u003eTypedDict\u003c/code\u003e classes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12427\"\u003e#12427\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis issue is only relevant on Python 3.14 and greater.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExclude fields with \u003ccode\u003eexclude_if\u003c/code\u003e from JSON Schema required fields by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12430\"\u003e#12430\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRevert URL percent-encoding of credentials in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in\n\u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1833\"\u003epydantic-core#1833\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis was initially considered as a bugfix, but caused regressions and as such was fully reverted. The next release will include\nan opt-in option to percent-encode components of the URL.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type inference for IP address types by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1868\"\u003epydantic-core#1868\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThe 2.12 changes to the \u003ccode\u003eserialize_as_any\u003c/code\u003e behavior made it so that IP address types could not properly serialize to JSON.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid getting default values from defaultdict by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1853\"\u003epydantic-core#1853\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis fixes a subtle regression in the validation behavior of the \u003ca href=\"https://docs.python.org/3/library/collections.html#collections.defaultdict\"\u003e\u003ccode\u003ecollections.defaultdict\u003c/code\u003e\u003c/a\u003e\ntype.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with field serializers on nested typed dictionaries by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1879\"\u003epydantic-core#1879\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd more \u003ccode\u003epydantic-core\u003c/code\u003e builds for the three-threaded version of Python 3.14 by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1864\"\u003epydantic-core#1864\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.12.3 (2025-10-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.3\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/bd2d0dd0137dfa1a8fdff2529b9dfb1547980150\"\u003e\u003ccode\u003ebd2d0dd\u003c/code\u003e\u003c/a\u003e Prepare release v2.12.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/7d0302ec7ec2cf115de3450a615522875bdd8b56\"\u003e\u003ccode\u003e7d0302e\u003c/code\u003e\u003c/a\u003e Document security implications when using \u003ccode\u003ecreate_model()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/e9ef980def726b6f59b6c495ddc9dc259a0228db\"\u003e\u003ccode\u003ee9ef980\u003c/code\u003e\u003c/a\u003e Fix typo in Standard Library Types documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f2c20c00c265a31a13c48f9bae923a87c829952e\"\u003e\u003ccode\u003ef2c20c0\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003epydantic-docs\u003c/code\u003e dev dependency, make use of versioning blocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a76c1aa26f2d64a3fd080ac515d80832689197e8\"\u003e\u003ccode\u003ea76c1aa\u003c/code\u003e\u003c/a\u003e Update documentation about JSON Schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8cbc72ca489891e574fba45238ee8bd4f8e719a2\"\u003e\u003ccode\u003e8cbc72c\u003c/code\u003e\u003c/a\u003e Add documentation about custom \u003ccode\u003e__init__()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/99eba599069da137b3f708ffa74627f2b456ba73\"\u003e\u003ccode\u003e99eba59\u003c/code\u003e\u003c/a\u003e Add additional test for \u003ccode\u003eFieldInfo.get_default()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c71076988e507ea93844c77c3bf0bbb85a5716af\"\u003e\u003ccode\u003ec710769\u003c/code\u003e\u003c/a\u003e Special case \u003ccode\u003eMISSING\u003c/code\u003e sentinel in \u003ccode\u003esmart_deepcopy()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/20a9d771c210fd77d52366ac923258c4c199727f\"\u003e\u003ccode\u003e20a9d77\u003c/code\u003e\u003c/a\u003e Do not delete mock validator/serializer in \u003ccode\u003erebuild_dataclass()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c86515a3a8f2120148fab2eaedd3bc45925779d0\"\u003e\u003ccode\u003ec86515a\u003c/code\u003e\u003c/a\u003e Update parts of the model and \u003ccode\u003erevalidate_instances\u003c/code\u003e documentation\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.10.6...v2.12.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-auth` from 2.38.0 to 2.45.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/releases\"\u003egoogle-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-auth 2.45.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.44.0...v2.45.0\"\u003e2.45.0\u003c/a\u003e (2025-12-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdding Agent Identity bound token support and handling certificate mismatches with retries (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1890\"\u003e#1890\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b32c934e\"\u003eb32c934e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-auth 2.44.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.43.0...v2.44.0\"\u003e2.44.0\u003c/a\u003e (2025-12-12)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMDS connections use mTLS (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1856\"\u003e#1856\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0387bb95\"\u003e0387bb95\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003esupport Python 3.14 (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1822\"\u003e#1822\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0f7097e7\"\u003e0f7097e7\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd ecdsa p-384 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1872\"\u003e#1872\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/39c381a5\"\u003e39c381a5\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd shlex to correctly parse executable commands with spaces (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1855\"\u003e#1855\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/cf6fc3cc\"\u003ecf6fc3cc\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement token revocation in STS client and add revoke() metho… (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1849\"\u003e#1849\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/d5638986\"\u003ed5638986\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd temporary patch to workload cert logic to accomodate Cloud Run mis-configuration (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1880\"\u003e#1880\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/78de7907\"\u003e78de7907\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDelegate workload cert and key default lookup to helper function (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1877\"\u003e#1877\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b0993c7e\"\u003eb0993c7e\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse public refresh method for source credentials in ImpersonatedCredentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1884\"\u003e#1884\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/e0c3296f\"\u003ee0c3296f\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-auth 2.43.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.42.1...v2.43.0\"\u003e2.43.0\u003c/a\u003e (2025-11-05)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd public wrapper for _mtls_helper.check_use_client_cert which enables mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE is not set, when the MWID/X.509 cert sources detected (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1859\"\u003e#1859\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/1535eccb\"\u003e1535eccb\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnable mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE  is not set, if the MWID/X.509 cert sources detected (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1848\"\u003e#1848\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/395e405b\"\u003e395e405b\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eonboard \u003ccode\u003egoogle-auth\u003c/code\u003e to librarian (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1838\"\u003e#1838\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/c503eaa5\"\u003ec503eaa5\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.42.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.42.0...v2.42.1\"\u003e2.42.1\u003c/a\u003e (2025-10-30)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCatch ValueError for json.loads() (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1842\"\u003e#1842\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b074cad460589633adfc6744c01726ae86f2aa2b\"\u003eb074cad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.42.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md\"\u003egoogle-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.44.0...v2.45.0\"\u003e2.45.0\u003c/a\u003e (2025-12-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdding Agent Identity bound token support and handling certificate mismatches with retries (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1890\"\u003e#1890\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b32c934e6b0d09b94c467cd432a0a635e8b05f5c\"\u003eb32c934e6b0d09b94c467cd432a0a635e8b05f5c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.43.0...v2.44.0\"\u003e2.44.0\u003c/a\u003e (2025-12-13)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport Python 3.14 (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1822\"\u003e#1822\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0f7097e78f247665b6ef0287d482033f7be2ed6d\"\u003e0f7097e78f247665b6ef0287d482033f7be2ed6d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ecdsa p-384 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1872\"\u003e#1872\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/39c381a5f6881b590025f36d333d12eff8dc60fc\"\u003e39c381a5f6881b590025f36d333d12eff8dc60fc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMDS connections use mTLS (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1856\"\u003e#1856\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0387bb95713653d47e846cad3a010eb55ef2db4c\"\u003e0387bb95713653d47e846cad3a010eb55ef2db4c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement token revocation in STS client and add revoke() metho… (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1849\"\u003e#1849\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/d5638986ca03ee95bfffa9ad821124ed7e903e63\"\u003ed5638986ca03ee95bfffa9ad821124ed7e903e63\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd shlex to correctly parse executable commands with spaces (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1855\"\u003e#1855\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/cf6fc3cced78bc1362a7fe596c32ebc9ce03c26b\"\u003ecf6fc3cced78bc1362a7fe596c32ebc9ce03c26b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse public refresh method for source credentials in ImpersonatedCredentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1884\"\u003e#1884\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/e0c3296f471747258f6d98d2d9bfde636358ecde\"\u003ee0c3296f471747258f6d98d2d9bfde636358ecde\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd temporary patch to workload cert logic to accomodate Cloud Run mis-configuration (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1880\"\u003e#1880\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/78de7907b8bdb7b5510e3c6fa8a3f3721e2436d7\"\u003e78de7907b8bdb7b5510e3c6fa8a3f3721e2436d7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDelegate workload cert and key default lookup to helper function (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1877\"\u003e#1877\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b0993c7edaba505d0fb0628af28760c43034c959\"\u003eb0993c7edaba505d0fb0628af28760c43034c959\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-auth-v2.42.1...google-auth-v2.43.0\"\u003e2.43.0\u003c/a\u003e (2025-11-05)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd public wrapper for _mtls_helper.check_use_client_cert which enables mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE is not set, when the MWID/X.509 cert sources detected (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1859\"\u003e#1859\u003c/a\u003e) Add public wrapper for check_use_client_cert which enables mTLS if\nGOOGLE_API_USE_CLIENT_CERTIFICATE is not set, when the MWID/X.509 cert\nsources detected. Also, fix check_use_client_cert to return boolean\nvalue.\nChange \u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1848\"\u003e#1848\u003c/a\u003e added the check_use_client_cert method that helps know if\nclient cert should be used for mTLS connection. However, that was in a\nprivate class, thus, created a public wrapper of the same function so\nthat it can be used by python Client Libraries. Also, updated\ncheck_use_client_cert to return a boolean value instead of existing\nstring value for better readability and future scope.\n--------- (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1535eccbff0ad8f3fd6a9775316ac8b77dca66ba\"\u003e1535eccbff0ad8f3fd6a9775316ac8b77dca66ba\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnable mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE  is not set, if the MWID/X.509 cert sources detected (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1848\"\u003e#1848\u003c/a\u003e) The Python SDK will use a hybrid approach for mTLS enablement:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eIf the GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is set\n(either true or false), the SDK will respect that setting. This is\nnecessary for test scenarios and users who need to explicitly control\nmTLS behavior.\u003c/li\u003e\n\u003cli\u003eIf the GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is not\nset, the SDK will automatically enable mTLS only if it detects Managed\nWorkload Identity (MWID) or X.509 Workforce Identity Federation (WIF)\ncertificate sources. In other cases where the variable is not set, mTLS\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/08fabf776c02dc6a70472b3ddd9733d66d0053bf\"\u003e\u003ccode\u003e08fabf7\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20251215T132028Z (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1891\"\u003e#1891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b32c934e6b0d09b94c467cd432a0a635e8b05f5c\"\u003e\u003ccode\u003eb32c934\u003c/code\u003e\u003c/a\u003e feat: Adding Agent Identity bound token support and handling certificate mism...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/262eb9e33d58ffeb536ecd083c22d9fb12c808e6\"\u003e\u003ccode\u003e262eb9e\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20251212T161150Z (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1888\"\u003e#1888\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0f7097e78f247665b6ef0287d482033f7be2ed6d\"\u003e\u003ccode\u003e0f7097e\u003c/code\u003e\u003c/a\u003e feat: support Python 3.14 (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1822\"\u003e#1822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/e0c3296f471747258f6d98d2d9bfde636358ecde\"\u003e\u003ccode\u003ee0c3296\u003c/code\u003e\u003c/a\u003e fix(auth): Use public refresh method for source credentials in ImpersonatedCr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/78de7907b8bdb7b5510e3c6fa8a3f3721e2436d7\"\u003e\u003ccode\u003e78de790\u003c/code\u003e\u003c/a\u003e fix(auth): Add temporary patch to workload cert logic to accomodate Cloud Run...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/3e8a56687fd050ff44a35cc8db0e95e996648173\"\u003e\u003ccode\u003e3e8a566\u003c/code\u003e\u003c/a\u003e chore(tests): allow expired secret in system tests (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1883\"\u003e#1883\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b0993c7edaba505d0fb0628af28760c43034c959\"\u003e\u003ccode\u003eb0993c7\u003c/code\u003e\u003c/a\u003e fix(auth): Delegate workload cert and key default lookup to helper function (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/2c374d36a61569b75d11c17fae124d591c52ddc6\"\u003e\u003ccode\u003e2c374d3\u003c/code\u003e\u003c/a\u003e chore: update secret (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1879\"\u003e#1879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/39c381a5f6881b590025f36d333d12eff8dc60fc\"\u003e\u003ccode\u003e39c381a\u003c/code\u003e\u003c/a\u003e feat: add ecdsa p-384 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1872\"\u003e#1872\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.38.0...v2.45.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-dotenv` from 1.0.1 to 1.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/releases\"\u003epython-dotenv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport reading .env from FIFOs (Unix) by \u003ca href=\"https://github.com/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/586\"\u003etheskumar/python-dotenv#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CI to use trusted publishing on PyPI\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/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/586\"\u003etheskumar/python-dotenv#586\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.0...v1.2.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.0...v1.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: upgrade to use ruff by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/567\"\u003etheskumar/python-dotenv#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse sys.exit() instead of exit() by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/568\"\u003etheskumar/python-dotenv#568\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat:  add \u003ccode\u003ePYTHON_DOTENV_DISABLED\u003c/code\u003e flag to disable load_dotenv (fixes \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/510\"\u003e#510\u003c/a\u003e) by \u003ca href=\"https://github.com/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Python@3.14: Github CI \u0026amp; tox.ini by \u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eocs: clarify what load_dotenv() does in README by \u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group across 1 directory with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/577\"\u003etheskumar/python-dotenv#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove project metadata and config to pyproject.toml by \u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/583\"\u003etheskumar/python-dotenv#583\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/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/583\"\u003etheskumar/python-dotenv#583\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.0\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure find_dotenv work reliably on python 3.13 by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/563\"\u003etheskumar/python-dotenv#563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(cli): issue with execvpe on Windows by \u003ca href=\"https://github.com/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003etheskumar/python-dotenv#566\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/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003etheskumar/python-dotenv#566\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.1.0...v1.1.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.0...v1.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a security policy by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/512\"\u003etheskumar/python-dotenv#512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep GitHub Actions up to date with GitHub's Dependabot by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/506\"\u003etheskumar/python-dotenv#506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: fix multiline string in test.yml \u0026amp; use fail-fast strategy by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/514\"\u003etheskumar/python-dotenv#514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnhance dotenv run: Switch to execvpe for better resource management and signal handling by \u003ca href=\"https://github.com/eekstunt\"\u003e\u003ccode\u003e@​eekstunt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/523\"\u003etheskumar/python-dotenv#523\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add py3.13 to test.yml by \u003ca href=\"https://github.com/waketzheng\"\u003e\u003ccode\u003e@​waketzheng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/527\"\u003etheskumar/python-dotenv#527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Python 3.13 trove classifier by \u003ca href=\"https://github.com/edgarrmondragon\"\u003e\u003ccode\u003e@​edgarrmondragon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/535\"\u003etheskumar/python-dotenv#535\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/529\"\u003etheskumar/python-dotenv#529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for python 3.13 and drop 3.8 by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/551\"\u003etheskumar/python-dotenv#551\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Update README.md by \u003ca href=\"https://github.com/chapeupreto\"\u003e\u003ccode\u003e@​chapeupreto\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/516\"\u003etheskumar/python-dotenv#516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSome more s/Python-dotenv/python-dotenv/ by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/552\"\u003etheskumar/python-dotenv#552\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/theskumar/python-dotenv/blob/main/CHANGELOG.md\"\u003epython-dotenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.2.1] - 2025-10-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMove more config to \u003ccode\u003epyproject.toml\u003c/code\u003e, removed \u003ccode\u003esetup.cfg\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for reading \u003ccode\u003e.env\u003c/code\u003e from FIFOs (Unix) by [\u003ca href=\"https://github.com/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/586\"\u003e#586\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.2.0] - 2025-10-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade build system to use PEP 517 \u0026amp; PEP 518 to use \u003ccode\u003ebuild\u003c/code\u003e and \u003ccode\u003epyproject.toml\u003c/code\u003e by [\u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/583\"\u003e#583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.14 by [\u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/563\"\u003e#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for disabling of \u003ccode\u003eload_dotenv()\u003c/code\u003e using \u003ccode\u003ePYTHON_DOTENV_DISABLED\u003c/code\u003e env var. by [\u003ca href=\"https://github.com/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/569\"\u003e#569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.1.1] - 2025-06-24\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCLI: Ensure \u003ccode\u003efind_dotenv\u003c/code\u003e work reliably on python 3.13 by [\u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/563\"\u003e#563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI: revert the use of execvpe on Windows by [\u003ca href=\"https://github.com/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003e#566\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.1.0] - 2025-03-25\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFeature\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for python 3.13\u003c/li\u003e\n\u003cli\u003eEnhance \u003ccode\u003edotenv run\u003c/code\u003e, switch to \u003ccode\u003eexecvpe\u003c/code\u003e for better resource management and signal handling (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/523\"\u003e#523\u003c/a\u003e) by [\u003ca href=\"https://github.com/eekstunt\"\u003e\u003ccode\u003e@​eekstunt\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFixed\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003efind_dotenv\u003c/code\u003e and \u003ccode\u003eload_dotenv\u003c/code\u003e now correctly looks up at the current directory when running in debugger or pdb (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/553\"\u003e#553\u003c/a\u003e by [\u003ca href=\"https://github.com/randomseed42\"\u003e\u003ccode\u003e@​randomseed42\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eMisc\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/eaf2a9129ccec6febda0f741eb3bb852c3f947bd\"\u003e\u003ccode\u003eeaf2a91\u003c/code\u003e\u003c/a\u003e Do not remove .coverage file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/8716196891532eeb67d24a513e8d975437f5e8b7\"\u003e\u003ccode\u003e8716196\u003c/code\u003e\u003c/a\u003e Bump version: 1.2.0 → 1.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/b87807fcad6e74332c3c63a75c92ce5814fa7a55\"\u003e\u003ccode\u003eb87807f\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/3af77d3029eb717aeec0a3c25f751b6a614a6d3c\"\u003e\u003ccode\u003e3af77d3\u003c/code\u003e\u003c/a\u003e Support reading .env from FIFOs (Unix) (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/586\"\u003e#586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/467ee22fccb2fb7ccda71a0d9e37c6ea3cb8d993\"\u003e\u003ccode\u003e467ee22\u003c/code\u003e\u003c/a\u003e Fix test failures after moving config to pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/76999e741d87e958ebd74e3ae9834c0514e77a59\"\u003e\u003ccode\u003e76999e7\u003c/code\u003e\u003c/a\u003e Move more config pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/222ce2cc58ebc82ba78da8781269267b9f585932\"\u003e\u003ccode\u003e222ce2c\u003c/code\u003e\u003c/a\u003e Update to use trusted publisher on pypi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/8ed4f79d202eba582b44bdf1f5deb726dd68783d\"\u003e\u003ccode\u003e8ed4f79\u003c/code\u003e\u003c/a\u003e Update docs requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/5bf882241c607445bf02cf5b241535d62e2b99c1\"\u003e\u003ccode\u003e5bf8822\u003c/code\u003e\u003c/a\u003e Bump version: 1.1.1 → 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/1fe11cc737ee4399e9c51d1b69b0dd858f6b4669\"\u003e\u003ccode\u003e1fe11cc\u003c/code\u003e\u003c/a\u003e upadate changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.0.1...v1.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `orjson` from 3.10.16 to 3.11.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.5\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.85 or later instead of 1.82.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.1\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePublish PyPI wheels for CPython 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003estr\u003c/code\u003e on big-endian architectures.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse a deserialization buffer allocated per request instead of a shared buffer allocated on import.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.14 beta 4.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.10.18\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix incorrect escaping of the vertical tabulation character. This was\nintroduced in 3.10.17.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.10.17\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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.5 - 2025-12-06\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4 - 2025-10-24\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3 - 2025-08-26\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2 - 2025-08-12\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.85 or later instead of 1.82.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.1 - 2025-07-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePublish PyPI wheels for CPython 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003estr\u003c/code\u003e on big-endian architectures. This was introduced in 3.11.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.0 - 2025-07-15\u003c/h2\u003e\n\u003ch3\u003eChanged\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/ijl/orjson/commit/fb3eb1f729c7e7b019f780af5695722c99c7c695\"\u003e\u003ccode\u003efb3eb1f\u003c/code\u003e\u003c/a\u003e 3.11.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/52688e02c51c845cde24a46cd1011a6010d10eb8\"\u003e\u003ccode\u003e52688e0\u003c/code\u003e\u003c/a\u003e Record contributors in headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/dc083e87d5262e7dde3ba4b1d2a377b5b065a27c\"\u003e\u003ccode\u003edc083e8\u003c/code\u003e\u003c/a\u003e Further compatibility and build misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/18f0186d47fbadd53c9db4e39a442d5b04225418\"\u003e\u003ccode\u003e18f0186\u003c/code\u003e\u003c/a\u003e Compatibility and build misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/a4fdeb3aff125d501ec0dd0577f9b38b2b977b4f\"\u003e\u003ccode\u003ea4fdeb3\u003c/code\u003e\u003c/a\u003e 3.11.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/2e80d68afacafca8751e6a64ca05d0d4087dbd15\"\u003e\u003ccode\u003e2e80d68\u003c/code\u003e\u003c/a\u003e unlikely to cold_path, remove intrinsics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/27edea92f8da2fdfc3f1342474e2f1686f1edf55\"\u003e\u003ccode\u003e27edea9\u003c/code\u003e\u003c/a\u003e FFI through crate::ffi, partial non-CPython compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/416a8c9578da780d0d58b5e6b751793deafc610d\"\u003e\u003ccode\u003e416a8c9\u003c/code\u003e\u003c/a\u003e Unconditionally build yyjson\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/c8c1a17dca8436a2fee05ca060febd096e653d98\"\u003e\u003ccode\u003ec8c1a17\u003c/code\u003e\u003c/a\u003e edition 2024\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/af4179a1fa0aafffd0f867203b6c36e9a522f165\"\u003e\u003ccode\u003eaf4179a\u003c/code\u003e\u003c/a\u003e build maintenance, panic_immediate_abort break, test 3.15\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ijl/orjson/compare/3.10.16...3.11.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `geopandas` from 1.1.1 to 1.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/geopandas/geopandas/releases\"\u003egeopandas's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.1.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix an issue that caused an error in \u003ccode\u003eGeoDataFrame.from_features\u003c/code\u003e when there is no \u003ccode\u003eproperties\u003c/code\u003e field (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3599\"\u003e#3599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eread_file\u003c/code\u003e and \u003ccode\u003eto_file\u003c/code\u003e errors (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3682\"\u003e#3682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eread_parquet\u003c/code\u003e with \u003ccode\u003eto_pandas_kwargs\u003c/code\u003e for complex (list/struct) arrow types (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3640\"\u003e#3640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003evalue_counts\u003c/code\u003e on GeoSeries now preserves CRS in index (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3669\"\u003e#3669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix f-string placeholders appearing in error messages when \u003ccode\u003epyogrio\u003c/code\u003e cannot be imported (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3682\"\u003e#3682\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eread_parquet\u003c/code\u003e with \u003ccode\u003eto_pandas_kwargs\u003c/code\u003e for complex (list/struct) arrow types (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3640\"\u003e#3640\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e.to_json\u003c/code\u003e now provides a clearer error message when called on a GeoDataFrame without an active geometry\ncolumn (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3648\"\u003e#3648\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eCalling \u003ccode\u003edel gdf[\u0026quot;geometry\u0026quot;]\u003c/code\u003e now will downcast to a \u003ccode\u003epd.DataFrame\u003c/code\u003e if there are no geometry columns left\nin the dataframe (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3648\"\u003e#3648\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix SQL injection in \u003ccode\u003eto_postgis\u003c/code\u003e via geometry column name (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3681\"\u003e#3681\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/geopandas/geopandas/compare/v1.1.1...v1.1.2\"\u003ehttps://github.com/geopandas/geopandas/compare/v1.1.1...v1.1.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/geopandas/geopandas/blob/main/CHANGELOG.md\"\u003egeopandas's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.1.2 (December 22, 2025)\u003c/h2\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix an issue that caused an error in \u003ccode\u003eGeoDataFrame.from_features\u003c/code\u003e when there is no \u003ccode\u003eproperties\u003c/code\u003e field (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3599\"\u003e#3599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eread_file\u003c/code\u003e and \u003ccode\u003eto_file\u003c/code\u003e errors (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3682\"\u003e#3682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eread_parquet\u003c/code\u003e with \u003ccode\u003eto_pandas_kwargs\u003c/code\u003e for complex (list/struct) arrow types (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3640\"\u003e#3640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003evalue_counts\u003c/code\u003e on GeoSeries now preserves CRS in index (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3669\"\u003e#3669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix f-string placeholders appearing in error messages when \u003ccode\u003epyogrio\u003c/code\u003e cannot be imported (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3682\"\u003e#3682\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eread_parquet\u003c/code\u003e with \u003ccode\u003eto_pandas_kwargs\u003c/code\u003e for complex (list/struct) arrow types (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3640\"\u003e#3640\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e.to_json\u003c/code\u003e now provides a clearer error message when called on a GeoDataFrame without an active geometry\ncolumn (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3648\"\u003e#3648\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eCalling \u003ccode\u003edel gdf[\u0026quot;geometry\u0026quot;]\u003c/code\u003e now will downcast to a \u003ccode\u003epd.DataFrame\u003c/code\u003e if there are no geometry columns left\nin the dataframe (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3648\"\u003e#3648\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix SQL injection in \u003ccode\u003eto_postgis\u003c/code\u003e via geometry column name (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3681\"\u003e#3681\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/geopandas/geopandas/commit/81214bf9f3eaba9f5fdcfd141ae8d16fa17fd860\"\u003e\u003ccode\u003e81214bf\u003c/code\u003e\u003c/a\u003e RLS: backport fixes for 1.1.2 (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3693\"\u003e#3693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geopandas/geopandas/commit/62dd4a2469bb6236b83fb91466a8183321da04da\"\u003e\u003ccode\u003e62dd4a2\u003c/code\u003e\u003c/a\u003e COMPAT: pandas 3 refactor breaks \u003cstrong\u003efinalize\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3611\"\u003e#3611\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/geopandas/geopandas/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/geopandas/geopandas/compare/v1.1.1...v1.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `geoalchemy2` from 0.17.1 to 0.18.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/geoalchemy/geoalchemy2/releases\"\u003egeoalchemy2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.18.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix (mysql): Fix failing test for MySQL dialect by \u003ca href=\"https://github.com/google-labs-jules\"\u003e\u003ccode\u003e@​google-labs-jules\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/567\"\u003egeoalchemy/geoalchemy2#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/570\"\u003egeoalchemy/geoalchemy2#570\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Allow scientific notation within WKT string by \u003ca href=\"https://github.com/autermann\"\u003e\u003ccode\u003e@​autermann\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/573\"\u003egeoalchemy/geoalchemy2#573\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease: 0.18.1 by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/574\"\u003egeoalchemy/geoalchemy2#574\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/google-labs-jules\"\u003e\u003ccode\u003e@​google-labs-jules\u003c/code\u003e\u003c/a\u003e[bot] made their first contribution in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/567\"\u003egeoalchemy/geoalchemy2#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/autermann\"\u003e\u003ccode\u003e@​autermann\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/573\"\u003egeoalchemy/geoalchemy2#573\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/geoalchemy/geoalchemy2/compare/0.18.0...0.18.1\"\u003ehttps://github.com/geoalchemy/geoalchemy2/compare/0.18.0...0.18.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.18.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBuild: Deprecate Py\u0026lt;3.10 by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/538\"\u003egeoalchemy/geoalchemy2#538\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeat: Add more return types for spatial functions and update some typehints by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/540\"\u003egeoalchemy/geoalchemy2#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCompile literal binds by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/543\"\u003egeoalchemy/geoalchemy2#543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeat: Improve Geometry initializer to make the dimension optional by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/544\"\u003egeoalchemy/geoalchemy2#544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore (mariadb): Stop converting WKB to WKT by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/545\"\u003egeoalchemy/geoalchemy2#545\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs: Update doc to run the tests inside docker containers by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/546\"\u003egeoalchemy/geoalchemy2#546\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest: Add benchmark tests by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/547\"\u003egeoalchemy/geoalchemy2#547\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest: Add more benchmarks by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/553\"\u003egeoalchemy/geoalchemy2#553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore: Create FUNDING.yml by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/554\"\u003egeoalchemy/geoalchemy2#554\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest: Improve readbility of benchmark results by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/556\"\u003egeoalchemy/geoalchemy2#556\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePerf: Define \u003cstrong\u003eslots\u003c/strong\u003e in element classes to reduce memory usage of elements by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/555\"\u003egeoalchemy/geoalchemy2#555\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeat: Handle computed columns by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/557\"\u003egeoalchemy/geoalchemy2#557\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Remove warning message from MySQL/MariaDB reflection by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/560\"\u003egeoalchemy/geoalchemy2#560\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore: Move reflection type registering by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/561\"\u003egeoalchemy/geoalchemy2#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs: correct doc strings by \u003ca href=\"https://github.com/pjonsson\"\u003e\u003ccode\u003e@​pjonsson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/562\"\u003egeoalchemy/geoalchemy2#562\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeat: Add support of spatial indexes for Raster type for PostgreSQL by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/564\"\u003egeoalchemy/geoalchemy2#564\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease: 0.18.0 by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/565\"\u003egeoalchemy/geoalchemy2#565\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/pjonsson\"\u003e\u003ccode\u003e@​pjonsson\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/562\"\u003egeoalchemy/geoalchemy2#562\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/geoalchemy/geoalchemy2/compare/0.17.1...0.18.0\"\u003ehttps://github.com/geoalchemy/geoalchemy2/compare/0.17.1...0.18.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/geoalchemy/geoalchemy2/blob/master/CHANGES.txt\"\u003egeoalchemy2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.18.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Allow scientific notation within WKT string - \u003ca href=\"https://github.com/autermann\"\u003e\u003ccode\u003e@​autermann\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix (mysql): Fix failing test for MySQL dialect - \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.18.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeat: Add support of spatial indexes for Raster type for PostgreSQL \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocs: Fix doc strings for cache enabled - \u003ca href=\"https://github.com/pjonsson\"\u003e\u003ccode\u003e@​pjonsson\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/562\"\u003e#562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore: Move reflection type registering \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e(papacodebear/master) Fix: Remove warning from MySQL/MariaDB reflection \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/560\"\u003e#560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat: Handle computed columns \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/557\"\u003e#557\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest: Improve readability of benchmark results \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/556\"\u003e#556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePerf: Define \u003cstrong\u003eslots\u003c/strong\u003e in element classes to reduce memory usage of elements \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/555\"\u003e#555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore: Create FUNDING.yml \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/554\"\u003e#554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest: Add more benchmarks \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/553\"\u003e#553\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest: Add benchmark tests \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/547\"\u003e#547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocs: Update doc to run the tests inside docker container \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/546\"\u003e#546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePerf (mariadb): Stop converting WKB to WKT \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/545\"\u003e#545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat: Improve Geometry initializer to make the dimension optional \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/544\"\u003e#544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat: Compile literal binds properly \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redi...\n\n_Description has been truncated_","html_url":"https://github.com/Canner/wren-engine/pull/1397","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Canner%2Fwren-engine/issues/1397","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1397/packages"}},{"old_version":"8.1.7","new_version":"8.1.8","update_type":"patch","path":null,"pr_created_at":"2025-12-29T14:57:05.000Z","version_change":"8.1.7 → 8.1.8","issue":{"uuid":"3767614751","node_id":"PR_kwDOPj-SKM661iIa","number":37,"state":"closed","title":"Bump the minor-and-patch group across 1 directory with 15 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-12-29T14:57:18.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-29T14:57:05.000Z","updated_at":"2025-12-29T14:57:25.000Z","time_to_close":13,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"minor-and-patch","update_count":15,"packages":[{"name":"asttokens","old_version":"3.0.0","new_version":"3.0.1","repository_url":"https://github.com/gristlabs/asttokens"},{"name":"charset-normalizer","old_version":"3.4.3","new_version":"3.4.4","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"debugpy","old_version":"1.8.16","new_version":"1.8.19","repository_url":"https://github.com/microsoft/debugpy"},{"name":"executing","old_version":"2.2.0","new_version":"2.2.1","repository_url":"https://github.com/alexmojaki/executing"},{"name":"ipywidgets","old_version":"8.1.7","new_version":"8.1.8","repository_url":"https://github.com/jupyter-widgets/ipywidgets"},{"name":"jupyterlab-widgets","old_version":"3.0.15","new_version":"3.0.16","repository_url":"https://github.com/jupyter-widgets/ipywidgets"},{"name":"markupsafe","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/pallets/markupsafe"},{"name":"nbclient","old_version":"0.10.2","new_version":"0.10.4","repository_url":"https://github.com/jupyter/nbclient"},{"name":"orjson","old_version":"3.11.3","new_version":"3.11.5","repository_url":"https://github.com/ijl/orjson"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"soupsieve","old_version":"2.8","new_version":"2.8.1","repository_url":"https://github.com/facelessuser/soupsieve"},{"name":"tornado","old_version":"6.5.2","new_version":"6.5.4","repository_url":"https://github.com/tornadoweb/tornado"},{"name":"typing-inspection","old_version":"0.4.1","new_version":"0.4.2","repository_url":"https://github.com/pydantic/typing-inspection"},{"name":"wcwidth","old_version":"0.2.13","new_version":"0.2.14","repository_url":"https://github.com/jquast/wcwidth"},{"name":"widgetsnbextension","old_version":"4.0.14","new_version":"4.0.15"}],"path":null,"ecosystem":"pip"},"body":"Bumps the minor-and-patch group with 15 updates in the /siri-watsonx-orchestrate directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [asttokens](https://github.com/gristlabs/asttokens) | `3.0.0` | `3.0.1` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.3` | `3.4.4` |\n| [debugpy](https://github.com/microsoft/debugpy) | `1.8.16` | `1.8.19` |\n| [executing](https://github.com/alexmojaki/executing) | `2.2.0` | `2.2.1` |\n| [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) | `8.1.7` | `8.1.8` |\n| [jupyterlab-widgets](https://github.com/jupyter-widgets/ipywidgets) | `3.0.15` | `3.0.16` |\n| [markupsafe](https://github.com/pallets/markupsafe) | `3.0.2` | `3.0.3` |\n| [nbclient](https://github.com/jupyter/nbclient) | `0.10.2` | `0.10.4` |\n| [orjson](https://github.com/ijl/orjson) | `3.11.3` | `3.11.5` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [soupsieve](https://github.com/facelessuser/soupsieve) | `2.8` | `2.8.1` |\n| [tornado](https://github.com/tornadoweb/tornado) | `6.5.2` | `6.5.4` |\n| [typing-inspection](https://github.com/pydantic/typing-inspection) | `0.4.1` | `0.4.2` |\n| [wcwidth](https://github.com/jquast/wcwidth) | `0.2.13` | `0.2.14` |\n| [widgetsnbextension](http://jupyter.org) | `4.0.14` | `4.0.15` |\n\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 `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 `debugpy` from 1.8.16 to 1.8.19\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/debugpy/releases\"\u003edebugpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003edebugpy v1.8.19\u003c/h2\u003e\n\u003cp\u003eMore fixes for \u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1980\"\u003emicrosoft/debugpy#1980\u003c/a\u003e. Spaces in python files are handled now too.\u003c/p\u003e\n\u003ch2\u003edebugpy v1.8.18\u003c/h2\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1980\"\u003eSpaces in python interpreter cause debug launch failure\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003edebugpy v1.8.17\u003c/h2\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/6cbdf8767e4c88dfaedf3db7b09ce2781496fc51\"\u003eDebug attach for 3.14\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/microsoft/debugpy/commit/698499e9ec6cd6edcf0311bb3a0b0d57ad1198ad\"\u003e\u003ccode\u003e698499e\u003c/code\u003e\u003c/a\u003e Add support for space in the python file (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1982\"\u003e#1982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/e5017d736052d8d84484cdfe05750bd61cc7c50f\"\u003e\u003ccode\u003ee5017d7\u003c/code\u003e\u003c/a\u003e Fix arq quoting to work in runInTerminal (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1981\"\u003e#1981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/1e3fd91306e507a1b88a1a01c586eef4a1d6791b\"\u003e\u003ccode\u003e1e3fd91\u003c/code\u003e\u003c/a\u003e fix the link to Python extension in \u003ccode\u003eCONTRIBUTING.md\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1934\"\u003e#1934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/378339a3a84ecd49761bba31a1685862e207d881\"\u003e\u003ccode\u003e378339a\u003c/code\u003e\u003c/a\u003e Update team rotation list in round-robin workflow (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1978\"\u003e#1978\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/93d93f2d6c2c640fd72113d2bb4a14557584b382\"\u003e\u003ccode\u003e93d93f2\u003c/code\u003e\u003c/a\u003e Update CODEOWNERS to remove a reviewer (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1979\"\u003e#1979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/8f13145a2358ad0f28ef6316fcfa318822789793\"\u003e\u003ccode\u003e8f13145\u003c/code\u003e\u003c/a\u003e Add pyrx-admins as code owners (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1976\"\u003e#1976\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/275caca690ed67c0e94959fe0963e6ef6b14d6b5\"\u003e\u003ccode\u003e275caca\u003c/code\u003e\u003c/a\u003e Add gcc flags (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1947\"\u003e#1947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/82e409e88311aced08885fc9ec19f8e077e5b00e\"\u003e\u003ccode\u003e82e409e\u003c/code\u003e\u003c/a\u003e include py.typed in the distributed package (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1960\"\u003e#1960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/6cbdf8767e4c88dfaedf3db7b09ce2781496fc51\"\u003e\u003ccode\u003e6cbdf87\u003c/code\u003e\u003c/a\u003e update testing for python 3.14 (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1955\"\u003e#1955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/2eb3afede0dd5b3c6229a2b8849efbfa18b3e078\"\u003e\u003ccode\u003e2eb3afe\u003c/code\u003e\u003c/a\u003e Check if \u003ccode\u003eos.__file__\u003c/code\u003e is available before using it (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1944\"\u003e#1944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/microsoft/debugpy/compare/v1.8.16...v1.8.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `executing` from 2.2.0 to 2.2.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexmojaki/executing/commit/bafb305d96572bc8fb668b6564787bbb4fff2809\"\u003e\u003ccode\u003ebafb305\u003c/code\u003e\u003c/a\u003e Add 3.14 to classifiers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexmojaki/executing/commit/5ed2ba36c2df94c91fefabd919880ffe061dc0f2\"\u003e\u003ccode\u003e5ed2ba3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/alexmojaki/executing/issues/97\"\u003e#97\u003c/a\u003e from alexmojaki/3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexmojaki/executing/commit/28095d447af50c49e154de5a27b9423611462f3d\"\u003e\u003ccode\u003e28095d4\u003c/code\u003e\u003c/a\u003e refactor: review changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexmojaki/executing/commit/bb09dc677da7988a2c9555878b3727afa995b2c0\"\u003e\u003ccode\u003ebb09dc6\u003c/code\u003e\u003c/a\u003e refactor: some cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexmojaki/executing/commit/dabc70ef5cc9a45eb57432822cdcf674af2e1db8\"\u003e\u003ccode\u003edabc70e\u003c/code\u003e\u003c/a\u003e fix: inst.argval can be a tuple for sometimes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexmojaki/executing/commit/0772f918c432d6451594bcb6ffccba62e32e794c\"\u003e\u003ccode\u003e0772f91\u003c/code\u003e\u003c/a\u003e fix: removed comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexmojaki/executing/commit/bacc5b699405e6f27d882dd2a71bb0ec30167f37\"\u003e\u003ccode\u003ebacc5b6\u003c/code\u003e\u003c/a\u003e fix: moved verification for CALL_INTRINSIC_2 back to 3.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexmojaki/executing/commit/ec090751a1645cd14bfcb20a79b02371ffd6172b\"\u003e\u003ccode\u003eec09075\u003c/code\u003e\u003c/a\u003e test: added sample_results for 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexmojaki/executing/commit/9405fed0769af3ee22dd4f433249f6494688638e\"\u003e\u003ccode\u003e9405fed\u003c/code\u003e\u003c/a\u003e fix: handle synthetic code to store annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexmojaki/executing/commit/f09e4cd194aa3480c12a9f5afab3524d2a7222f2\"\u003e\u003ccode\u003ef09e4cd\u003c/code\u003e\u003c/a\u003e fix: TypeVar defaults\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/alexmojaki/executing/compare/v2.2.0...v2.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ipywidgets` from 8.1.7 to 8.1.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/releases\"\u003eipywidgets's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd JupyterCon banner and jupyter colors by \u003ca href=\"https://github.com/choldgraf\"\u003e\u003ccode\u003e@​choldgraf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3998\"\u003ejupyter-widgets/ipywidgets#3998\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix badge formatting in README.md by \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4000\"\u003ejupyter-widgets/ipywidgets#4000\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Plausible web stats by \u003ca href=\"https://github.com/jasongrout\"\u003e\u003ccode\u003e@​jasongrout\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4003\"\u003ejupyter-widgets/ipywidgets#4003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate jupyterlab_widgets metadata to indicate it works with JupyterLab 4 by \u003ca href=\"https://github.com/jasongrout\"\u003e\u003ccode\u003e@​jasongrout\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4004\"\u003ejupyter-widgets/ipywidgets#4004\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/choldgraf\"\u003e\u003ccode\u003e@​choldgraf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3998\"\u003ejupyter-widgets/ipywidgets#3998\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\"\u003ehttps://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\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\u003eSee full diff in \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jupyterlab-widgets` from 3.0.15 to 3.0.16\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `markupsafe` from 3.0.2 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/markupsafe/releases\"\u003emarkupsafe's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003cp\u003eThis is the MarkupSafe 3.0.3 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/MarkupSafe/3.0.3/\"\u003ehttps://pypi.org/project/MarkupSafe/3.0.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://markupsafe.palletsprojects.com/page/changes/#version-3-0-3\"\u003ehttps://markupsafe.palletsprojects.com/page/changes/#version-3-0-3\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/markupsafe/milestone/15?closed=1\"\u003ehttps://github.com/pallets/markupsafe/milestone/15?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e__version__\u003c/code\u003e raises \u003ccode\u003eDeprecationWarning\u003c/code\u003e instead of \u003ccode\u003eUserWarning\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/487\"\u003e#487\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdopt multi-phase initialization PEP 489 for the C extension. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/494\"\u003e#494\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild Windows ARM64 wheels. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/485\"\u003e#485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild Python 3.14 wheels. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/503\"\u003e#503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild riscv64 wheels. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/505\"\u003e#505\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/markupsafe/blob/main/CHANGES.rst\"\u003emarkupsafe's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.0.3\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-27\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e__version__\u003c/code\u003e raises \u003ccode\u003eDeprecationWarning\u003c/code\u003e instead of \u003ccode\u003eUserWarning\u003c/code\u003e.\n:issue:\u003ccode\u003e487\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdopt multi-phase initialisation (:pep:\u003ccode\u003e489\u003c/code\u003e) for the C extension.\n:issue:\u003ccode\u003e494\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eBuild Windows ARM64 wheels. :issue:\u003ccode\u003e485\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eBuild Python 3.14 wheels. :issue:\u003ccode\u003e503\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eBuild riscv64 wheels. :issue:\u003ccode\u003e505\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/297fc8e356e6836a62087949245d09a28e9f1b13\"\u003e\u003ccode\u003e297fc8e\u003c/code\u003e\u003c/a\u003e release version 3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/7e4e6ce249107c5f27fa6fe890e29da7a8dc8f0c\"\u003e\u003ccode\u003e7e4e6ce\u003c/code\u003e\u003c/a\u003e Free-threading: run with pytest-run-paralell (\u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/507\"\u003e#507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/6100b9c0d466495a08d55b33cb172d7b5d8e9aa1\"\u003e\u003ccode\u003e6100b9c\u003c/code\u003e\u003c/a\u003e enable riscv64 wheels (\u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/506\"\u003e#506\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/c9d5ecfc7eec6f611b19cdc8e1cde1aaa65cb8eb\"\u003e\u003ccode\u003ec9d5ecf\u003c/code\u003e\u003c/a\u003e enable riscv64 wheels\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/2f9b33753052e7c6df1464a7c900787d04ae9daf\"\u003e\u003ccode\u003e2f9b337\u003c/code\u003e\u003c/a\u003e tox for 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/78d951a9549dee9fc901c55fc79a74a5f01e96fc\"\u003e\u003ccode\u003e78d951a\u003c/code\u003e\u003c/a\u003e update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/bb6744e392e79611b110c5ba022238eb1b855cc2\"\u003e\u003ccode\u003ebb6744e\u003c/code\u003e\u003c/a\u003e add entry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/65c4134ab16a3faccbcac2cba90da0db2b799542\"\u003e\u003ccode\u003e65c4134\u003c/code\u003e\u003c/a\u003e upgrade cibuildwheel, add \u003ccode\u003ecp314\u003c/code\u003e wheels and test on CPython 3.14 (\u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/504\"\u003e#504\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/3a9bd88b84c9edba8b922bb12b84a59feed98788\"\u003e\u003ccode\u003e3a9bd88\u003c/code\u003e\u003c/a\u003e add cp314 wheels\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/aafe44d87bd7974bc82af8c4010dea9938441edf\"\u003e\u003ccode\u003eaafe44d\u003c/code\u003e\u003c/a\u003e remove slsa provenance (\u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/501\"\u003e#501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/markupsafe/compare/3.0.2...3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nbclient` from 0.10.2 to 0.10.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter/nbclient/releases\"\u003enbclient's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.10.4\u003c/h2\u003e\n\u003ch2\u003e0.10.4\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbclient/compare/v0.10.3...af9b77a952b78b2bd548945471114315d202afbf\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eMerged PRs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow \u003ccode\u003edisplay_id\u003c/code\u003e to be \u003ccode\u003eNone\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyter/nbclient/pull/338\"\u003e#338\u003c/a\u003e (\u003ca href=\"https://github.com/davidbrochart\"\u003e\u003ccode\u003e@​davidbrochart\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/YannickJadoul\"\u003e\u003ccode\u003e@​YannickJadoul\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/slayoo\"\u003e\u003ccode\u003e@​slayoo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbclient/graphs/contributors?from=2025-12-19\u0026amp;to=2025-12-23\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/davidbrochart\"\u003e\u003ccode\u003e@​davidbrochart\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbclient+involves%3Adavidbrochart+updated%3A2025-12-19..2025-12-23\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/slayoo\"\u003e\u003ccode\u003e@​slayoo\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbclient+involves%3Aslayoo+updated%3A2025-12-19..2025-12-23\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/YannickJadoul\"\u003e\u003ccode\u003e@​YannickJadoul\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbclient+involves%3AYannickJadoul+updated%3A2025-12-19..2025-12-23\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003ev0.10.3\u003c/h2\u003e\n\u003ch2\u003e0.10.3\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbclient/compare/v0.10.2...b42ad03acc0bb1ed26db65ab72ac617679cbbb62\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eMerged PRs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop Python 3.9, test 3.14 and pypy-3.11 \u003ca href=\"https://redirect.github.com/jupyter/nbclient/pull/337\"\u003e#337\u003c/a\u003e (\u003ca href=\"https://github.com/davidbrochart\"\u003e\u003ccode\u003e@​davidbrochart\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecorrect execution count in test for ipython 9.8 and above \u003ca href=\"https://redirect.github.com/jupyter/nbclient/pull/335\"\u003e#335\u003c/a\u003e (\u003ca href=\"https://github.com/drorspei\"\u003e\u003ccode\u003e@​drorspei\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/davidbrochart\"\u003e\u003ccode\u003e@​davidbrochart\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate contribution with pytest instructions, remove tox. \u003ca href=\"https://redirect.github.com/jupyter/nbclient/pull/331\"\u003e#331\u003c/a\u003e (\u003ca href=\"https://github.com/dgrahn\"\u003e\u003ccode\u003e@​dgrahn\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/davidbrochart\"\u003e\u003ccode\u003e@​davidbrochart\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbclient/graphs/contributors?from=2024-12-19\u0026amp;to=2025-12-19\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/davidbrochart\"\u003e\u003ccode\u003e@​davidbrochart\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbclient+involves%3Adavidbrochart+updated%3A2024-12-19..2025-12-19\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/dgrahn\"\u003e\u003ccode\u003e@​dgrahn\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbclient+involves%3Adgrahn+updated%3A2024-12-19..2025-12-19\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/drorspei\"\u003e\u003ccode\u003e@​drorspei\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbclient+involves%3Adrorspei+updated%3A2024-12-19..2025-12-19\u0026amp;type=Issues\"\u003eactivity\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/jupyter/nbclient/blob/main/CHANGELOG.md\"\u003enbclient's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.10.4\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbclient/compare/v0.10.3...af9b77a952b78b2bd548945471114315d202afbf\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eMerged PRs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow \u003ccode\u003edisplay_id\u003c/code\u003e to be \u003ccode\u003eNone\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyter/nbclient/pull/338\"\u003e#338\u003c/a\u003e (\u003ca href=\"https://github.com/davidbrochart\"\u003e\u003ccode\u003e@​davidbrochart\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/YannickJadoul\"\u003e\u003ccode\u003e@​YannickJadoul\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/slayoo\"\u003e\u003ccode\u003e@​slayoo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbclient/graphs/contributors?from=2025-12-19\u0026amp;to=2025-12-23\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/davidbrochart\"\u003e\u003ccode\u003e@​davidbrochart\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbclient+involves%3Adavidbrochart+updated%3A2025-12-19..2025-12-23\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/slayoo\"\u003e\u003ccode\u003e@​slayoo\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbclient+involves%3Aslayoo+updated%3A2025-12-19..2025-12-23\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/YannickJadoul\"\u003e\u003ccode\u003e@​YannickJadoul\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbclient+involves%3AYannickJadoul+updated%3A2025-12-19..2025-12-23\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e)\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e0.10.3\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbclient/compare/v0.10.2...b42ad03acc0bb1ed26db65ab72ac617679cbbb62\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eMerged PRs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop Python 3.9, test 3.14 and pypy-3.11 \u003ca href=\"https://redirect.github.com/jupyter/nbclient/pull/337\"\u003e#337\u003c/a\u003e (\u003ca href=\"https://github.com/davidbrochart\"\u003e\u003ccode\u003e@​davidbrochart\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecorrect execution count in test for ipython 9.8 and above \u003ca href=\"https://redirect.github.com/jupyter/nbclient/pull/335\"\u003e#335\u003c/a\u003e (\u003ca href=\"https://github.com/drorspei\"\u003e\u003ccode\u003e@​drorspei\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/davidbrochart\"\u003e\u003ccode\u003e@​davidbrochart\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate contribution with pytest instructions, remove tox. \u003ca href=\"https://redirect.github.com/jupyter/nbclient/pull/331\"\u003e#331\u003c/a\u003e (\u003ca href=\"https://github.com/dgrahn\"\u003e\u003ccode\u003e@​dgrahn\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/davidbrochart\"\u003e\u003ccode\u003e@​davidbrochart\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors to this release\u003c/h3\u003e\n\u003cp\u003eThe following people contributed discussions, new ideas, code and documentation contributions, and review.\nSee \u003ca href=\"https://github-activity.readthedocs.io/en/latest/#how-does-this-tool-define-contributions-in-the-reports\"\u003eour definition of contributors\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyter/nbclient/graphs/contributors?from=2024-12-19\u0026amp;to=2025-12-19\u0026amp;type=c\"\u003eGitHub contributors page for this release\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/davidbrochart\"\u003e\u003ccode\u003e@​davidbrochart\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbclient+involves%3Adavidbrochart+updated%3A2024-12-19..2025-12-19\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/dgrahn\"\u003e\u003ccode\u003e@​dgrahn\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbclient+involves%3Adgrahn+updated%3A2024-12-19..2025-12-19\u0026amp;type=Issues\"\u003eactivity\u003c/a\u003e) | \u003ca href=\"https://github.com/drorspei\"\u003e\u003ccode\u003e@​drorspei\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/search?q=repo%3Ajupyter%2Fnbclient+involves%3Adrorspei+updated%3A2024-12-19..2025-12-19\u0026amp;type=Issues\"\u003eactivity\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/jupyter/nbclient/commit/e500e95e01a0fc9abf8df06c1a882077f37e0b8e\"\u003e\u003ccode\u003ee500e95\u003c/code\u003e\u003c/a\u003e Publish 0.10.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbclient/commit/af9b77a952b78b2bd548945471114315d202afbf\"\u003e\u003ccode\u003eaf9b77a\u003c/code\u003e\u003c/a\u003e Allow display_id to be None (\u003ca href=\"https://redirect.github.com/jupyter/nbclient/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbclient/commit/5a52a0af9062f89b9aa8746441f16dfcbc4ccb1a\"\u003e\u003ccode\u003e5a52a0a\u003c/code\u003e\u003c/a\u003e Publish 0.10.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbclient/commit/b42ad03acc0bb1ed26db65ab72ac617679cbbb62\"\u003e\u003ccode\u003eb42ad03\u003c/code\u003e\u003c/a\u003e correct execution count in tests for ipython 9.8 and above (\u003ca href=\"https://redirect.github.com/jupyter/nbclient/issues/335\"\u003e#335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbclient/commit/3352484da606e1ab62705df7edd9ec1bc8f05262\"\u003e\u003ccode\u003e3352484\u003c/code\u003e\u003c/a\u003e Drop Python 3.9, test 3.14 and pypy-3.11 (\u003ca href=\"https://redirect.github.com/jupyter/nbclient/issues/337\"\u003e#337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter/nbclient/commit/ec86eefde30136ea80bdb71cec247e7024014f2f\"\u003e\u003ccode\u003eec86eef\u003c/code\u003e\u003c/a\u003e Update contribution with hatch instructions, remove tox. (\u003ca href=\"https://redirect.github.com/jupyter/nbclient/issues/331\"\u003e#331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jupyter/nbclient/compare/v0.10.2...v0.10.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `orjson` from 3.11.3 to 3.11.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.5\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.5 - 2025-12-06\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4 - 2025-10-24\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\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/ijl/orjson/commit/fb3eb1f729c7e7b019f780af5695722c99c7c695\"\u003e\u003ccode\u003efb3eb1f\u003c/code\u003e\u003c/a\u003e 3.11.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/52688e02c51c845cde24a46cd1011a6010d10eb8\"\u003e\u003ccode\u003e52688e0\u003c/code\u003e\u003c/a\u003e Record contributors in headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/dc083e87d5262e7dde3ba4b1d2a377b5b065a27c\"\u003e\u003ccode\u003edc083e8\u003c/code\u003e\u003c/a\u003e Further compatibility and build misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/18f0186d47fbadd53c9db4e39a442d5b04225418\"\u003e\u003ccode\u003e18f0186\u003c/code\u003e\u003c/a\u003e Compatibility and build misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/a4fdeb3aff125d501ec0dd0577f9b38b2b977b4f\"\u003e\u003ccode\u003ea4fdeb3\u003c/code\u003e\u003c/a\u003e 3.11.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/2e80d68afacafca8751e6a64ca05d0d4087dbd15\"\u003e\u003ccode\u003e2e80d68\u003c/code\u003e\u003c/a\u003e unlikely to cold_path, remove intrinsics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/27edea92f8da2fdfc3f1342474e2f1686f1edf55\"\u003e\u003ccode\u003e27edea9\u003c/code\u003e\u003c/a\u003e FFI through crate::ffi, partial non-CPython compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/416a8c9578da780d0d58b5e6b751793deafc610d\"\u003e\u003ccode\u003e416a8c9\u003c/code\u003e\u003c/a\u003e Unconditionally build yyjson\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/c8c1a17dca8436a2fee05ca060febd096e653d98\"\u003e\u003ccode\u003ec8c1a17\u003c/code\u003e\u003c/a\u003e edition 2024\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/af4179a1fa0aafffd0f867203b6c36e9a522f165\"\u003e\u003ccode\u003eaf4179a\u003c/code\u003e\u003c/a\u003e build maintenance, panic_immediate_abort break, test 3.15\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ijl/orjson/compare/3.11.3...3.11.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyyaml` from 6.0.2 to 6.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/yaml/pyyaml/releases\"\u003epyyaml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.0.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14 and free-threading (experimental).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/yaml/pyyaml/compare/6.0.2...6.0.3\"\u003ehttps://github.com/yaml/pyyaml/compare/6.0.2...6.0.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/yaml/pyyaml/blob/6.0.3/CHANGES\"\u003epyyaml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e6.0.3 (2025-09-25)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/yaml/pyyaml/pull/864\"\u003eyaml/pyyaml#864\u003c/a\u003e -- Support for Python 3.14 and free-threading (experimental)\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/yaml/pyyaml/commit/49790e73684bebad1df05ef8d828fa12f685bffb\"\u003e\u003ccode\u003e49790e7\u003c/code\u003e\u003c/a\u003e Release 6.0.3 (\u003ca href=\"https://redirect.github.com/yaml/pyyaml/issues/889\"\u003e#889\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/yaml/pyyaml/compare/6.0.2...6.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `soupsieve` from 2.8 to 2.8.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/facelessuser/soupsieve/releases\"\u003esoupsieve's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.8.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFIX\u003c/strong\u003e: Changes in tests to accommodate latest Python HTML parser changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facelessuser/soupsieve/commit/f89979745e12e83dbb31dde910a0ad08e9c5c717\"\u003e\u003ccode\u003ef899797\u003c/code\u003e\u003c/a\u003e Adjust changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facelessuser/soupsieve/commit/1b964a850bb482cc183f3f70811b25487ba200ee\"\u003e\u003ccode\u003e1b964a8\u003c/code\u003e\u003c/a\u003e Switch to using Zensical for documents (\u003ca href=\"https://redirect.github.com/facelessuser/soupsieve/issues/286\"\u003e#286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facelessuser/soupsieve/commit/046ce54956a0c30120038561e53b40994d29de2c\"\u003e\u003ccode\u003e046ce54\u003c/code\u003e\u003c/a\u003e Adjustments for changes in HTML parser (\u003ca href=\"https://redirect.github.com/facelessuser/soupsieve/issues/285\"\u003e#285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/facelessuser/soupsieve/compare/2.8...2.8.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tornado` from 6.5.2 to 6.5.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tornadoweb/tornado/blob/v6.5.4/docs/releases.rst\"\u003etornado's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease notes\u003c/h1\u003e\n\u003cp\u003e.. toctree::\n:maxdepth: 2\u003c/p\u003e\n\u003cp\u003ereleases/v6.5.4\nreleases/v6.5.3\nreleases/v6.5.2\nreleases/v6.5.1\nreleases/v6.5.0\nreleases/v6.4.2\nreleases/v6.4.1\nreleases/v6.4.0\nreleases/v6.3.3\nreleases/v6.3.2\nreleases/v6.3.1\nreleases/v6.3.0\nreleases/v6.2.0\nreleases/v6.1.0\nreleases/v6.0.4\nreleases/v6.0.3\nreleases/v6.0.2\nreleases/v6.0.1\nreleases/v6.0.0\nreleases/v5.1.1\nreleases/v5.1.0\nreleases/v5.0.2\nreleases/v5.0.1\nreleases/v5.0.0\nreleases/v4.5.3\nreleases/v4.5.2\nreleases/v4.5.1\nreleases/v4.5.0\nreleases/v4.4.3\nreleases/v4.4.2\nreleases/v4.4.1\nreleases/v4.4.0\nreleases/v4.3.0\nreleases/v4.2.1\nreleases/v4.2.0\nreleases/v4.1.0\nreleases/v4.0.2\nreleases/v4.0.1\nreleases/v4.0.0\nreleases/v3.2.2\nreleases/v3.2.1\nreleases/v3.2.0\nreleases/v3.1.1\nreleases/v3.1.0\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/tornadoweb/tornado/commit/63d4df4eefa6750bb14efa1ebffe67b8c54fbad4\"\u003e\u003ccode\u003e63d4df4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3564\"\u003e#3564\u003c/a\u003e from bdarnell/release-654\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/eadbf9adbe9db19e2686a32f48ddf9a25518c4f6\"\u003e\u003ccode\u003eeadbf9a\u003c/code\u003e\u003c/a\u003e Release notes and version bump for 6.5.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/bbc2b1429c6db80765a8a95c09ddddc7bb40e4e8\"\u003e\u003ccode\u003ebbc2b14\u003c/code\u003e\u003c/a\u003e Make sure that the in-operator on HTTPHeaders is case insensitive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/38014ddb51520ff7762c1d55535925dba2cdbe31\"\u003e\u003ccode\u003e38014dd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3558\"\u003e#3558\u003c/a\u003e from bdarnell/relnotes-653\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/083e2b24bb0ab1bbc049192d5aca86c059c98d80\"\u003e\u003ccode\u003e083e2b2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3557\"\u003e#3557\u003c/a\u003e from bdarnell/perf-counter-65\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/31431c9aecefeb64b4c2fddcff5a25eccc12e981\"\u003e\u003ccode\u003e31431c9\u003c/code\u003e\u003c/a\u003e test: Use time.perf_counter instead of time.time for performance tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/07b5924706b1992ccc4c272365efcf46b08e8b0d\"\u003e\u003ccode\u003e07b5924\u003c/code\u003e\u003c/a\u003e tox: Pin pycares version 4 due to backwards-incompatible changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/a5e50e20d635916415b8609df1bbad57fce3613c\"\u003e\u003ccode\u003ea5e50e2\u003c/code\u003e\u003c/a\u003e Release notes and version bump for 6.5.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/297662942893c1f01a8e4ca0f82503e89594a53c\"\u003e\u003ccode\u003e2976629\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tornadoweb/tornado/issues/3555\"\u003e#3555\u003c/a\u003e from bdarnell/release-653\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tornadoweb/tornado/commit/9c163aebeaad9e6e7d28bac1f33580eb00b0e421\"\u003e\u003ccode\u003e9c163ae\u003c/code\u003e\u003c/a\u003e web: Harden against invalid HTTP reason phrases\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tornadoweb/tornado/compare/v6.5.2...v6.5.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typing-inspection` from 0.4.1 to 0.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/typing-inspection/releases\"\u003etyping-inspection's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.4.2 2025-10-01\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_objects.is_noextraitems()\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/typing-inspection/pull/47\"\u003epydantic/typing-inspection#47\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/typing-inspection/compare/v0.4.1...v0.4.2\"\u003ehttps://github.com/pydantic/typing-inspection/compare/v0.4.1...v0.4.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/typing-inspection/blob/main/HISTORY.md\"\u003etyping-inspection's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.4.2 (2025-10-01)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_objects.is_noextraitems()\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/typing-inspection/pull/47\"\u003e#47\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/typing-inspection/commit/8db011350942f33ac4b5d7db60d4d9ea83ab480f\"\u003e\u003ccode\u003e8db0113\u003c/code\u003e\u003c/a\u003e Prepare release 0.4.2 (\u003ca href=\"https://redirect.github.com/pydantic/typing-inspection/issues/48\"\u003e#48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/typing-inspection/commit/f4dfd61a26694531dfb48711e35fbabb0929e75c\"\u003e\u003ccode\u003ef4dfd61\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003etyping_objects.is_noextraitems()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pydantic/typing-inspection/issues/47\"\u003e#47\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pydantic/typing-inspection/compare/v0.4.1...v0.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `wcwidth` from 0.2.13 to 0.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jquast/wcwidth/releases\"\u003ewcwidth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e0.2.14 \u003cem\u003e2025-09-22\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eDrop Support\u003c/strong\u003e for Python 2.7 and 3.5. PR \u003ca href=\"https://redirect.github.com/jquast/wcwidth/issues/117\"\u003e#117\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eUpdate\u003c/strong\u003e tables to include Unicode Specifications 16.0.0 and 17.0.0.\nPR \u003ca href=\"https://redirect.github.com/jquast/wcwidth/issues/146\"\u003e#146\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBugfix\u003c/strong\u003e U+00AD SOFT HYPHEN should measure as 1, versions 0.2.9 through\n0.2.13 measured as 0. PR \u003ca href=\"https://redirect.github.com/jquast/wcwidth/issues/149\"\u003e#149\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jquast/wcwidth/compare/0.2.13...0.2.14\"\u003ehttps://github.com/jquast/wcwidth/compare/0.2.13...0.2.14\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/jquast/wcwidth/commit/ed5fb46d9c6fd0ad9977468f84640c4df8369c3b\"\u003e\u003ccode\u003eed5fb46\u003c/code\u003e\u003c/a\u003e Set version number for 0.2.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/wcwidth/commit/f6f397ead11f02db2352ed547452aee4e885afc6\"\u003e\u003ccode\u003ef6f397e\u003c/code\u003e\u003c/a\u003e Also document drop of Python 2.7/3.5, add PR hyperlinks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/wcwidth/commit/201d7697426221ebb4e97c007190c50d9855fd72\"\u003e\u003ccode\u003e201d769\u003c/code\u003e\u003c/a\u003e update release date\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/wcwidth/commit/e3bcb1617784728ad8f7a7c825f548baea8f1f95\"\u003e\u003ccode\u003ee3bcb16\u003c/code\u003e\u003c/a\u003e Test Python 3.13+3.14 again, and, update dev/ci requirements.txt (\u003ca href=\"https://redirect.github.com/jquast/wcwidth/issues/150\"\u003e#150\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/wcwidth/commit/b9857b5f754a054aa92cb70adbc7ad23f882b812\"\u003e\u003ccode\u003eb9857b5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jquast/wcwidth/issues/149\"\u003e#149\u003c/a\u003e from jquast/jq/soft-hyphen-becomes-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/wcwidth/commit/b72dd12c0799788d9755ec31eaad601e82f83f01\"\u003e\u003ccode\u003eb72dd12\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into jq/soft-hyphen-becomes-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/wcwidth/commit/56b4327945b607a45aec5c4aed689fbffbcecbd6\"\u003e\u003ccode\u003e56b4327\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jquast/wcwidth/issues/117\"\u003e#117\u003c/a\u003e from hugovk/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/wcwidth/commit/a753ba4c17bd8036a9571e790fff0c0ec2f26933\"\u003e\u003ccode\u003ea753ba4\u003c/code\u003e\u003c/a\u003e Fix merge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/wcwidth/commit/6dc8a5f8117212655467fa5d07caf3433739fa65\"\u003e\u003ccode\u003e6dc8a5f\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'upstream/master'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/wcwidth/commit/b1f46096fb12a2c00b4ef15584636ea748c0b09a\"\u003e\u003ccode\u003eb1f4609\u003c/code\u003e\u003c/a\u003e Merge branch 'jq/soft-hyphen-becomes-1' of github.com:jquast/wcwidth into jq/...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jquast/wcwidth/compare/0.2.13...0.2.14\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `widgetsnbextension` from 4.0.14 to 4.0.15\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/IBM/oic-i-agentic-ai-tutorials/pull/37","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/IBM%2Foic-i-agentic-ai-tutorials/issues/37","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/37/packages"}},{"old_version":"8.1.7","new_version":"8.1.8","update_type":"patch","path":null,"pr_created_at":"2025-12-15T18:44:22.000Z","version_change":"8.1.7 → 8.1.8","issue":{"uuid":"3731680920","node_id":"PR_kwDOHTdvBs64_Xbv","number":1388,"state":"open","title":"deps(ibis): bump the all group across 1 directory with 31 updates","user":"dependabot[bot]","labels":["ibis","dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-12-15T18:44:22.000Z","updated_at":"2025-12-15T18:44:36.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(ibis): bump","group_name":"all","update_count":31,"packages":[{"name":"fastapi","old_version":"0.120.1","new_version":"0.124.4","repository_url":"https://github.com/fastapi/fastapi"},{"name":"pydantic","old_version":"2.10.6","new_version":"2.12.5","repository_url":"https://github.com/pydantic/pydantic"},{"name":"google-auth","old_version":"2.38.0","new_version":"2.44.0","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"python-dotenv","old_version":"1.0.1","new_version":"1.2.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"orjson","old_version":"3.10.16","new_version":"3.11.5","repository_url":"https://github.com/ijl/orjson"},{"name":"geoalchemy2","old_version":"0.17.1","new_version":"0.18.1","repository_url":"https://github.com/geoalchemy/geoalchemy2"},{"name":"gql","old_version":"3.5.2","new_version":"4.0.0","repository_url":"https://github.com/graphql-python/gql"},{"name":"anyio","old_version":"4.10.0","new_version":"4.12.0","repository_url":"https://github.com/agronholm/anyio"},{"name":"duckdb","old_version":"1.3.2","new_version":"1.4.3","repository_url":"https://github.com/duckdb/duckdb-python"},{"name":"oracledb","old_version":"3.3.0","new_version":"3.4.1","repository_url":"https://github.com/oracle/python-oracledb"},{"name":"uvicorn","old_version":"0.35.0","new_version":"0.38.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"uvicorn-worker","old_version":"0.3.0","new_version":"0.4.0","repository_url":"https://github.com/Kludex/uvicorn-worker"},{"name":"redshift-connector","old_version":"2.1.7","new_version":"2.1.10","repository_url":"https://github.com/aws/amazon-redshift-python-driver"},{"name":"datafusion","old_version":"47.0.0","new_version":"50.1.0","repository_url":"https://github.com/apache/datafusion-python"},{"name":"starlette","old_version":"0.49.1","new_version":"0.50.0","repository_url":"https://github.com/Kludex/starlette"},{"name":"databricks-sql-connector","old_version":"4.1.4","new_version":"4.2.2","repository_url":"https://github.com/databricks/databricks-sql-python"},{"name":"databricks-sdk","old_version":"0.73.0","new_version":"0.74.0","repository_url":"https://github.com/databricks/databricks-sdk-py"},{"name":"jupyterlab","old_version":"4.4.9","new_version":"4.5.1","repository_url":"https://github.com/jupyterlab/jupyterlab"},{"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":"matplotlib","old_version":"3.10.6","new_version":"3.10.8","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"plotly","old_version":"6.3.0","new_version":"6.5.0","repository_url":"https://github.com/plotly/plotly.py"},{"name":"pytest","old_version":"8.3.5","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"testcontainers","old_version":"4.9.2","new_version":"4.13.3","repository_url":"https://github.com/testcontainers/testcontainers-python"},{"name":"sqlalchemy","old_version":"2.0.39","new_version":"2.0.45","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"pre-commit","old_version":"4.2.0","new_version":"4.5.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"ruff","old_version":"0.11.2","new_version":"0.14.9","repository_url":"https://github.com/astral-sh/ruff"},{"name":"trino","old_version":"0.335.0","new_version":"0.336.0","repository_url":"https://github.com/trinodb/trino-python-client"},{"name":"psycopg2","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"clickhouse-connect","old_version":"0.8.15","new_version":"0.10.0","repository_url":"https://github.com/ClickHouse/clickhouse-connect"},{"name":"polars","old_version":"1.33.1","new_version":"1.36.1","repository_url":"https://github.com/pola-rs/polars"}],"path":null,"ecosystem":"pip"},"body":"Bumps the all group with 31 updates in the /ibis-server directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.120.1` | `0.124.4` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.10.6` | `2.12.5` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.38.0` | `2.44.0` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.2.1` |\n| [orjson](https://github.com/ijl/orjson) | `3.10.16` | `3.11.5` |\n| [geoalchemy2](https://github.com/geoalchemy/geoalchemy2) | `0.17.1` | `0.18.1` |\n| [gql](https://github.com/graphql-python/gql) | `3.5.2` | `4.0.0` |\n| [anyio](https://github.com/agronholm/anyio) | `4.10.0` | `4.12.0` |\n| [duckdb](https://github.com/duckdb/duckdb-python) | `1.3.2` | `1.4.3` |\n| [oracledb](https://github.com/oracle/python-oracledb) | `3.3.0` | `3.4.1` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.35.0` | `0.38.0` |\n| [uvicorn-worker](https://github.com/Kludex/uvicorn-worker) | `0.3.0` | `0.4.0` |\n| [redshift-connector](https://github.com/aws/amazon-redshift-python-driver) | `2.1.7` | `2.1.10` |\n| [datafusion](https://github.com/apache/datafusion-python) | `47.0.0` | `50.1.0` |\n| [starlette](https://github.com/Kludex/starlette) | `0.49.1` | `0.50.0` |\n| [databricks-sql-connector](https://github.com/databricks/databricks-sql-python) | `4.1.4` | `4.2.2` |\n| [databricks-sdk](https://github.com/databricks/databricks-sdk-py) | `0.73.0` | `0.74.0` |\n| [jupyterlab](https://github.com/jupyterlab/jupyterlab) | `4.4.9` | `4.5.1` |\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| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.10.6` | `3.10.8` |\n| [plotly](https://github.com/plotly/plotly.py) | `6.3.0` | `6.5.0` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.3.5` | `9.0.2` |\n| [testcontainers](https://github.com/testcontainers/testcontainers-python) | `4.9.2` | `4.13.3` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.39` | `2.0.45` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.2.0` | `4.5.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.11.2` | `0.14.9` |\n| [trino](https://github.com/trinodb/trino-python-client) | `0.335.0` | `0.336.0` |\n| [psycopg2](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [clickhouse-connect](https://github.com/ClickHouse/clickhouse-connect) | `0.8.15` | `0.10.0` |\n| [polars](https://github.com/pola-rs/polars) | `1.33.1` | `1.36.1` |\n\n\nUpdates `fastapi` from 0.120.1 to 0.124.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.124.4\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix parameter aliases. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14371\"\u003e#14371\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.124.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix support for tagged union with discriminator inside of \u003ccode\u003eAnnotated\u003c/code\u003e with \u003ccode\u003eBody()\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14512\"\u003e#14512\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Add set of tests for request parameters and alias. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14358\"\u003e#14358\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Tweak links format. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14505\"\u003e#14505\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update docs about re-raising validation errors, do not include string as is to not leak information. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14487\"\u003e#14487\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔥 Remove external links section. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14486\"\u003e#14486\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🌐 Sync Russian docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14509\"\u003e#14509\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Sync German docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14488\"\u003e#14488\u003c/a\u003e by \u003ca href=\"https://github.com/nilslindemann\"\u003e\u003ccode\u003e@​nilslindemann\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Tweak coverage to not pass Smokeshow max file size limit. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14507\"\u003e#14507\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✅ Expand test matrix to include Windows and MacOS. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14171\"\u003e#14171\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.124.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix support for \u003ccode\u003eif TYPE_CHECKING\u003c/code\u003e,  non-evaluated stringified annotations. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14485\"\u003e#14485\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.124.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix handling arbitrary types when using \u003ccode\u003earbitrary_types_allowed=True\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14482\"\u003e#14482\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Add variants for code examples in \u0026quot;Advanced User Guide\u0026quot;. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14413\"\u003e#14413\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update tech stack in project generation docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14472\"\u003e#14472\u003c/a\u003e by \u003ca href=\"https://github.com/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Add test for Pydantic v2, dataclasses, UUID, and \u003ccode\u003e__annotations__\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14477\"\u003e#14477\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.124.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/b1d9769f97295a238df8c2d318ad65dd6a40c6ff\"\u003e\u003ccode\u003eb1d9769\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.124.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/89157a803c4c75332566a5ca499afd5358c42049\"\u003e\u003ccode\u003e89157a8\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/d86c47477e4d91b5e1f07973b3437908558a8b4b\"\u003e\u003ccode\u003ed86c474\u003c/code\u003e\u003c/a\u003e 🐛 Fix parameter aliases (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14371\"\u003e#14371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/3fe6522aaed4d36d6a38175a4a8137ee0fc62451\"\u003e\u003ccode\u003e3fe6522\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.124.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/80d1f732e5e10efe75e03427558271d46cd663e3\"\u003e\u003ccode\u003e80d1f73\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c0556ac3a50420d0ba298b5641517c61f3c1c2c4\"\u003e\u003ccode\u003ec0556ac\u003c/code\u003e\u003c/a\u003e 🐛 Fix support for tagged union with discriminator inside of \u003ccode\u003eAnnotated\u003c/code\u003e with ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/1fcec88ad2df4541b6a81c4786c4d039dc745e1e\"\u003e\u003ccode\u003e1fcec88\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/f8b216df30f4d4fd36dccf7c7e885154a2699838\"\u003e\u003ccode\u003ef8b216d\u003c/code\u003e\u003c/a\u003e 🌐 Sync Russian docs (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14509\"\u003e#14509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/4b905b614c84fbf4a278bdb69f4a22d52a43721e\"\u003e\u003ccode\u003e4b905b6\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/6c54bcefd3c37c8656e909980af00f86acea99c3\"\u003e\u003ccode\u003e6c54bce\u003c/code\u003e\u003c/a\u003e ✅ Add set of tests for request parameters and alias (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14358\"\u003e#14358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.120.1...0.124.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.10.6 to 2.12.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.5 2025-11-26\u003c/h2\u003e\n\u003ch2\u003ev2.12.5 (2025-11-26)\u003c/h2\u003e\n\u003cp\u003eThis is the fifth 2.12 patch release, addressing an issue with the \u003ccode\u003eMISSING\u003c/code\u003e sentinel and providing several documentation improvements.\u003c/p\u003e\n\u003cp\u003eThe next 2.13 minor release will be published in a couple weeks, and will include a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature addressing\nthe remaining unexpected changes to the \u003cem\u003eserialize as any\u003c/em\u003e behavior.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickle error when using \u003ccode\u003emodel_construct()\u003c/code\u003e on a model with \u003ccode\u003eMISSING\u003c/code\u003e as a default value by \u003ca href=\"https://github.com/ornariece\"\u003e\u003ccode\u003e@​ornariece\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12522\"\u003e#12522\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSeveral updates to the documentation by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.4 2025-11-05\u003c/h2\u003e\n\u003ch2\u003ev2.12.4 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003eThis is the fourth 2.12 patch release, fixing more regressions, and reverting a change in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis patch release also fixes an issue with the serialization of IP address types, when \u003ccode\u003eserialize_as_any\u003c/code\u003e is used. The next patch release\nwill try to address the remaining issues with \u003cem\u003eserialize as any\u003c/em\u003e behavior by introducing a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature, that\nshould be used in most cases in place of \u003cem\u003eserialize as any\u003c/em\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with forward references in parent \u003ccode\u003eTypedDict\u003c/code\u003e classes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12427\"\u003e#12427\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis issue is only relevant on Python 3.14 and greater.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExclude fields with \u003ccode\u003eexclude_if\u003c/code\u003e from JSON Schema required fields by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12430\"\u003e#12430\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRevert URL percent-encoding of credentials in the \u003ccode\u003ebuild()\u003c/code\u003e method of the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1833\"\u003epydantic-core#1833\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis was initially considered as a bugfix, but caused regressions and as such was fully reverted. The next release will include\nan opt-in option to percent-encode components of the URL.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type inference for IP address types by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1868\"\u003epydantic-core#1868\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThe 2.12 changes to the \u003ccode\u003eserialize_as_any\u003c/code\u003e behavior made it so that IP address types could not properly serialize to JSON.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid getting default values from defaultdict by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1853\"\u003epydantic-core#1853\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis fixes a subtle regression in the validation behavior of the \u003ca href=\"https://docs.python.org/3/library/collections.html#collections.defaultdict\"\u003e\u003ccode\u003ecollections.defaultdict\u003c/code\u003e\u003c/a\u003e\ntype.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with field serializers on nested typed dictionaries by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1879\"\u003epydantic-core#1879\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd more \u003ccode\u003epydantic-core\u003c/code\u003e builds for the three-threaded version of Python 3.14 by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1864\"\u003epydantic-core#1864\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.3...v2.12.4\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.3...v2.12.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.3 2025-10-17\u003c/h2\u003e\n\u003ch2\u003ev2.12.3 (2025-10-17)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis is the third 2.13 patch release, fixing issues related to the \u003ccode\u003eFieldInfo\u003c/code\u003e class, and reverting a change to the supported \u003ca href=\"https://docs.pydantic.dev/latest/concepts/validators/#model-validators\"\u003e\u003cem\u003eafter\u003c/em\u003e model validator\u003c/a\u003e function signatures.\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/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.5 (2025-11-26)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.5\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is the fifth 2.12 patch release, addressing an issue with the \u003ccode\u003eMISSING\u003c/code\u003e sentinel and providing several documentation improvements.\u003c/p\u003e\n\u003cp\u003eThe next 2.13 minor release will be published in a couple weeks, and will include a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature addressing\nthe remaining unexpected changes to the \u003cem\u003eserialize as any\u003c/em\u003e behavior.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickle error when using \u003ccode\u003emodel_construct()\u003c/code\u003e on a model with \u003ccode\u003eMISSING\u003c/code\u003e as a default value by \u003ca href=\"https://github.com/ornariece\"\u003e\u003ccode\u003e@​ornariece\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12522\"\u003e#12522\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSeveral updates to the documentation by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.12.4 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.4\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is the fourth 2.12 patch release, fixing more regressions, and reverting a change in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis patch release also fixes an issue with the serialization of IP address types, when \u003ccode\u003eserialize_as_any\u003c/code\u003e is used. The next patch release\nwill try to address the remaining issues with \u003cem\u003eserialize as any\u003c/em\u003e behavior by introducing a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature, that\nshould be used in most cases in place of \u003cem\u003eserialize as any\u003c/em\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with forward references in parent \u003ccode\u003eTypedDict\u003c/code\u003e classes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12427\"\u003e#12427\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis issue is only relevant on Python 3.14 and greater.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExclude fields with \u003ccode\u003eexclude_if\u003c/code\u003e from JSON Schema required fields by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12430\"\u003e#12430\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRevert URL percent-encoding of credentials in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in\n\u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1833\"\u003epydantic-core#1833\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis was initially considered as a bugfix, but caused regressions and as such was fully reverted. The next release will include\nan opt-in option to percent-encode components of the URL.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type inference for IP address types by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1868\"\u003epydantic-core#1868\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThe 2.12 changes to the \u003ccode\u003eserialize_as_any\u003c/code\u003e behavior made it so that IP address types could not properly serialize to JSON.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid getting default values from defaultdict by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1853\"\u003epydantic-core#1853\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis fixes a subtle regression in the validation behavior of the \u003ca href=\"https://docs.python.org/3/library/collections.html#collections.defaultdict\"\u003e\u003ccode\u003ecollections.defaultdict\u003c/code\u003e\u003c/a\u003e\ntype.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with field serializers on nested typed dictionaries by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1879\"\u003epydantic-core#1879\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd more \u003ccode\u003epydantic-core\u003c/code\u003e builds for the three-threaded version of Python 3.14 by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1864\"\u003epydantic-core#1864\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.12.3 (2025-10-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.3\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/bd2d0dd0137dfa1a8fdff2529b9dfb1547980150\"\u003e\u003ccode\u003ebd2d0dd\u003c/code\u003e\u003c/a\u003e Prepare release v2.12.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/7d0302ec7ec2cf115de3450a615522875bdd8b56\"\u003e\u003ccode\u003e7d0302e\u003c/code\u003e\u003c/a\u003e Document security implications when using \u003ccode\u003ecreate_model()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/e9ef980def726b6f59b6c495ddc9dc259a0228db\"\u003e\u003ccode\u003ee9ef980\u003c/code\u003e\u003c/a\u003e Fix typo in Standard Library Types documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f2c20c00c265a31a13c48f9bae923a87c829952e\"\u003e\u003ccode\u003ef2c20c0\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003epydantic-docs\u003c/code\u003e dev dependency, make use of versioning blocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a76c1aa26f2d64a3fd080ac515d80832689197e8\"\u003e\u003ccode\u003ea76c1aa\u003c/code\u003e\u003c/a\u003e Update documentation about JSON Schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8cbc72ca489891e574fba45238ee8bd4f8e719a2\"\u003e\u003ccode\u003e8cbc72c\u003c/code\u003e\u003c/a\u003e Add documentation about custom \u003ccode\u003e__init__()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/99eba599069da137b3f708ffa74627f2b456ba73\"\u003e\u003ccode\u003e99eba59\u003c/code\u003e\u003c/a\u003e Add additional test for \u003ccode\u003eFieldInfo.get_default()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c71076988e507ea93844c77c3bf0bbb85a5716af\"\u003e\u003ccode\u003ec710769\u003c/code\u003e\u003c/a\u003e Special case \u003ccode\u003eMISSING\u003c/code\u003e sentinel in \u003ccode\u003esmart_deepcopy()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/20a9d771c210fd77d52366ac923258c4c199727f\"\u003e\u003ccode\u003e20a9d77\u003c/code\u003e\u003c/a\u003e Do not delete mock validator/serializer in \u003ccode\u003erebuild_dataclass()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c86515a3a8f2120148fab2eaedd3bc45925779d0\"\u003e\u003ccode\u003ec86515a\u003c/code\u003e\u003c/a\u003e Update parts of the model and \u003ccode\u003erevalidate_instances\u003c/code\u003e documentation\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.10.6...v2.12.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-auth` from 2.38.0 to 2.44.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/releases\"\u003egoogle-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-auth 2.44.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.43.0...v2.44.0\"\u003e2.44.0\u003c/a\u003e (2025-12-12)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMDS connections use mTLS (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1856\"\u003e#1856\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0387bb95\"\u003e0387bb95\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003esupport Python 3.14 (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1822\"\u003e#1822\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0f7097e7\"\u003e0f7097e7\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd ecdsa p-384 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1872\"\u003e#1872\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/39c381a5\"\u003e39c381a5\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd shlex to correctly parse executable commands with spaces (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1855\"\u003e#1855\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/cf6fc3cc\"\u003ecf6fc3cc\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement token revocation in STS client and add revoke() metho… (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1849\"\u003e#1849\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/d5638986\"\u003ed5638986\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd temporary patch to workload cert logic to accomodate Cloud Run mis-configuration (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1880\"\u003e#1880\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/78de7907\"\u003e78de7907\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDelegate workload cert and key default lookup to helper function (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1877\"\u003e#1877\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b0993c7e\"\u003eb0993c7e\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse public refresh method for source credentials in ImpersonatedCredentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1884\"\u003e#1884\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/e0c3296f\"\u003ee0c3296f\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-auth 2.43.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.42.1...v2.43.0\"\u003e2.43.0\u003c/a\u003e (2025-11-05)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd public wrapper for _mtls_helper.check_use_client_cert which enables mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE is not set, when the MWID/X.509 cert sources detected (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1859\"\u003e#1859\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/1535eccb\"\u003e1535eccb\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnable mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE  is not set, if the MWID/X.509 cert sources detected (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1848\"\u003e#1848\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/395e405b\"\u003e395e405b\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eonboard \u003ccode\u003egoogle-auth\u003c/code\u003e to librarian (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1838\"\u003e#1838\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/c503eaa5\"\u003ec503eaa5\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.42.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.42.0...v2.42.1\"\u003e2.42.1\u003c/a\u003e (2025-10-30)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCatch ValueError for json.loads() (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1842\"\u003e#1842\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b074cad460589633adfc6744c01726ae86f2aa2b\"\u003eb074cad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.42.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.41.1...v2.42.0\"\u003e2.42.0\u003c/a\u003e (2025-10-24)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd trust boundary support for external accounts. (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1809\"\u003e#1809\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/36ecb1d65883477d27faf9c2281fc289659b9903\"\u003e36ecb1d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md\"\u003egoogle-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.43.0...v2.44.0\"\u003e2.44.0\u003c/a\u003e (2025-12-13)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport Python 3.14 (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1822\"\u003e#1822\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0f7097e78f247665b6ef0287d482033f7be2ed6d\"\u003e0f7097e78f247665b6ef0287d482033f7be2ed6d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ecdsa p-384 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1872\"\u003e#1872\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/39c381a5f6881b590025f36d333d12eff8dc60fc\"\u003e39c381a5f6881b590025f36d333d12eff8dc60fc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMDS connections use mTLS (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1856\"\u003e#1856\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0387bb95713653d47e846cad3a010eb55ef2db4c\"\u003e0387bb95713653d47e846cad3a010eb55ef2db4c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement token revocation in STS client and add revoke() metho… (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1849\"\u003e#1849\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/d5638986ca03ee95bfffa9ad821124ed7e903e63\"\u003ed5638986ca03ee95bfffa9ad821124ed7e903e63\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd shlex to correctly parse executable commands with spaces (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1855\"\u003e#1855\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/cf6fc3cced78bc1362a7fe596c32ebc9ce03c26b\"\u003ecf6fc3cced78bc1362a7fe596c32ebc9ce03c26b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse public refresh method for source credentials in ImpersonatedCredentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1884\"\u003e#1884\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/e0c3296f471747258f6d98d2d9bfde636358ecde\"\u003ee0c3296f471747258f6d98d2d9bfde636358ecde\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd temporary patch to workload cert logic to accomodate Cloud Run mis-configuration (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1880\"\u003e#1880\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/78de7907b8bdb7b5510e3c6fa8a3f3721e2436d7\"\u003e78de7907b8bdb7b5510e3c6fa8a3f3721e2436d7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDelegate workload cert and key default lookup to helper function (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1877\"\u003e#1877\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b0993c7edaba505d0fb0628af28760c43034c959\"\u003eb0993c7edaba505d0fb0628af28760c43034c959\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-auth-v2.42.1...google-auth-v2.43.0\"\u003e2.43.0\u003c/a\u003e (2025-11-05)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd public wrapper for _mtls_helper.check_use_client_cert which enables mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE is not set, when the MWID/X.509 cert sources detected (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1859\"\u003e#1859\u003c/a\u003e) Add public wrapper for check_use_client_cert which enables mTLS if\nGOOGLE_API_USE_CLIENT_CERTIFICATE is not set, when the MWID/X.509 cert\nsources detected. Also, fix check_use_client_cert to return boolean\nvalue.\nChange \u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1848\"\u003e#1848\u003c/a\u003e added the check_use_client_cert method that helps know if\nclient cert should be used for mTLS connection. However, that was in a\nprivate class, thus, created a public wrapper of the same function so\nthat it can be used by python Client Libraries. Also, updated\ncheck_use_client_cert to return a boolean value instead of existing\nstring value for better readability and future scope.\n--------- (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1535eccbff0ad8f3fd6a9775316ac8b77dca66ba\"\u003e1535eccbff0ad8f3fd6a9775316ac8b77dca66ba\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnable mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE  is not set, if the MWID/X.509 cert sources detected (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1848\"\u003e#1848\u003c/a\u003e) The Python SDK will use a hybrid approach for mTLS enablement:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eIf the GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is set\n(either true or false), the SDK will respect that setting. This is\nnecessary for test scenarios and users who need to explicitly control\nmTLS behavior.\u003c/li\u003e\n\u003cli\u003eIf the GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is not\nset, the SDK will automatically enable mTLS only if it detects Managed\nWorkload Identity (MWID) or X.509 Workforce Identity Federation (WIF)\ncertificate sources. In other cases where the variable is not set, mTLS\nwill remain disabled.\n** This change also adds the helper method \u003ccode\u003echeck_use_client_cert\u003c/code\u003e and\nit's unit test, which will be used for checking the criteria for setting\nthe mTLS to true\n** This change is only for Auth-Library, other changes will be created\nfor Client-Library use-cases.\n--------- (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/395e405b64b56ddb82ee639958c2e8056ad2e82b\"\u003e395e405b64b56ddb82ee639958c2e8056ad2e82b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/262eb9e33d58ffeb536ecd083c22d9fb12c808e6\"\u003e\u003ccode\u003e262eb9e\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20251212T161150Z (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1888\"\u003e#1888\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0f7097e78f247665b6ef0287d482033f7be2ed6d\"\u003e\u003ccode\u003e0f7097e\u003c/code\u003e\u003c/a\u003e feat: support Python 3.14 (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1822\"\u003e#1822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/e0c3296f471747258f6d98d2d9bfde636358ecde\"\u003e\u003ccode\u003ee0c3296\u003c/code\u003e\u003c/a\u003e fix(auth): Use public refresh method for source credentials in ImpersonatedCr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/78de7907b8bdb7b5510e3c6fa8a3f3721e2436d7\"\u003e\u003ccode\u003e78de790\u003c/code\u003e\u003c/a\u003e fix(auth): Add temporary patch to workload cert logic to accomodate Cloud Run...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/3e8a56687fd050ff44a35cc8db0e95e996648173\"\u003e\u003ccode\u003e3e8a566\u003c/code\u003e\u003c/a\u003e chore(tests): allow expired secret in system tests (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1883\"\u003e#1883\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b0993c7edaba505d0fb0628af28760c43034c959\"\u003e\u003ccode\u003eb0993c7\u003c/code\u003e\u003c/a\u003e fix(auth): Delegate workload cert and key default lookup to helper function (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/2c374d36a61569b75d11c17fae124d591c52ddc6\"\u003e\u003ccode\u003e2c374d3\u003c/code\u003e\u003c/a\u003e chore: update secret (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1879\"\u003e#1879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/39c381a5f6881b590025f36d333d12eff8dc60fc\"\u003e\u003ccode\u003e39c381a\u003c/code\u003e\u003c/a\u003e feat: add ecdsa p-384 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1872\"\u003e#1872\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/daabaa714820008565133efdf4d928143b8fe518\"\u003e\u003ccode\u003edaabaa7\u003c/code\u003e\u003c/a\u003e chore(tests): update secret (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1876\"\u003e#1876\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0387bb95713653d47e846cad3a010eb55ef2db4c\"\u003e\u003ccode\u003e0387bb9\u003c/code\u003e\u003c/a\u003e feat: MDS connections use mTLS (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1856\"\u003e#1856\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.38.0...v2.44.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-dotenv` from 1.0.1 to 1.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/releases\"\u003epython-dotenv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport reading .env from FIFOs (Unix) by \u003ca href=\"https://github.com/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/586\"\u003etheskumar/python-dotenv#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CI to use trusted publishing on PyPI\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/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/586\"\u003etheskumar/python-dotenv#586\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.0...v1.2.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.0...v1.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: upgrade to use ruff by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/567\"\u003etheskumar/python-dotenv#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse sys.exit() instead of exit() by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/568\"\u003etheskumar/python-dotenv#568\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat:  add \u003ccode\u003ePYTHON_DOTENV_DISABLED\u003c/code\u003e flag to disable load_dotenv (fixes \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/510\"\u003e#510\u003c/a\u003e) by \u003ca href=\"https://github.com/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Python@3.14: Github CI \u0026amp; tox.ini by \u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eocs: clarify what load_dotenv() does in README by \u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group across 1 directory with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/577\"\u003etheskumar/python-dotenv#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove project metadata and config to pyproject.toml by \u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/583\"\u003etheskumar/python-dotenv#583\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/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/583\"\u003etheskumar/python-dotenv#583\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.0\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure find_dotenv work reliably on python 3.13 by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/563\"\u003etheskumar/python-dotenv#563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(cli): issue with execvpe on Windows by \u003ca href=\"https://github.com/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003etheskumar/python-dotenv#566\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/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003etheskumar/python-dotenv#566\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.1.0...v1.1.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.0...v1.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a security policy by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/512\"\u003etheskumar/python-dotenv#512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep GitHub Actions up to date with GitHub's Dependabot by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/506\"\u003etheskumar/python-dotenv#506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: fix multiline string in test.yml \u0026amp; use fail-fast strategy by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/514\"\u003etheskumar/python-dotenv#514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnhance dotenv run: Switch to execvpe for better resource management and signal handling by \u003ca href=\"https://github.com/eekstunt\"\u003e\u003ccode\u003e@​eekstunt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/523\"\u003etheskumar/python-dotenv#523\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add py3.13 to test.yml by \u003ca href=\"https://github.com/waketzheng\"\u003e\u003ccode\u003e@​waketzheng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/527\"\u003etheskumar/python-dotenv#527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Python 3.13 trove classifier by \u003ca href=\"https://github.com/edgarrmondragon\"\u003e\u003ccode\u003e@​edgarrmondragon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/535\"\u003etheskumar/python-dotenv#535\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/529\"\u003etheskumar/python-dotenv#529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for python 3.13 and drop 3.8 by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/551\"\u003etheskumar/python-dotenv#551\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Update README.md by \u003ca href=\"https://github.com/chapeupreto\"\u003e\u003ccode\u003e@​chapeupreto\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/516\"\u003etheskumar/python-dotenv#516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSome more s/Python-dotenv/python-dotenv/ by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/552\"\u003etheskumar/python-dotenv#552\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/theskumar/python-dotenv/blob/main/CHANGELOG.md\"\u003epython-dotenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.2.1] - 2025-10-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMove more config to \u003ccode\u003epyproject.toml\u003c/code\u003e, removed \u003ccode\u003esetup.cfg\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for reading \u003ccode\u003e.env\u003c/code\u003e from FIFOs (Unix) by [\u003ca href=\"https://github.com/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/586\"\u003e#586\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.2.0] - 2025-10-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade build system to use PEP 517 \u0026amp; PEP 518 to use \u003ccode\u003ebuild\u003c/code\u003e and \u003ccode\u003epyproject.toml\u003c/code\u003e by [\u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/583\"\u003e#583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.14 by [\u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/563\"\u003e#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for disabling of \u003ccode\u003eload_dotenv()\u003c/code\u003e using \u003ccode\u003ePYTHON_DOTENV_DISABLED\u003c/code\u003e env var. by [\u003ca href=\"https://github.com/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/569\"\u003e#569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.1.1] - 2025-06-24\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCLI: Ensure \u003ccode\u003efind_dotenv\u003c/code\u003e work reliably on python 3.13 by [\u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/563\"\u003e#563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI: revert the use of execvpe on Windows by [\u003ca href=\"https://github.com/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003e#566\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.1.0] - 2025-03-25\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFeature\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for python 3.13\u003c/li\u003e\n\u003cli\u003eEnhance \u003ccode\u003edotenv run\u003c/code\u003e, switch to \u003ccode\u003eexecvpe\u003c/code\u003e for better resource management and signal handling (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/523\"\u003e#523\u003c/a\u003e) by [\u003ca href=\"https://github.com/eekstunt\"\u003e\u003ccode\u003e@​eekstunt\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFixed\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003efind_dotenv\u003c/code\u003e and \u003ccode\u003eload_dotenv\u003c/code\u003e now correctly looks up at the current directory when running in debugger or pdb (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/553\"\u003e#553\u003c/a\u003e by [\u003ca href=\"https://github.com/randomseed42\"\u003e\u003ccode\u003e@​randomseed42\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eMisc\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/eaf2a9129ccec6febda0f741eb3bb852c3f947bd\"\u003e\u003ccode\u003eeaf2a91\u003c/code\u003e\u003c/a\u003e Do not remove .coverage file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/8716196891532eeb67d24a513e8d975437f5e8b7\"\u003e\u003ccode\u003e8716196\u003c/code\u003e\u003c/a\u003e Bump version: 1.2.0 → 1.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/b87807fcad6e74332c3c63a75c92ce5814fa7a55\"\u003e\u003ccode\u003eb87807f\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/3af77d3029eb717aeec0a3c25f751b6a614a6d3c\"\u003e\u003ccode\u003e3af77d3\u003c/code\u003e\u003c/a\u003e Support reading .env from FIFOs (Unix) (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/586\"\u003e#586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/467ee22fccb2fb7ccda71a0d9e37c6ea3cb8d993\"\u003e\u003ccode\u003e467ee22\u003c/code\u003e\u003c/a\u003e Fix test failures after moving config to pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/76999e741d87e958ebd74e3ae9834c0514e77a59\"\u003e\u003ccode\u003e76999e7\u003c/code\u003e\u003c/a\u003e Move more config pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/222ce2cc58ebc82ba78da8781269267b9f585932\"\u003e\u003ccode\u003e222ce2c\u003c/code\u003e\u003c/a\u003e Update to use trusted publisher on pypi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/8ed4f79d202eba582b44bdf1f5deb726dd68783d\"\u003e\u003ccode\u003e8ed4f79\u003c/code\u003e\u003c/a\u003e Update docs requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/5bf882241c607445bf02cf5b241535d62e2b99c1\"\u003e\u003ccode\u003e5bf8822\u003c/code\u003e\u003c/a\u003e Bump version: 1.1.1 → 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/1fe11cc737ee4399e9c51d1b69b0dd858f6b4669\"\u003e\u003ccode\u003e1fe11cc\u003c/code\u003e\u003c/a\u003e upadate changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.0.1...v1.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `orjson` from 3.10.16 to 3.11.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.5\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.85 or later instead of 1.82.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.1\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePublish PyPI wheels for CPython 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003estr\u003c/code\u003e on big-endian architectures.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse a deserialization buffer allocated per request instead of a shared buffer allocated on import.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.14 beta 4.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.10.18\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix incorrect escaping of the vertical tabulation character. This was\nintroduced in 3.10.17.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.10.17\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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.5 - 2025-12-06\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow simple error message instead of traceback when attempting to\nbuild on unsupported Python versions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.4 - 2025-10-24\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3 - 2025-08-26\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2 - 2025-08-12\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.85 or later instead of 1.82.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.1 - 2025-07-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePublish PyPI wheels for CPython 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003estr\u003c/code\u003e on big-endian architectures. This was introduced in 3.11.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.0 - 2025-07-15\u003c/h2\u003e\n\u003ch3\u003eChanged\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/ijl/orjson/commit/fb3eb1f729c7e7b019f780af5695722c99c7c695\"\u003e\u003ccode\u003efb3eb1f\u003c/code\u003e\u003c/a\u003e 3.11.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/52688e02c51c845cde24a46cd1011a6010d10eb8\"\u003e\u003ccode\u003e52688e0\u003c/code\u003e\u003c/a\u003e Record contributors in headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/dc083e87d5262e7dde3ba4b1d2a377b5b065a27c\"\u003e\u003ccode\u003edc083e8\u003c/code\u003e\u003c/a\u003e Further compatibility and build misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/18f0186d47fbadd53c9db4e39a442d5b04225418\"\u003e\u003ccode\u003e18f0186\u003c/code\u003e\u003c/a\u003e Compatibility and build misc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/a4fdeb3aff125d501ec0dd0577f9b38b2b977b4f\"\u003e\u003ccode\u003ea4fdeb3\u003c/code\u003e\u003c/a\u003e 3.11.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/2e80d68afacafca8751e6a64ca05d0d4087dbd15\"\u003e\u003ccode\u003e2e80d68\u003c/code\u003e\u003c/a\u003e unlikely to cold_path, remove intrinsics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/27edea92f8da2fdfc3f1342474e2f1686f1edf55\"\u003e\u003ccode\u003e27edea9\u003c/code\u003e\u003c/a\u003e FFI through crate::ffi, partial non-CPython compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/416a8c9578da780d0d58b5e6b751793deafc610d\"\u003e\u003ccode\u003e416a8c9\u003c/code\u003e\u003c/a\u003e Unconditionally build yyjson\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/c8c1a17dca8436a2fee05ca060febd096e653d98\"\u003e\u003ccode\u003ec8c1a17\u003c/code\u003e\u003c/a\u003e edition 2024\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/af4179a1fa0aafffd0f867203b6c36e9a522f165\"\u003e\u003ccode\u003eaf4179a\u003c/code\u003e\u003c/a\u003e build maintenance, panic_immediate_abort break, test 3.15\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ijl/orjson/compare/3.10.16...3.11.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `geoalchemy2` from 0.17.1 to 0.18.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/geoalchemy/geoalchemy2/releases\"\u003egeoalchemy2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.18.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix (mysql): Fix failing test for MySQL dialect by \u003ca href=\"https://github.com/google-labs-jules\"\u003e\u003ccode\u003e@​google-labs-jules\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/567\"\u003egeoalchemy/geoalchemy2#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate by \u003ca href=\"https://github.com/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/570\"\u003egeoalchemy/geoalchemy2#570\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Allow scientific notation within WKT string by \u003ca href=\"https://github.com/autermann\"\u003e\u003ccode\u003e@​autermann\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/573\"\u003egeoalchemy/geoalchemy2#573\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease: 0.18.1 by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/574\"\u003egeoalchemy/geoalchemy2#574\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/google-labs-jules\"\u003e\u003ccode\u003e@​google-labs-jules\u003c/code\u003e\u003c/a\u003e[bot] made their first contribution in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/567\"\u003egeoalchemy/geoalchemy2#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/autermann\"\u003e\u003ccode\u003e@​autermann\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/573\"\u003egeoalchemy/geoalchemy2#573\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/geoalchemy/geoalchemy2/compare/0.18.0...0.18.1\"\u003ehttps://github.com/geoalchemy/geoalchemy2/compare/0.18.0...0.18.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.18.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBuild: Deprecate Py\u0026lt;3.10 by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/538\"\u003egeoalchemy/geoalchemy2#538\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeat: Add more return types for spatial functions and update some typehints by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/540\"\u003egeoalchemy/geoalchemy2#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCompile literal binds by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/543\"\u003egeoalchemy/geoalchemy2#543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeat: Improve Geometry initializer to make the dimension optional by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/544\"\u003egeoalchemy/geoalchemy2#544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore (mariadb): Stop converting WKB to WKT by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/545\"\u003egeoalchemy/geoalchemy2#545\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs: Update doc to run the tests inside docker containers by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/546\"\u003egeoalchemy/geoalchemy2#546\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest: Add benchmark tests by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/547\"\u003egeoalchemy/geoalchemy2#547\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest: Add more benchmarks by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/553\"\u003egeoalchemy/geoalchemy2#553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore: Create FUNDING.yml by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/554\"\u003egeoalchemy/geoalchemy2#554\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest: Improve readbility of benchmark results by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/556\"\u003egeoalchemy/geoalchemy2#556\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePerf: Define \u003cstrong\u003eslots\u003c/strong\u003e in element classes to reduce memory usage of elements by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/555\"\u003egeoalchemy/geoalchemy2#555\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeat: Handle computed columns by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/557\"\u003egeoalchemy/geoalchemy2#557\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Remove warning message from MySQL/MariaDB reflection by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/560\"\u003egeoalchemy/geoalchemy2#560\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore: Move reflection type registering by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/561\"\u003egeoalchemy/geoalchemy2#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs: correct doc strings by \u003ca href=\"https://github.com/pjonsson\"\u003e\u003ccode\u003e@​pjonsson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/562\"\u003egeoalchemy/geoalchemy2#562\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeat: Add support of spatial indexes for Raster type for PostgreSQL by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/564\"\u003egeoalchemy/geoalchemy2#564\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease: 0.18.0 by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/565\"\u003egeoalchemy/geoalchemy2#565\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/pjonsson\"\u003e\u003ccode\u003e@​pjonsson\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/562\"\u003egeoalchemy/geoalchemy2#562\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/geoalchemy/geoalchemy2/compare/0.17.1...0.18.0\"\u003ehttps://github.com/geoalchemy/geoalchemy2/compare/0.17.1...0.18.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/geoalchemy/geoalchemy2/blob/master/CHANGES.txt\"\u003egeoalchemy2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.18.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Allow scientific notation within WKT string - \u003ca href=\"https://github.com/autermann\"\u003e\u003ccode\u003e@​autermann\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix (mysql): Fix failing test for MySQL dialect - \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.18.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeat: Add support of spatial indexes for Raster type for PostgreSQL \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocs: Fix doc strings for cache enabled - \u003ca href=\"https://github.com/pjonsson\"\u003e\u003ccode\u003e@​pjonsson\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/562\"\u003e#562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore: Move reflection type registering \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e(papacodebear/master) Fix: Remove warning from MySQL/MariaDB reflection \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/560\"\u003e#560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat: Handle computed columns \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/557\"\u003e#557\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest: Improve readability of benchmark results \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/556\"\u003e#556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePerf: Define \u003cstrong\u003eslots\u003c/strong\u003e in element classes to reduce memory usage of elements \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/555\"\u003e#555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore: Create FUNDING.yml \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/554\"\u003e#554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest: Add more benchmarks \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/553\"\u003e#553\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest: Add benchmark tests \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/547\"\u003e#547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocs: Update doc to run the tests inside docker container \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/546\"\u003e#546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePerf (mariadb): Stop converting WKB to WKT \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/545\"\u003e#545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat: Improve Geometry initializer to make the dimension optional \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/544\"\u003e#544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat: Compile literal binds properly \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/543\"\u003e#543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat: Add more return types for spatial functions and update some typehints \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/540\"\u003e#540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBuild: Deprecate Py\u0026lt;3.10 \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/538\"\u003e#538\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/geoalchemy/geoalchemy2/commit/0c311122e5228a885e262d8f79b037cb74c0949b\"\u003e\u003ccode\u003e0c31112\u003c/code\u003e\u003c/a\u003e Release: 0.18.1 (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/574\"\u003e#574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/75f87fac699ed31579ef93dffc59cc25bda241a8\"\u003e\u003ccode\u003e75f87fa\u003c/code\u003e\u003c/a\u003e Fix: Allow scientific notation within WKT string (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/8653df3a1b0236556f1c39c916f0fb717475a6d1\"\u003e\u003ccode\u003e8653df3\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/570\"\u003e#570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/3d6099504023afda68137f0ac2d041986159dac9\"\u003e\u003ccode\u003e3d60995\u003c/code\u003e\u003c/a\u003e Fix (mysql): Fix failing test for MySQL dialect (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/60767082df9f4587fadd56ab94847ebc39df8295\"\u003e\u003ccode\u003e6076708\u003c/code\u003e\u003c/a\u003e Release: 0.18.0 (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/565\"\u003e#565\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/e13112177bdf79cae0d72a6e89d815dc272e3dc5\"\u003e\u003ccode\u003ee131121\u003c/code\u003e\u003c/a\u003e Feat: Add support of spatial indexes for Raster type for PostgreSQL (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/0b432086a0c3b8ab160c5cc1864aa65e02f35362\"\u003e\u003ccode\u003e0b43208\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/563\"\u003e#563\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/8791b2eec013f21f599ca060d9fee4aba72ec2a1\"\u003e\u003ccode\u003e8791b2e\u003c/code\u003e\u003c/a\u003e Docs: Fix doc strings for cache enabled (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/562\"\u003e#562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/d3c1d04c8b462c61132403e44a7a4f04a487c142\"\u003e\u003ccode\u003ed3c1d04\u003c/code\u003e\u003c/a\u003e Chore: Move reflection type registering (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/24dc5d05d97fb9a2a57103c1823a58f06940a5e8\"\u003e\u003ccode\u003e24dc5d0\u003c/code\u003e\u003c/a\u003e Fix: Remove warning from MySQL/MariaDB reflection (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/560\"\u003e#560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/geoalchemy/geoalchemy2/compare/0.17.1...0.18.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gql` from 3.5.2 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/graphql-python/gql/releases\"\u003egql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChange transports prototype using GraphQLRequest (\u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/551\"\u003e#551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUsing GraphQLRequest instead of DocumentNode for gql, execute, subscribe methods (\u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/556\"\u003e#556\u003c/a\u003e):\n\u003cstrong\u003eThis is a big change:\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003ethe \u003ccode\u003egql\u003c/code\u003e and \u003ccode\u003edsl_gql\u003c/code\u003e methods will now return a \u003ccode\u003eGraphQLRequest\u003c/code\u003e instead of a \u003ccode\u003eDocument\u003c/code\u003e Node\na \u003ccode\u003eGraphQLRequest\u003c/code\u003e is an object containing the document and optional \u003ccode\u003evariable_values\u003c/code\u003e and \u003ccode\u003eoperation_name\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eALL the \u003ccode\u003eexecute\u003c/code\u003e and \u003ccode\u003esubscribe\u003c/code\u003e methods now receive a \u003ccode\u003eGraphQLRequest\u003c/code\u003e as main argument instead of\na \u003ccode\u003eDocumentNode\u003c/code\u003e, \u003ccode\u003evariable_values\u003c/code\u003e and \u003ccode\u003eoperation_name\u003c/code\u003e arguments\u003c/li\u003e\n\u003cli\u003eThe old method of sending \u003ccode\u003evariable_values\u003c/code\u003e as an argument of \u003ccode\u003eexecute\u003c/code\u003e or \u003ccode\u003esubscribe\u003c/code\u003e still works but is deprecated\nSee \u003ca href=\"https://gql.readthedocs.io/en/latest/usage/variables.html\"\u003ehttps://gql.readthedocs.io/en/latest/usage/variables.html\u003c/a\u003e for the new syntax.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix subscription task cancel exception swallow (\u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/548\"\u003e#548\u003c/a\u003e):\nPreviously if a task was cancelled while a subscription task was active,\nthe \u003ccode\u003easyncio.CancelledError\u003c/code\u003e Exception would be swallowed by our code.\nThis is not the case anymore so you should now trap that Exception yourself.\u003c/li\u003e\n\u003cli\u003eClean up the file upload interface with FileVar class (\u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/549\"\u003e#549\u003c/a\u003e):\nThe file upload functionality has been modified to require \u003ccode\u003eFileVar\u003c/code\u003e instances\nfor uploaded files (the old method still works but is deprecated).\nSee \u003ca href=\"https://gql.readthedocs.io/en/latest/usage/file_upload.html\"\u003ehttps://gql.readthedocs.io/en/latest/usage/file_upload.html\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSet logging level to DEBUG for all transports (\u003ca href=\"https://redirect.github.com/g...\n\n_Description has been truncated_","html_url":"https://github.com/Canner/wren-engine/pull/1388","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Canner%2Fwren-engine/issues/1388","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1388/packages"}},{"old_version":"8.0.1","new_version":"8.1.8","update_type":"minor","path":null,"pr_created_at":"2025-12-08T04:04:23.000Z","version_change":"8.0.1 → 8.1.8","issue":{"uuid":"3704550760","node_id":"PR_kwDOH60e4863lSZq","number":394,"state":"open","title":"Bump ipywidgets from 8.0.1 to 8.1.8","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-12-08T04:04:23.000Z","updated_at":"2025-12-08T04:04:23.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"ipywidgets","old_version":"8.0.1","new_version":"8.1.8","repository_url":"https://github.com/jupyter-widgets/ipywidgets"}],"path":null,"ecosystem":"pip"},"body":"Bumps [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) from 8.0.1 to 8.1.8.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/releases\"\u003eipywidgets's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd JupyterCon banner and jupyter colors by \u003ca href=\"https://github.com/choldgraf\"\u003e\u003ccode\u003e@​choldgraf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3998\"\u003ejupyter-widgets/ipywidgets#3998\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix badge formatting in README.md by \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4000\"\u003ejupyter-widgets/ipywidgets#4000\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Plausible web stats by \u003ca href=\"https://github.com/jasongrout\"\u003e\u003ccode\u003e@​jasongrout\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4003\"\u003ejupyter-widgets/ipywidgets#4003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate jupyterlab_widgets metadata to indicate it works with JupyterLab 4 by \u003ca href=\"https://github.com/jasongrout\"\u003e\u003ccode\u003e@​jasongrout\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4004\"\u003ejupyter-widgets/ipywidgets#4004\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/choldgraf\"\u003e\u003ccode\u003e@​choldgraf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3998\"\u003ejupyter-widgets/ipywidgets#3998\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\"\u003ehttps://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e8.1.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix CI + remove Python 3.8 by \u003ca href=\"https://github.com/martinRenou\"\u003e\u003ccode\u003e@​martinRenou\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3989\"\u003ejupyter-widgets/ipywidgets#3989\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDynamic widgets registry by \u003ca href=\"https://github.com/martinRenou\"\u003e\u003ccode\u003e@​martinRenou\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3988\"\u003ejupyter-widgets/ipywidgets#3988\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.6...8.1.7\"\u003ehttps://github.com/jupyter-widgets/ipywidgets/compare/8.1.6...8.1.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e8.1.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix lumino and lab packages pinning by \u003ca href=\"https://github.com/martinRenou\"\u003e\u003ccode\u003e@​martinRenou\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3958\"\u003ejupyter-widgets/ipywidgets#3958\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo fix by \u003ca href=\"https://github.com/david4096\"\u003e\u003ccode\u003e@​david4096\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3960\"\u003ejupyter-widgets/ipywidgets#3960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate lables even without MatJax/TypeSetter by \u003ca href=\"https://github.com/DonJayamanne\"\u003e\u003ccode\u003e@​DonJayamanne\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3962\"\u003ejupyter-widgets/ipywidgets#3962\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate github actions and fix readthedocs by \u003ca href=\"https://github.com/brichet\"\u003e\u003ccode\u003e@​brichet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3983\"\u003ejupyter-widgets/ipywidgets#3983\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix the new line when pressing enter in textarea widget by \u003ca href=\"https://github.com/brichet\"\u003e\u003ccode\u003e@​brichet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3982\"\u003ejupyter-widgets/ipywidgets#3982\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBackward compatibility on processPhosphorMessage by \u003ca href=\"https://github.com/martinRenou\"\u003e\u003ccode\u003e@​martinRenou\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3945\"\u003ejupyter-widgets/ipywidgets#3945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInclude sourcemaps in npm tarballs by \u003ca href=\"https://github.com/manzt\"\u003e\u003ccode\u003e@​manzt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3978\"\u003ejupyter-widgets/ipywidgets#3978\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix deprecation warning when importing the backend_inline by \u003ca href=\"https://github.com/emolinlu\"\u003e\u003ccode\u003e@​emolinlu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3984\"\u003ejupyter-widgets/ipywidgets#3984\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/david4096\"\u003e\u003ccode\u003e@​david4096\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3960\"\u003ejupyter-widgets/ipywidgets#3960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brichet\"\u003e\u003ccode\u003e@​brichet\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3983\"\u003ejupyter-widgets/ipywidgets#3983\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emolinlu\"\u003e\u003ccode\u003e@​emolinlu\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3984\"\u003ejupyter-widgets/ipywidgets#3984\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.5...8.1.6\"\u003ehttps://github.com/jupyter-widgets/ipywidgets/compare/8.1.5...8.1.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e8.1.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMore Phosphor backward compatibility by \u003ca href=\"https://github.com/martinRenou\"\u003e\u003ccode\u003e@​martinRenou\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3942\"\u003ejupyter-widgets/ipywidgets#3942\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.4...8.1.5\"\u003ehttps://github.com/jupyter-widgets/ipywidgets/compare/8.1.4...8.1.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e8.1.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eNew features\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/jupyter-widgets/ipywidgets/commit/3171b1c746643a3893987190dc505661c5562877\"\u003e\u003ccode\u003e3171b1c\u003c/code\u003e\u003c/a\u003e Update Output Widget.ipynb (\u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/issues/3881\"\u003e#3881\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commit/cd817839ab8b6ef80c8e2b7a94c8f1df1de29734\"\u003e\u003ccode\u003ecd81783\u003c/code\u003e\u003c/a\u003e update image processing example notebok imports and function call (\u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/issues/3896\"\u003e#3896\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commit/cecd2b0d0314a92b71dce364e3db7a06af8cf64a\"\u003e\u003ccode\u003ececd2b0\u003c/code\u003e\u003c/a\u003e specify Jupyterlab (version 3.x or above) (\u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/issues/3880\"\u003e#3880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commit/0aa1efb563edeb3564f5738dfbee630fd6e4ed6f\"\u003e\u003ccode\u003e0aa1efb\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003einteract\u003c/code\u003e to use basic type hint annotations (\u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/issues/3908\"\u003e#3908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commit/2e15cfc030b8f6c319114be23b4f95efb537fd4d\"\u003e\u003ccode\u003e2e15cfc\u003c/code\u003e\u003c/a\u003e Update Widget List.ipynb\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commit/06ed868181a3192067ffcff0ed94815f72a1f7bf\"\u003e\u003ccode\u003e06ed868\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/issues/3793\"\u003e#3793\u003c/a\u003e from ferdnyc/mappings-work-again\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commit/31259ca8ba33c44a29ba8ffede9de0eece61fb44\"\u003e\u003ccode\u003e31259ca\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/issues/3801\"\u003e#3801\u003c/a\u003e from warrickball/patch-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commit/dd250bfacd875561ad05f692d39c41f350a56b42\"\u003e\u003ccode\u003edd250bf\u003c/code\u003e\u003c/a\u003e Handle Notebook 7 in dev install script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commit/a1282ec692b35d91e0b3062016962634c7a8012e\"\u003e\u003ccode\u003ea1282ec\u003c/code\u003e\u003c/a\u003e Fix link to \u0026quot;Output widget examples\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/commit/b6b3051e0b89c1086ea79327d3e957af7da957fd\"\u003e\u003ccode\u003eb6b3051\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add note on removal of mapping types in documentation\u0026quot;\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.0.1...8.1.8\"\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=ipywidgets\u0026package-manager=pip\u0026previous-version=8.0.1\u0026new-version=8.1.8)](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/hzy-del/class/pull/394","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/hzy-del%2Fclass/issues/394","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/394/packages"}},{"old_version":"8.1.7","new_version":"8.1.8","update_type":"patch","path":null,"pr_created_at":"2025-12-01T23:19:38.000Z","version_change":"8.1.7 → 8.1.8","issue":{"uuid":"3683277183","node_id":"PR_kwDOATzq8M62d6kx","number":3719,"state":"open","title":"Bump the pip group across 1 directory with 28 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-12-01T23:19:38.000Z","updated_at":"2026-01-01T20:00:41.793Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"pip","update_count":28,"packages":[{"name":"beautifulsoup4","old_version":"4.13.4","new_version":"4.14.3"},{"name":"biopython","old_version":"1.85","new_version":"1.86","repository_url":"https://github.com/biopython/biopython"},{"name":"bokeh","old_version":"3.6.2","new_version":"3.8.1","repository_url":"https://github.com/bokeh/bokeh"},{"name":"certifi","old_version":"2025.7.14","new_version":"2025.11.12","repository_url":"https://github.com/certifi/python-certifi"},{"name":"cryptography","old_version":"45.0.5","new_version":"46.0.3","repository_url":"https://github.com/pyca/cryptography"},{"name":"idna","old_version":"3.10","new_version":"3.11","repository_url":"https://github.com/kjd/idna"},{"name":"jsonschema","old_version":"4.25.0","new_version":"4.25.1","repository_url":"https://github.com/python-jsonschema/jsonschema"},{"name":"markdown","old_version":"3.8.2","new_version":"3.10","repository_url":"https://github.com/Python-Markdown/markdown"},{"name":"markupsafe","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/pallets/markupsafe"},{"name":"networkx","old_version":"3.4.2","new_version":"3.6","repository_url":"https://github.com/networkx/networkx"},{"name":"numpy","old_version":"2.2.3","new_version":"2.3.5","repository_url":"https://github.com/numpy/numpy"},{"name":"pillow","old_version":"11.3.0","new_version":"12.0.0","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"plotly","old_version":"6.2.0","new_version":"6.5.0","repository_url":"https://github.com/plotly/plotly.py"},{"name":"pycurl","old_version":"7.45.6","new_version":"7.45.7","repository_url":"https://github.com/pycurl/pycurl"},{"name":"pyopenssl","old_version":"25.1.0","new_version":"25.3.0","repository_url":"https://github.com/pyca/pyopenssl"},{"name":"scipy","old_version":"1.15.2","new_version":"1.16.3","repository_url":"https://github.com/scipy/scipy"},{"name":"ipython","old_version":"8.33.0","new_version":"9.7.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":"pandas","old_version":"2.3.1","new_version":"2.3.3","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"pymongo","old_version":"4.13.2","new_version":"4.15.4","repository_url":"https://github.com/mongodb/mongo-python-driver"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"requests","old_version":"2.32.4","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"scikit-learn","old_version":"1.6.1","new_version":"1.7.2","repository_url":"https://github.com/scikit-learn/scikit-learn"},{"name":"tornado","old_version":"6.5.1","new_version":"6.5.2","repository_url":"https://github.com/tornadoweb/tornado"},{"name":"coverage","old_version":"7.10.1","new_version":"7.12.0","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"pytest","old_version":"8.4.1","new_version":"9.0.1","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"6.2.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"ruff","old_version":"0.12.7","new_version":"0.14.7","repository_url":"https://github.com/astral-sh/ruff"}],"path":null,"ecosystem":"pip"},"body":"Bumps the pip group with 28 updates in the /src directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.13.4` | `4.14.3` |\n| [biopython](https://github.com/biopython/biopython) | `1.85` | `1.86` |\n| [bokeh](https://github.com/bokeh/bokeh) | `3.6.2` | `3.8.1` |\n| [certifi](https://github.com/certifi/python-certifi) | `2025.7.14` | `2025.11.12` |\n| [cryptography](https://github.com/pyca/cryptography) | `45.0.5` | `46.0.3` |\n| [idna](https://github.com/kjd/idna) | `3.10` | `3.11` |\n| [jsonschema](https://github.com/python-jsonschema/jsonschema) | `4.25.0` | `4.25.1` |\n| [markdown](https://github.com/Python-Markdown/markdown) | `3.8.2` | `3.10` |\n| [markupsafe](https://github.com/pallets/markupsafe) | `3.0.2` | `3.0.3` |\n| [networkx](https://github.com/networkx/networkx) | `3.4.2` | `3.6` |\n| [numpy](https://github.com/numpy/numpy) | `2.2.3` | `2.3.5` |\n| [pillow](https://github.com/python-pillow/Pillow) | `11.3.0` | `12.0.0` |\n| [plotly](https://github.com/plotly/plotly.py) | `6.2.0` | `6.5.0` |\n| [pycurl](https://github.com/pycurl/pycurl) | `7.45.6` | `7.45.7` |\n| [pyopenssl](https://github.com/pyca/pyopenssl) | `25.1.0` | `25.3.0` |\n| [scipy](https://github.com/scipy/scipy) | `1.15.2` | `1.16.3` |\n| [ipython](https://github.com/ipython/ipython) | `8.33.0` | `9.7.0` |\n| [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) | `8.1.7` | `8.1.8` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.1` | `2.3.3` |\n| [pymongo](https://github.com/mongodb/mongo-python-driver) | `4.13.2` | `4.15.4` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [requests](https://github.com/psf/requests) | `2.32.4` | `2.32.5` |\n| [scikit-learn](https://github.com/scikit-learn/scikit-learn) | `1.6.1` | `1.7.2` |\n| [tornado](https://github.com/tornadoweb/tornado) | `6.5.1` | `6.5.2` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.10.1` | `7.12.0` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.1` | `9.0.1` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.2.1` | `7.0.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.12.7` | `0.14.7` |\n\n\nUpdates `beautifulsoup4` from 4.13.4 to 4.14.3\n\nUpdates `biopython` from 1.85 to 1.86\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/biopython/biopython/blob/master/NEWS.rst\"\u003ebiopython's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e28 October 2025: Biopython 1.86\u003c/h1\u003e\n\u003cp\u003eThis release of Biopython supports Python 3.10, 3.11, 3.12, 3.13 and 3.14.  It\nhas also been tested on PyPy3.10 v7.3.19.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.SearchIO\u003c/code\u003e now supports parsing the tabular and plain text output of\n\u003ccode\u003eInfernal \u0026lt;http://eddylab.org/infernal/\u0026gt;\u003c/code\u003e (v1.0.0+) RNA search tool. The\nformat names are \u003ccode\u003einfernal-tab\u003c/code\u003e and \u003ccode\u003einfernal-text\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe default value of the gap score of a \u003ccode\u003ePairwiseAligner\u003c/code\u003e object was changed\nin this release.  Previously, for consistency with \u003ccode\u003eBio.pairwise2\u003c/code\u003e, the\ndefault value for gap score was 0.  However, this means that a mismatch, an\ninsertion followed by a deletion, and a deletion followed by an insertion all\nget assigned a score of 0.  The aligner then finds a large number of alignments\nthat are logically the same, but have trivial differences between them.  For\nexample, aligning AAACAAA to AAAGAAA previously yielded the following three\nalignments, all with score 6::\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e AAACAAA        AAAC-AAA        AAA-CAAA\n AAAGAAA        AAA-GAAA        AAAG-AAA\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eWith the new default parameter for the gap score, only the first alignment is\nreturned.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.PDB.PDBIO\u003c/code\u003e now ensures that b-factor values are always at most 6 characters to\nensure that we do not violate the wwPDB specification. This should not have an impact\non the majority of uses, as b-factor values are generally small (less than 100). When\n1000 \u0026lt;= b-factor \u0026lt; 10_000, the value is rounded to a single decimal place. When,\n10_000 \u0026lt;= b-factor \u0026lt; 999_999, the value is rounded to zero decimal places. Values\nabove 999_999 are now clamped. The justification for this is the rise in the b-factor\nfield being used for additional metadata, typically from computational tools.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.Align\u003c/code\u003e now provides a method \u003ccode\u003eAlignment.from_alignments_with_same_reference\u003c/code\u003e\nto construct a multiple sequence alignment from a collection of alignments\nthat share the same reference sequence.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.PDB.PDBIO\u003c/code\u003e will now raise module specific warnings:\n\u003ccode\u003eBio.PDB.PDBExceptions.PDBIOWarning\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.PDB.SCADIO\u003c/code\u003e now supports object selection by color in the OpenSCAD\noutput file.  This enables generation of separate STL files for each color for\nprinting protein structures on multi-material 3D printers.\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003eiplotx\u003c/code\u003e library is mentioned in the Tutorial as an option to visualise\ntrees using complex style options.\u003c/p\u003e\n\u003cp\u003eMany thanks to the Biopython developers and community for making this release\npossible, especially the following contributors:\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\u003eSee full diff in \u003ca href=\"https://github.com/biopython/biopython/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bokeh` from 3.6.2 to 3.8.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bokeh/bokeh/blob/3.8.1/docs/CHANGELOG\"\u003ebokeh's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2025-11-07    3.8.1:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ebugfixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14618\"\u003e#14618\u003c/a\u003e [component: docs] Local documentation build fails with \u003ccode\u003eExtension error (sphinxext.opengraph)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14626\"\u003e#14626\u003c/a\u003e [component: docs] Local documentation fails on Windows because of missing svg icons\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14651\"\u003e#14651\u003c/a\u003e [component: bokehjs] HoverTool parameter @$name for stacked bar chart not working in version 3.8.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003etasks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14704\"\u003e#14704\u003c/a\u003e Backports for 3.8.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2025-08-29      3.8:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ebugfixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/12430\"\u003e#12430\u003c/a\u003e [component: bokehjs] [BUG] Step glyphs do not support linked brushing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/12994\"\u003e#12994\u003c/a\u003e [component: bokehjs] [BUG] Patch does not output under certain conditions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/13616\"\u003e#13616\u003c/a\u003e [component: bokehjs] [BUG] DateRangePicker value does not reflect value in browser when selection is aborted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14334\"\u003e#14334\u003c/a\u003e js_on_change not firing when range is updated in range tool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14352\"\u003e#14352\u003c/a\u003e [component: bokehjs] Log Axis and Range1d \u0026lt; 1 failing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14383\"\u003e#14383\u003c/a\u003e [component: bokehjs] \u003ccode\u003eSerializationError: circular reference\u003c/code\u003e When Passing List of Renderers to CustomJS Callbacks, but not when passing renderers sperately.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14396\"\u003e#14396\u003c/a\u003e [component: examples] Remove context from time of day in span example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14399\"\u003e#14399\u003c/a\u003e Bad typings for \u003ccode\u003elist_attr_splat\u003c/code\u003e (e.g. \u003ccode\u003ePlot.axis\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14413\"\u003e#14413\u003c/a\u003e [component: bokehjs] \u003ccode\u003eValueRef\u003c/code\u003e \u003ccode\u003eformatter\u003c/code\u003e does not handle datetime nullable well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14420\"\u003e#14420\u003c/a\u003e [component: bokehjs] Enhance performance of WebGL multi_marker\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14422\"\u003e#14422\u003c/a\u003e [component: bokehjs] Legend renderer not correctly positioned when saved with SaveTool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14424\"\u003e#14424\u003c/a\u003e [component: bokehjs] Patches with no data does not show plot with Bokeh 3.7+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14458\"\u003e#14458\u003c/a\u003e [component: bokehjs] Removing and re-adding DOM nodes causes React problems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14461\"\u003e#14461\u003c/a\u003e [component: tests] The regression test for issue \u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14207\"\u003e#14207\u003c/a\u003e is unreliable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14468\"\u003e#14468\u003c/a\u003e [component: docs] Try on CodePen link does not work in documentation /docs/user_guide/advanced/bokehjs.html\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14469\"\u003e#14469\u003c/a\u003e [component: bokehjs] Canvas2D: Multiple readback operations using getImageData are faster with the willReadFrequently attribute set to true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14476\"\u003e#14476\u003c/a\u003e Improve handling of pd.NA in Property.matches\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14497\"\u003e#14497\u003c/a\u003e mypy 1.15.0 fails in CI but not locally\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14499\"\u003e#14499\u003c/a\u003e [component: docs] IndexError on importing bokeh.sphinxext.bokeh_plot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14520\"\u003e#14520\u003c/a\u003e [component: bokehjs] BokehJS complains about categorical factors for the BoxAnnotation widget\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14536\"\u003e#14536\u003c/a\u003e Flex layouts need to apply \u003ccode\u003emin_width\u003c/code\u003e and \u003ccode\u003emin_height\u003c/code\u003e selectively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14540\"\u003e#14540\u003c/a\u003e [component: tests] Tests are failing on Windows and Python 3.10 after PR \u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14531\"\u003e#14531\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14541\"\u003e#14541\u003c/a\u003e New SVG icons have inconsistent line widths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14554\"\u003e#14554\u003c/a\u003e Add support for scalar uint32 color input.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14565\"\u003e#14565\u003c/a\u003e [component: bokehjs] DataTable source update broken\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14574\"\u003e#14574\u003c/a\u003e [component: build] grammar build script failing with whitespace in path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14597\"\u003e#14597\u003c/a\u003e [component: bokehjs] \u003ccode\u003edocument_ready\u003c/code\u003e even trigger twice with Bokeh 3.4.0.dev4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14602\"\u003e#14602\u003c/a\u003e [component: bokehjs] Layoutable components in side panels don't appear in exported images\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14620\"\u003e#14620\u003c/a\u003e Re-connect race condition on page reload\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/2603\"\u003e#2603\u003c/a\u003e [component: bokehjs] Add a SizeBar guide to label relative scatter glyph sizes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/7338\"\u003e#7338\u003c/a\u003e Setting areas for the activation of the hover.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/8608\"\u003e#8608\u003c/a\u003e [component: bokehjs] [Feature request] automatic reconnect to server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/9087\"\u003e#9087\u003c/a\u003e [component: bokehjs] Provide hit_filter property on HoverTool and TapTool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/9327\"\u003e#9327\u003c/a\u003e [component: bokehjs] [BUG] Not possible to disable multi-select behavior for DataTable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/12375\"\u003e#12375\u003c/a\u003e [FEATURE] Set axis label at a fixed distance from the axis\u003c/li\u003e\n\u003c/ul\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/bokeh/bokeh/commit/7e37a6395b36d3249a4d45263ddc2a26a7234906\"\u003e\u003ccode\u003e7e37a63\u003c/code\u003e\u003c/a\u003e Deployment updates for release 3.8.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/838b7c33f60bbca68374763f910d3c7e42836529\"\u003e\u003ccode\u003e838b7c3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14704\"\u003e#14704\u003c/a\u003e from bokeh/mattpap/3.8.1_backports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/477afb390d0993653ec899cde532fa49492d2129\"\u003e\u003ccode\u003e477afb3\u003c/code\u003e\u003c/a\u003e Added release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/360d9d683f24615af0e9c4c5dfc9c770248f5d5f\"\u003e\u003ccode\u003e360d9d6\u003c/code\u003e\u003c/a\u003e set minimal version of sphinxext-opengraph to 0.11.0 (\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14625\"\u003e#14625\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/fd662c1297b1bc8ff927b5df9948e1926a2c8243\"\u003e\u003ccode\u003efd662c1\u003c/code\u003e\u003c/a\u003e add copy and delete for svg icons to make.bat (\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14627\"\u003e#14627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/9f9d602e37adc82f2bd5b2a1e915058786c7a40b\"\u003e\u003ccode\u003e9f9d602\u003c/code\u003e\u003c/a\u003e Restore @$name support and improve replace_placeholders() (\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14652\"\u003e#14652\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/b63f69158d88b5d2e7ab58b2be434d9acc7c20c8\"\u003e\u003ccode\u003eb63f691\u003c/code\u003e\u003c/a\u003e Update switcher.json\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/6431bdfdb92fc71c784700aeeca46a65ab0d9e9f\"\u003e\u003ccode\u003e6431bdf\u003c/code\u003e\u003c/a\u003e Merge deployment staging branch staging-3.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/237861996ad5f1738b8c71d90bed5977e072930b\"\u003e\u003ccode\u003e2378619\u003c/code\u003e\u003c/a\u003e Deployment updates for release 3.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bokeh/bokeh/commit/b83c74d19657baaeb1f9cdcc68f453169ecf9a18\"\u003e\u003ccode\u003eb83c74d\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003eswitcher.json\u003c/code\u003e for 3.8 release (\u003ca href=\"https://redirect.github.com/bokeh/bokeh/issues/14623\"\u003e#14623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bokeh/bokeh/compare/3.6.2...3.8.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2025.7.14 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\u003eSee full diff in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2025.07.14...2025.11.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 45.0.5 to 46.0.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\"\u003ecryptography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e46.0.3 - 2025-10-15\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed compilation when using LibreSSL 4.2.0.\n\u003cp\u003e.. _v46-0-2:\u003c/p\u003e\n\u003cp\u003e46.0.2 - 2025-09-30\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.4.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v46-0-1:\u003c/p\u003e\n\u003cp\u003e46.0.1 - 2025-09-16\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Fixed an issue where users installing via ``pip`` on Python 3.14 development\n  versions would not properly install a dependency.\n* Fixed an issue building the free-threaded macOS 3.14 wheels.\n\u003cp\u003e.. _v46-0-0:\u003c/p\u003e\n\u003cp\u003e46.0.0 - 2025-09-16\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBACKWARDS INCOMPATIBLE:\u003c/strong\u003e Support for Python 3.7 has been removed.\u003c/li\u003e\n\u003cli\u003eSupport for OpenSSL \u0026lt; 3.0 is deprecated and will be removed in the next\nrelease.\u003c/li\u003e\n\u003cli\u003eSupport for \u003ccode\u003ex86_64\u003c/code\u003e macOS (including publishing wheels) is deprecated\nand will be removed in two releases. We will switch to publishing an\n\u003ccode\u003earm64\u003c/code\u003e only wheel for macOS.\u003c/li\u003e\n\u003cli\u003eSupport for 32-bit Windows (including publishing wheels) is deprecated\nand will be removed in two releases. Users should move to a 64-bit\nPython installation.\u003c/li\u003e\n\u003cli\u003eUpdated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.3.\u003c/li\u003e\n\u003cli\u003eWe now build \u003ccode\u003eppc64le\u003c/code\u003e \u003ccode\u003emanylinux\u003c/code\u003e wheels and publish them to PyPI.\u003c/li\u003e\n\u003cli\u003eWe now build \u003ccode\u003ewin_arm64\u003c/code\u003e (Windows on Arm) wheels and publish them to PyPI.\u003c/li\u003e\n\u003cli\u003eAdded support for free-threaded Python 3.14.\u003c/li\u003e\n\u003cli\u003eRemoved the deprecated \u003ccode\u003eget_attribute_for_oid\u003c/code\u003e method on\n:class:\u003ccode\u003e~cryptography.x509.CertificateSigningRequest\u003c/code\u003e. Users should use\n:meth:\u003ccode\u003e~cryptography.x509.Attributes.get_attribute_for_oid\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003eRemoved the deprecated \u003ccode\u003eCAST5\u003c/code\u003e, \u003ccode\u003eSEED\u003c/code\u003e, \u003ccode\u003eIDEA\u003c/code\u003e, and \u003ccode\u003eBlowfish\u003c/code\u003e\nclasses from the cipher module. These are still available in\n:doc:\u003ccode\u003e/hazmat/decrepit/index\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eIn X.509, when performing a PSS signature with a SHA-3 hash, it is now\nencoded with the official NIST SHA3 OID.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _v45-0-7:\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/pyca/cryptography/commit/c0af4dd7b75921bbe9f1d41a03dbd4b64a9e3403\"\u003e\u003ccode\u003ec0af4dd\u003c/code\u003e\u003c/a\u003e release 46.0.3 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13681\"\u003e#13681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/99efe5ad150a56efadafacaffd0e3ee319373904\"\u003e\u003ccode\u003e99efe5a\u003c/code\u003e\u003c/a\u003e bump version for 46.0.2 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13531\"\u003e#13531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e735cfc27502320101c130335c556394a125ba52\"\u003e\u003ccode\u003ee735cfc\u003c/code\u003e\u003c/a\u003e release 46.0.1 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13450\"\u003e#13450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/4e457ffba43a6d87efc63c33041e2081438dd8a4\"\u003e\u003ccode\u003e4e457ff\u003c/code\u003e\u003c/a\u003e Explicitly specify python in mac uv build invocation (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13447\"\u003e#13447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/2726efdb6d67f1c90cf9c6062d9fe051965586f8\"\u003e\u003ccode\u003e2726efd\u003c/code\u003e\u003c/a\u003e Depend on CFFI 2.0.0 or newer on Python \u0026gt; 3.8 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13448\"\u003e#13448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/62230623d183706632c0eb7822c96ac95e3710a8\"\u003e\u003ccode\u003e6223062\u003c/code\u003e\u003c/a\u003e release 46.0.0 (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13446\"\u003e#13446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/563c4915b0931455706f761a4579c26698824eae\"\u003e\u003ccode\u003e563c491\u003c/code\u003e\u003c/a\u003e Update comment for pyopenssl-release tag (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13445\"\u003e#13445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/d2f6f7faced35b73277bc624ff496f8af696b172\"\u003e\u003ccode\u003ed2f6f7f\u003c/code\u003e\u003c/a\u003e Bump downstream dependencies in CI (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13439\"\u003e#13439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/e7ab02bd679d0b4f55d93486fe27e62554ef15d4\"\u003e\u003ccode\u003ee7ab02b\u003c/code\u003e\u003c/a\u003e we'll ship this with 3.5.3 why not (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13442\"\u003e#13442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pyca/cryptography/commit/0b68a4bffb61202e4d4f5074cd30c2b9d15f429e\"\u003e\u003ccode\u003e0b68a4b\u003c/code\u003e\u003c/a\u003e Another pair of bump dependencies fix (\u003ca href=\"https://redirect.github.com/pyca/cryptography/issues/13444\"\u003e#13444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pyca/cryptography/compare/45.0.5...46.0.3\"\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 `jsonschema` from 4.25.0 to 4.25.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/releases\"\u003ejsonschema's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.25.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidator\u003c/code\u003e protocol init to match runtime by \u003ca href=\"https://github.com/sirosen\"\u003e\u003ccode\u003e@​sirosen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/pull/1396\"\u003epython-jsonschema/jsonschema#1396\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-jsonschema/jsonschema/compare/v4.25.0...v4.25.1\"\u003ehttps://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.25.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst\"\u003ejsonschema's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev4.25.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix an incorrect required argument in the \u003ccode\u003eValidator\u003c/code\u003e protocol's type annotations (\u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1396\"\u003e#1396\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/331c38425519b69118d22ebe467ad230fb83a010\"\u003e\u003ccode\u003e331c384\u003c/code\u003e\u003c/a\u003e Add the fix to the changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/c1ec0a645e913e83de95995f6efbbd358676abf6\"\u003e\u003ccode\u003ec1ec0a6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1398\"\u003e#1398\u003c/a\u003e from python-jsonschema/dependabot/github_actions/ast...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/8e7d594faff13f8f663b306a0d86bea0ce5de6cb\"\u003e\u003ccode\u003e8e7d594\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1399\"\u003e#1399\u003c/a\u003e from python-jsonschema/dependabot/github_actions/act...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/460f4fae42664773160f56ccc843a4fcea34f7cf\"\u003e\u003ccode\u003e460f4fa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1396\"\u003e#1396\u003c/a\u003e from sirosen/improve-protocol-init-signature\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/1e58409b71a9696b7bf9938ae8a3a48ef95ab29e\"\u003e\u003ccode\u003e1e58409\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] auto fixes from pre-commit.com hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/64bc2171624ef201bdbf35e47780348ce30935c5\"\u003e\u003ccode\u003e64bc217\u003c/code\u003e\u003c/a\u003e Add a typing test for the Validator protocol\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/6c25741bff889477680f9b0d1aa967ae35c38f43\"\u003e\u003ccode\u003e6c25741\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/bf603d59117f840916709fc87c6625df43d1fe72\"\u003e\u003ccode\u003ebf603d5\u003c/code\u003e\u003c/a\u003e Bump astral-sh/setup-uv from 6.4.3 to 6.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/a916d8f8253baa11bacc60f0868f0bab1e42d526\"\u003e\u003ccode\u003ea916d8f\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eValidator\u003c/code\u003e protocol init to match runtime\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-jsonschema/jsonschema/commit/de60f18bd97395a52a11b561eb62963e0ffe9e71\"\u003e\u003ccode\u003ede60f18\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-jsonschema/jsonschema/issues/1397\"\u003e#1397\u003c/a\u003e from python-jsonschema/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.25.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `markdown` from 3.8.2 to 3.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Python-Markdown/markdown/releases\"\u003emarkdown's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 3.10.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOfficially support Python 3.14 and PyPy 3.11 and drop support for Python 3.9\nand PyPy 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix an HTML comment parsing case in some Python versions that can cause an\ninfinite loop (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1554\"\u003e#1554\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRevert the default behavior of \u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e (to \u003ccode\u003eTrue\u003c/code\u003e). The new\nbehavior introduced in 3.9.0 is experimental and results are inconsistent.\nIt should not have been made the default behavior (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1561\"\u003e#1561\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 3.9.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFootnotes are now ordered by the occurrence of their references in the\ndocument. A new configuration option for the footnotes extension,\n\u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e, has been added to support restoring the previous\nbehavior of ordering footnotes by the occurrence of definitions (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1367\"\u003e#1367\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure inline processing iterates through elements in document order (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1546\"\u003e#1546\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix handling of incomplete HTML tags in code spans in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1547\"\u003e#1547\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/Python-Markdown/markdown/blob/master/docs/changelog.md\"\u003emarkdown's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003etitle: Changelog\ntoc_depth: 2\u003c/p\u003e\n\u003ch1\u003ePython-Markdown Changelog\u003c/h1\u003e\n\u003cp\u003eAll notable changes to this project will be documented in this file.\u003c/p\u003e\n\u003cp\u003eThe format is based on \u003ca href=\"https://keepachangelog.com/en/1.1.0/\"\u003eKeep a Changelog\u003c/a\u003e,\nand this project adheres to the\n\u003ca href=\"https://packaging.python.org/en/latest/specifications/version-specifiers/\"\u003ePython Version Specification\u003c/a\u003e.\nSee the \u003ca href=\"https://github.com/Python-Markdown/markdown/blob/master/docs/contributing.md\"\u003eContributing Guide\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003e[3.10.0] - 2025-11-03\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOfficially support Python 3.14 and PyPy 3.11 and drop support for Python 3.9\nand PyPy 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix an HTML comment parsing case in some Python versions that can cause an\ninfinite loop (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1554\"\u003e#1554\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRevert the default behavior of \u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e (to \u003ccode\u003eTrue\u003c/code\u003e). The new\nbehavior introduced in 3.9.0 is experimental and results are inconsistent.\nIt should not have been made the default behavior (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1561\"\u003e#1561\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.9.0] - 2025-09-04\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFootnotes are now ordered by the occurrence of their references in the\ndocument. A new configuration option for the footnotes extension,\n\u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e, has been added to support restoring the previous\nbehavior of ordering footnotes by the occurrence of definitions (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1367\"\u003e#1367\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure inline processing iterates through elements in document order (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1546\"\u003e#1546\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix handling of incomplete HTML tags in code spans in Python 3.14 (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1547\"\u003e#1547\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/22e89c1fc346f72218a10e392a0c3b4731912522\"\u003e\u003ccode\u003e22e89c1\u003c/code\u003e\u003c/a\u003e Bump version to 3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/c138aea5139a6aceae05bb957e866d9ce7577b94\"\u003e\u003ccode\u003ec138aea\u003c/code\u003e\u003c/a\u003e + PY314 - PY39\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/746f7f527b15f63845253e3b86947b806ef1b98f\"\u003e\u003ccode\u003e746f7f5\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/a5ee2b4aad05531898ab8fd726c7ece31ddadf8b\"\u003e\u003ccode\u003ea5ee2b4\u003c/code\u003e\u003c/a\u003e Revert the default behavior of \u003ccode\u003eUSE_DEFINITION_ORDER\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/5354daf618149f92580a1407c036115753c5df73\"\u003e\u003ccode\u003e5354daf\u003c/code\u003e\u003c/a\u003e Fix an HTML comment parsing case that can cause an infinite loop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/f39cf84a24124526c1a0efbe52219fa9950774f6\"\u003e\u003ccode\u003ef39cf84\u003c/code\u003e\u003c/a\u003e Bump version to 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/07bf2076623be5de9952e1f35bfb8c218b699300\"\u003e\u003ccode\u003e07bf207\u003c/code\u003e\u003c/a\u003e Order footnotes by reference\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/23c301de28e12426408656efdfa153b11d4ff558\"\u003e\u003ccode\u003e23c301d\u003c/code\u003e\u003c/a\u003e Fix failing cases for Python 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/4669a09894d4a35cd5f5d2106b0da95e48d1a3f9\"\u003e\u003ccode\u003e4669a09\u003c/code\u003e\u003c/a\u003e fix typo\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Python-Markdown/markdown/compare/3.8.2...3.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `markupsafe` from 3.0.2 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/markupsafe/releases\"\u003emarkupsafe's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.0.3\u003c/h2\u003e\n\u003cp\u003eThis is the MarkupSafe 3.0.3 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/MarkupSafe/3.0.3/\"\u003ehttps://pypi.org/project/MarkupSafe/3.0.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://markupsafe.palletsprojects.com/page/changes/#version-3-0-3\"\u003ehttps://markupsafe.palletsprojects.com/page/changes/#version-3-0-3\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/markupsafe/milestone/15?closed=1\"\u003ehttps://github.com/pallets/markupsafe/milestone/15?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e__version__\u003c/code\u003e raises \u003ccode\u003eDeprecationWarning\u003c/code\u003e instead of \u003ccode\u003eUserWarning\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/487\"\u003e#487\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdopt multi-phase initialization PEP 489 for the C extension. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/494\"\u003e#494\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild Windows ARM64 wheels. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/485\"\u003e#485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild Python 3.14 wheels. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/503\"\u003e#503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild riscv64 wheels. \u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/505\"\u003e#505\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/markupsafe/blob/main/CHANGES.rst\"\u003emarkupsafe's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 3.0.3\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-27\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e__version__\u003c/code\u003e raises \u003ccode\u003eDeprecationWarning\u003c/code\u003e instead of \u003ccode\u003eUserWarning\u003c/code\u003e.\n:issue:\u003ccode\u003e487\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdopt multi-phase initialisation (:pep:\u003ccode\u003e489\u003c/code\u003e) for the C extension.\n:issue:\u003ccode\u003e494\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eBuild Windows ARM64 wheels. :issue:\u003ccode\u003e485\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eBuild Python 3.14 wheels. :issue:\u003ccode\u003e503\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eBuild riscv64 wheels. :issue:\u003ccode\u003e505\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/297fc8e356e6836a62087949245d09a28e9f1b13\"\u003e\u003ccode\u003e297fc8e\u003c/code\u003e\u003c/a\u003e release version 3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/7e4e6ce249107c5f27fa6fe890e29da7a8dc8f0c\"\u003e\u003ccode\u003e7e4e6ce\u003c/code\u003e\u003c/a\u003e Free-threading: run with pytest-run-paralell (\u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/507\"\u003e#507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/6100b9c0d466495a08d55b33cb172d7b5d8e9aa1\"\u003e\u003ccode\u003e6100b9c\u003c/code\u003e\u003c/a\u003e enable riscv64 wheels (\u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/506\"\u003e#506\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/c9d5ecfc7eec6f611b19cdc8e1cde1aaa65cb8eb\"\u003e\u003ccode\u003ec9d5ecf\u003c/code\u003e\u003c/a\u003e enable riscv64 wheels\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/2f9b33753052e7c6df1464a7c900787d04ae9daf\"\u003e\u003ccode\u003e2f9b337\u003c/code\u003e\u003c/a\u003e tox for 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/78d951a9549dee9fc901c55fc79a74a5f01e96fc\"\u003e\u003ccode\u003e78d951a\u003c/code\u003e\u003c/a\u003e update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/bb6744e392e79611b110c5ba022238eb1b855cc2\"\u003e\u003ccode\u003ebb6744e\u003c/code\u003e\u003c/a\u003e add entry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/65c4134ab16a3faccbcac2cba90da0db2b799542\"\u003e\u003ccode\u003e65c4134\u003c/code\u003e\u003c/a\u003e upgrade cibuildwheel, add \u003ccode\u003ecp314\u003c/code\u003e wheels and test on CPython 3.14 (\u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/504\"\u003e#504\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/3a9bd88b84c9edba8b922bb12b84a59feed98788\"\u003e\u003ccode\u003e3a9bd88\u003c/code\u003e\u003c/a\u003e add cp314 wheels\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/markupsafe/commit/aafe44d87bd7974bc82af8c4010dea9938441edf\"\u003e\u003ccode\u003eaafe44d\u003c/code\u003e\u003c/a\u003e remove slsa provenance (\u003ca href=\"https://redirect.github.com/pallets/markupsafe/issues/501\"\u003e#501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/markupsafe/compare/3.0.2...3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `networkx` from 3.4.2 to 3.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/networkx/networkx/releases\"\u003enetworkx's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eNetworkX 3.6\u003c/h2\u003e\n\u003ch1\u003enetworkx 3.6\u003c/h1\u003e\n\u003cp\u003eWe're happy to announce the release of networkx 3.6!\u003c/p\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eENH: add normalize option for \u003ccode\u003esubgraph_centrality\u003c/code\u003e and its \u003ccode\u003e_exp\u003c/code\u003e version (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8340\"\u003e#8340\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAPI Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace \u003ccode\u003erandom_lobster\u003c/code\u003e with \u003ccode\u003erandom_lobster_graph\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8067\"\u003e#8067\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003emaybe_regular_expander\u003c/code\u003e with \u003ccode\u003emaybe_regular_expander_graph\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8050\"\u003e#8050\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRm networkx.algorithms.threshold.swap_d (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8213\"\u003e#8213\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eExpire deprecation of compute_v_structures (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8281\"\u003e#8281\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRm unused dissuade_hubs kwarg from forceatlas2 (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8293\"\u003e#8293\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eExpire deprecation of link kwarg in node_link fns (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8282\"\u003e#8282\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDEP: Deprecate metric_closure (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8304\"\u003e#8304\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove error message for removed \u003ccode\u003erandom_tree\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8105\"\u003e#8105\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eUpdate approx current_flow betweenness to use k directly (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8007\"\u003e#8007\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eProposal: update semantics for nonisomorphic trees with order 0 or 1 (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8083\"\u003e#8083\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eSCC benchmarks and use of \u003ccode\u003eG._adj\u003c/code\u003e in Tarjan algorithm (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8064\"\u003e#8064\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003ePerformance improvement and tests for \u003ccode\u003eedges_equal\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8077\"\u003e#8077\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eoptimise \u003ccode\u003eis_reachable()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8112\"\u003e#8112\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eOptimise harmonic centrality (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8158\"\u003e#8158\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003efeat(drawing): add missing connection styles in \u003ccode\u003edraw_networkx_edge_labels\u003c/code\u003e and \u003ccode\u003edisplay\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8108\"\u003e#8108\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eOptimizing Dijkstra's paths to target (~50x faster for graphs with multiple-hops shortest path) (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8023\"\u003e#8023\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eall_triangles\u003c/code\u003e generator yielding all unique triangles in a graph (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8135\"\u003e#8135\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003erefactor: simplify \u003ccode\u003ek_factor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8139\"\u003e#8139\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003efeat: add directed star graph (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8151\"\u003e#8151\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFaster \u003ccode\u003eintersection_array\u003c/code\u003e computation for checking distance-regularity (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/7181\"\u003e#7181\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eenh: short-circuit in \u003ccode\u003eis_regular\u003c/code\u003e for directed graphs (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8138\"\u003e#8138\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAvoid re-exploring nodes in Kosaraju's SCC algorithm (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8056\"\u003e#8056\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003etrust rank implementation and testing (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8165\"\u003e#8165\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd hyper_wiener_index function (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8184\"\u003e#8184\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBidirectional dijkstra optimization: from 1.1x to 25x faster (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8206\"\u003e#8206\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImplement the algorithm to find the centroid(s) of a tree (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8089\"\u003e#8089\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eSet length threshold in FR and use np.clip (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8145\"\u003e#8145\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd panther++ (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/4400\"\u003e#4400\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003emaint: use \u003ccode\u003enx.circulant_graph\u003c/code\u003e to generate Harary graphs (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8189\"\u003e#8189\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eENH: add \u003ccode\u003edirected\u003c/code\u003e kwarg to \u003ccode\u003eedges_equal\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8192\"\u003e#8192\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eOptimizing Dijkstra's path construction for all targets case (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8218\"\u003e#8218\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eENH: adds ISMAGS support for directed and multigraph with tests and refactor (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8274\"\u003e#8274\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDispatch classes such as \u003ccode\u003enx.Graph(backend=...)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/7760\"\u003e#7760\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eENH: Add is_perfect_graph using SPGT (follow-up to \u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8111\"\u003e#8111\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8318\"\u003e#8318\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd benchmark suite for shortest path algorithms on weighted graphs (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8059\"\u003e#8059\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdding Generalized Petersen Graph (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8147\"\u003e#8147\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/bb9a6ded1889f182d7a5b76831c389c335d52910\"\u003e\u003ccode\u003ebb9a6de\u003c/code\u003e\u003c/a\u003e Designate 3.6 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/436973632bf1311e348510dda41d944f18db7b32\"\u003e\u003ccode\u003e4369736\u003c/code\u003e\u003c/a\u003e Fix sphinx warnings 3.6rc (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8352\"\u003e#8352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/6dbed05b693d535f70495229c3adc364793b00ed\"\u003e\u003ccode\u003e6dbed05\u003c/code\u003e\u003c/a\u003e FEAT: Add a describe method for some basic info about graphs (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8338\"\u003e#8338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/5fa842b6c78a5e79d90e3961ae34ebf3e17620eb\"\u003e\u003ccode\u003e5fa842b\u003c/code\u003e\u003c/a\u003e Pin last value to 1.0 in \u003ccode\u003ecumulative_distribution\u003c/code\u003e to address floating-point ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/d302ea14cb75a80513052ba3a9010f14a203a587\"\u003e\u003ccode\u003ed302ea1\u003c/code\u003e\u003c/a\u003e Adding \u003ca href=\"https://github.com/amcandio\"\u003e\u003ccode\u003e@​amcandio\u003c/code\u003e\u003c/a\u003e as contributor (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8345\"\u003e#8345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/1c64369df55584106a820f30cd892dbebc14b52e\"\u003e\u003ccode\u003e1c64369\u003c/code\u003e\u003c/a\u003e DOC: Add warning about special GEXF reserved keywords. (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8343\"\u003e#8343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/f26e6bff0e161668a1eecc50491eeff4a68bf3b8\"\u003e\u003ccode\u003ef26e6bf\u003c/code\u003e\u003c/a\u003e ENH: add normalize option for \u003ccode\u003esubgraph_centrality\u003c/code\u003e and its \u003ccode\u003e_exp\u003c/code\u003e version (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/79e113baab1f9a17a1884ef62ebda2e2e1e61428\"\u003e\u003ccode\u003e79e113b\u003c/code\u003e\u003c/a\u003e Adding Generalized Petersen Graph (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8147\"\u003e#8147\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/8b1c5a19c7baeb044daccf6903a3d680efd69fde\"\u003e\u003ccode\u003e8b1c5a1\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 4 to 5 in the actions group (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8335\"\u003e#8335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/e79901a9b3d58840f958d67295967e5e94915727\"\u003e\u003ccode\u003ee79901a\u003c/code\u003e\u003c/a\u003e Fix formatting for release docs. (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8336\"\u003e#8336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/networkx/networkx/compare/networkx-3.4.2...networkx-3.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.2.3 to 2.3.5\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.5 (Nov 16, 2025)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.3.5 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.3.5 release is a patch release split between a number of maintenance\nupdates and bug fixes. This release supports Python versions 3.11-3.14.\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eA total of 10 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\u003eAaron Kollasch +\u003c/li\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003eRafael Laboissière +\u003c/li\u003e\n\u003cli\u003eSayed Awad\u003c/li\u003e\n\u003cli\u003eSebastian Berg\u003c/li\u003e\n\u003cli\u003eWarren Weckesser\u003c/li\u003e\n\u003cli\u003eYasir Ashfaq +\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 16 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/29979\"\u003e#29979\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/30026\"\u003e#30026\u003c/a\u003e: SIMD, BLD: Backport FPMATH mode on x86-32 and filter successor...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30029\"\u003e#30029\u003c/a\u003e: MAINT: Backport write_release.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30041\"\u003e#30041\u003c/a\u003e: TYP: Various typing updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30059\"\u003e#30059\u003c/a\u003e: BUG: Fix np.strings.slice if stop=None or start and stop \u0026gt;= len...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30063\"\u003e#30063\u003c/a\u003e: BUG: Fix np.strings.slice if start \u0026gt; stop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30076\"\u003e#30076\u003c/a\u003e: BUG: avoid negating INT_MIN in PyArray_Round implementation (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30071\"\u003e#30071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30090\"\u003e#30090\u003c/a\u003e: BUG: Fix resize when it contains references (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29970\"\u003e#29970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30129\"\u003e#30129\u003c/a\u003e: BLD: update scipy-openblas, use -Dpkg_config_path (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30049\"\u003e#30049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30130\"\u003e#30130\u003c/a\u003e: BUG: Avoid compilation error of wrapper file generated with SWIG...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30157\"\u003e#30157\u003c/a\u003e: BLD: use scipy-openblas 0.3.30.7 (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30132\"\u003e#30132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30158\"\u003e#30158\u003c/a\u003e: DOC: Remove nonexistent \u003ccode\u003eorder\u003c/code\u003e parameter docs of \u003ccode\u003ema.asanyarray\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30185\"\u003e#30185\u003c/a\u003e: BUG: Fix check of PyMem_Calloc return value. (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30176\"\u003e#30176\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30217\"\u003e#30217\u003c/a\u003e: DOC: fix links for newly rebuilt numpy-tutorials site\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30218\"\u003e#30218\u003c/a\u003e: BUG: Fix build on s390x with clang (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30214\"\u003e#30214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30237\"\u003e#30237\u003c/a\u003e: ENH: Make FPE blas check a runtime check for all apple arm systems\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.3.4 (Oct 15,  2025)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.3.4 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.3.4 release is a patch release split between a number of maintenance\nupdates and bug fixes. This release supports Python versions 3.11-3.14. This\nrelease is based on Python 3.14.0 final.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/c3d60fc8393f3ca3306b8ce8b6453d43737e3d90\"\u003e\u003ccode\u003ec3d60fc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30238\"\u003e#30238\u003c/a\u003e from charris/prepare-2.3.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/11451fa35d49d8c809cdef87106417833bdacfbe\"\u003e\u003ccode\u003e11451fa\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.3.5 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/eab5bd47df62782edceccf4cf99112851f7a8975\"\u003e\u003ccode\u003eeab5bd4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30237\"\u003e#30237\u003c/a\u003e from charris/backport-30102\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7cea31aa6255994bcd17b3ee2f6dbf671eaa9598\"\u003e\u003ccode\u003e7cea31a\u003c/code\u003e\u003c/a\u003e Fixup merge of multiarraymodule.c\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/b8981736060011506e497c5bca24a75c5bddee39\"\u003e\u003ccode\u003eb898173\u003c/code\u003e\u003c/a\u003e Update numpy/_core/src/common/blas_utils.h\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f755483d4858839044f159db7dacdf1818912393\"\u003e\u003ccode\u003ef755483\u003c/code\u003e\u003c/a\u003e Report FPE ignoring in matmul in \u003ccode\u003eshow_runtime()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/c47116f3858a2814222a7cd7b15ebc5eed9df4d0\"\u003e\u003ccode\u003ec47116f\u003c/code\u003e\u003c/a\u003e Move test to Python\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/bd7b93f105ddb3b3f200ceb6fb4516e7e87f3a81\"\u003e\u003ccode\u003ebd7b93f\u003c/code\u003e\u003c/a\u003e ooops, needs to be a calloc of course.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/83a1517159a2e33d05113e3341afb1df83ba615d\"\u003e\u003ccode\u003e83a1517\u003c/code\u003e\u003c/a\u003e Guard for HAVE_CBLAS and always compile the helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/ab680efe63a4f87078b7317742767581b8959d78\"\u003e\u003ccode\u003eab680ef\u003c/code\u003e\u003c/a\u003e ENH: Make FPE blas check a runtime check for all arm systems\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.2.3...v2.3.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pillow` from 11.3.0 to 12.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-pillow/Pillow/releases\"\u003epillow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e12.0.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://pillow.readthedocs.io/en/stable/releasenotes/12.0.0.html\"\u003ehttps://pillow.readthedocs.io/en/stable/releasenotes/12.0.0.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eRemovals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for FreeType \u0026lt;= 2.9.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9159\"\u003e#9159\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9119\"\u003e#9119\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eRemove deprecations for Pillow 12.0.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9053\"\u003e#9053\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate Image._show \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9186\"\u003e#9186\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eDeprecate ImageCmsProfile product_name and product_info \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/8995\"\u003e#8995\u003c/a\u003e [\u003ca href=\"https://github.com/lukegb\"\u003e\u003ccode\u003e@​lukegb\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImagingHistogramInstance can use two bands \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9251\"\u003e#9251\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate 12.0.0 release notes \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9247\"\u003e#9247\u003c/a\u003e [\u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdded ImageDraw alpha channel examples \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9201\"\u003e#9201\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate Python version \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9230\"\u003e#9230\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdated macOS tested Pillow versions \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9209\"\u003e#9209\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd GitHub profile link to release notes \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9197\"\u003e#9197\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eSplit versionadded info \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9190\"\u003e#9190\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eDocument ImageFile.MAXBLOCK \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9163\"\u003e#9163\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdated macOS version in CI targets \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9157\"\u003e#9157\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eFix typos \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9135\"\u003e#9135\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdded \u0026quot;Colors\u0026quot; to concepts \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9067\"\u003e#9067\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate macOS tested Pillow versions \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9068\"\u003e#9068\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eThanks, folks! \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9056\"\u003e#9056\u003c/a\u003e [\u003ca href=\"https://github.com/aclark4life\"\u003e\u003ccode\u003e@​aclark4life\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eSetup nit: \u0026quot;fork\u0026quot; should be lowercased \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9055\"\u003e#9055\u003c/a\u003e [\u003ca href=\"https://github.com/aclark4life\"\u003e\u003ccode\u003e@​aclark4life\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate dependency cibuildwheel to v3.2.1 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9246\"\u003e#9246\u003c/a\u003e [@\u003ca href=\"https://github.com/apps/renovate\"\u003erenovate[bot]\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9233\"\u003e#9233\u003c/a\u003e [@\u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003epre-commit-ci[bot]\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate harfbuzz to 12.1.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9218\"\u003e#9218\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate libtiff to 4.7.1 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9222\"\u003e#9222\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate FreeType to 2.14.1 on macOS and Linux wheels \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9217\"\u003e#9217\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate dependency cibuildwheel to v3.2.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9219\"\u003e#9219\u003c/a\u003e [@\u003ca href=\"https://github.com/apps/renovate\"\u003erenovate[bot]\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate Ghostscript to 10.6.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9202\"\u003e#9202\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate openjpeg to 2.5.4 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9215\"\u003e#9215\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate harfbuzz to 11.5.0 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9203\"\u003e#9203\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate dependency mypy to v1.18.2 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9213\"\u003e#9213\u003c/a\u003e [@\u003ca href=\"https://github.com/apps/renovate\"\u003erenovate[bot]\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate dependency mypy to v1.18.1 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9207\"\u003e#9207\u003c/a\u003e [@\u003ca href=\"https://github.com/apps/renovate\"\u003erenovate[bot]\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate github-actions \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9194\"\u003e#9194\u003c/a\u003e [@\u003ca href=\"https://github.com/apps/renovate\"\u003erenovate[bot]\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdated harfbuzz to 11.4.5 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9150\"\u003e#9150\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate zlib-ng to 2.2.5 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9140\"\u003e#9140\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate raqm to 0.10.3 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9137\"\u003e#9137\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate libjpeg-turbo to 3.1.2 \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9188\"\u003e#9188\u003c/a\u003e [\u003ca href=\"https://github.com/radarhere\"\u003e\u003ccode\u003e@​radarhere\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate \u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9180\"\u003e#9180\u003c/a\u003e [@\u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003epre-commit-ci[bot]\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/python-pillow/Pillow/commit/693df7b42c666f88c719f9973be0ad71607328e0\"\u003e\u003ccode\u003e693df7b\u003c/code\u003e\u003c/a\u003e 12.0.0 version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/d175bb88a302e161173e05b1c4103910d7366623\"\u003e\u003ccode\u003ed175bb8\u003c/code\u003e\u003c/a\u003e Use macos-14 for iOS arm64 simulator (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9258\"\u003e#9258\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/592b2f820aa1f75f8ae8bf4f30e1b4bc62023535\"\u003e\u003ccode\u003e592b2f8\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Use macos-latest for iOS arm64 simulator\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/5dddb2ce94a715e54442c1d30c9ffc04914d96fe\"\u003e\u003ccode\u003e5dddb2c\u003c/code\u003e\u003c/a\u003e Use enums for Modes and RawModes in C (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9256\"\u003e#9256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/e7b72a3bbdec4e3f4120e6b5fe4082d78315ff13\"\u003e\u003ccode\u003ee7b72a3\u003c/code\u003e\u003c/a\u003e Add ImageText (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9098\"\u003e#9098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/864d4b6e0937e9d468de26b933f31b1639e0f22a\"\u003e\u003ccode\u003e864d4b6\u003c/code\u003e\u003c/a\u003e Shift bits before making value negative (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9255\"\u003e#9255\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/994a9def5d94bc59b60447bbab445834f7f9f9bf\"\u003e\u003ccode\u003e994a9de\u003c/code\u003e\u003c/a\u003e Install arro3 dependencies when type checking (\u003ca href=\"https://redirect.github.com/python-pillow/Pillow/issues/9254\"\u003e#9254\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/d5e1601b32ea43b45ce8f820e4b349e9b5e2dd6c\"\u003e\u003ccode\u003ed5e1601\u003c/code\u003e\u003c/a\u003e Improved documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/e533ccccfcef79c031ac1178a9b78db2fb000a6f\"\u003e\u003ccode\u003ee533ccc\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into imagetext\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-pillow/Pillow/commit/95a85dc6693ca221643906214b0e1f4590986c0f\"\u003e\u003ccode\u003e95a85dc\u003c/code\u003e\u003c/a\u003e Use snake case\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-pillow/Pillow/compare/11.3.0...12.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `plotly` from 6.2.0 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/pu...\n\n_Description has been truncated_","html_url":"https://github.com/kbase/narrative/pull/3719","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kbase%2Fnarrative/issues/3719","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3719/packages"}},{"old_version":"8.1.5","new_version":"8.1.8","update_type":"patch","path":null,"pr_created_at":"2025-12-01T16:56:03.000Z","version_change":"8.1.5 → 8.1.8","issue":{"uuid":"3681937798","node_id":"PR_kwDON8lodc62ZZRy","number":48,"state":"closed","title":"Bump the poetry-dependencies group across 1 directory with 65 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-01T13:41:17.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-01T16:56:03.000Z","updated_at":"2026-01-01T13:41:19.000Z","time_to_close":2666714,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"poetry-dependencies","update_count":65,"packages":[{"name":"pandas","old_version":"2.2.3","new_version":"2.3.3","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"pandas-stubs","old_version":"2.2.3.241126","new_version":"2.3.2.250926","repository_url":"https://github.com/pandas-dev/pandas-stubs"},{"name":"ssb-klass-python","old_version":"1.0.0","new_version":"1.0.6","repository_url":"https://github.com/statisticsnorway/ssb-klass-python"},{"name":"pygments","old_version":"2.19.1","new_version":"2.19.2","repository_url":"https://github.com/pygments/pygments"},{"name":"black","old_version":"25.1.0","new_version":"25.11.0","repository_url":"https://github.com/psf/black"},{"name":"coverage","old_version":"7.6.12","new_version":"7.12.0","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"furo","old_version":"2024.8.6","new_version":"2025.9.25","repository_url":"https://github.com/pradyunsg/furo"},{"name":"mypy","old_version":"1.15.0","new_version":"1.19.0","repository_url":"https://github.com/python/mypy"},{"name":"pre-commit","old_version":"4.1.0","new_version":"4.5.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"pre-commit-hooks","old_version":"5.0.0","new_version":"6.0.0","repository_url":"https://github.com/pre-commit/pre-commit-hooks"},{"name":"ruff","old_version":"0.9.9","new_version":"0.14.7","repository_url":"https://github.com/astral-sh/ruff"},{"name":"pytest","old_version":"8.3.4","new_version":"9.0.1","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"sphinx-click","old_version":"6.0.0","new_version":"6.1.0","repository_url":"https://github.com/click-contrib/sphinx-click"},{"name":"typeguard","old_version":"4.4.2","new_version":"4.4.4","repository_url":"https://github.com/agronholm/typeguard"},{"name":"xdoctest","old_version":"1.2.0","new_version":"1.3.0","repository_url":"https://github.com/Erotemic/xdoctest"},{"name":"anyio","old_version":"4.8.0","new_version":"4.12.0","repository_url":"https://github.com/agronholm/anyio"},{"name":"asttokens","old_version":"3.0.0","new_version":"3.0.1","repository_url":"https://github.com/gristlabs/asttokens"},{"name":"beautifulsoup4","old_version":"4.13.3","new_version":"4.14.3"},{"name":"certifi","old_version":"2025.1.31","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.1","new_version":"3.4.4","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"click","old_version":"8.1.8","new_version":"8.3.1","repository_url":"https://github.com/pallets/click"},{"name":"comm","old_version":"0.2.2","new_version":"0.2.3","repository_url":"https://github.com/ipython/comm"},{"name":"distlib","old_version":"0.3.9","new_version":"0.4.0","repository_url":"https://github.com/pypa/distlib"},{"name":"exceptiongroup","old_version":"1.2.2","new_version":"1.3.1","repository_url":"https://github.com/agronholm/exceptiongroup"},{"name":"executing","old_version":"2.2.0","new_version":"2.2.1","repository_url":"https://github.com/alexmojaki/executing"},{"name":"filelock","old_version":"3.17.0","new_version":"3.20.0","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"h11","old_version":"0.14.0","new_version":"0.16.0","repository_url":"https://github.com/python-hyper/h11"},{"name":"identify","old_version":"2.6.8","new_version":"2.6.15","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.0.0","new_version":"2.3.0","repository_url":"https://github.com/pytest-dev/iniconfig"},{"name":"ipython","old_version":"8.33.0","new_version":"8.37.0","repository_url":"https://github.com/ipython/ipython"},{"name":"ipywidgets","old_version":"8.1.5","new_version":"8.1.8","repository_url":"https://github.com/jupyter-widgets/ipywidgets"},{"name":"jinja2","old_version":"3.1.5","new_version":"3.1.6","repository_url":"https://github.com/pallets/jinja"},{"name":"markupsafe","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/pallets/markupsafe"},{"name":"matplotlib-inline","old_version":"0.1.7","new_version":"0.2.1","repository_url":"https://github.com/ipython/matplotlib-inline"},{"name":"mdit-py-plugins","old_version":"0.4.2","new_version":"0.5.0","repository_url":"https://github.com/executablebooks/mdit-py-plugins"},{"name":"mypy-extensions","old_version":"1.0.0","new_version":"1.1.0","repository_url":"https://github.com/python/mypy_extensions"},{"name":"numpy","old_version":"2.2.3","new_version":"2.2.6","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":"platformdirs","old_version":"4.3.6","new_version":"4.5.0","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"pluggy","old_version":"1.5.0","new_version":"1.6.0","repository_url":"https://github.com/pytest-dev/pluggy"},{"name":"prompt-toolkit","old_version":"3.0.50","new_version":"3.0.52","repository_url":"https://github.com/prompt-toolkit/python-prompt-toolkit"},{"name":"pytz","old_version":"2025.1","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":"requests","old_version":"2.32.3","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"ruamel-yaml","old_version":"0.18.10","new_version":"0.18.16"},{"name":"ruamel-yaml-clib","old_version":"0.2.12","new_version":"0.2.15"},{"name":"snowballstemmer","old_version":"2.2.0","new_version":"3.0.1","repository_url":"https://github.com/snowballstem/snowball"},{"name":"soupsieve","old_version":"2.6","new_version":"2.8","repository_url":"https://github.com/facelessuser/soupsieve"},{"name":"starlette","old_version":"0.46.0","new_version":"0.50.0","repository_url":"https://github.com/Kludex/starlette"},{"name":"tokenize-rt","old_version":"6.1.0","new_version":"6.2.0","repository_url":"https://github.com/asottile/tokenize-rt"},{"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.1.0.20250204","new_version":"2025.2.0.20251108","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"tzdata","old_version":"2025.1","new_version":"2025.2","repository_url":"https://github.com/python/tzdata"},{"name":"urllib3","old_version":"2.3.0","new_version":"2.5.0","repository_url":"https://github.com/urllib3/urllib3"},{"name":"uvicorn","old_version":"0.34.0","new_version":"0.38.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"virtualenv","old_version":"20.29.2","new_version":"20.35.4","repository_url":"https://github.com/pypa/virtualenv"},{"name":"watchfiles","old_version":"1.0.4","new_version":"1.1.1","repository_url":"https://github.com/samuelcolvin/watchfiles"},{"name":"wcwidth","old_version":"0.2.13","new_version":"0.2.14","repository_url":"https://github.com/jquast/wcwidth"},{"name":"websockets","old_version":"15.0","new_version":"15.0.1","repository_url":"https://github.com/python-websockets/websockets"}],"path":null,"ecosystem":"pip"},"body":"Bumps the poetry-dependencies group with 62 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.2.3` | `2.3.3` |\n| [pandas-stubs](https://github.com/pandas-dev/pandas-stubs) | `2.2.3.241126` | `2.3.2.250926` |\n| [ssb-klass-python](https://github.com/statisticsnorway/ssb-klass-python) | `1.0.0` | `1.0.6` |\n| [pygments](https://github.com/pygments/pygments) | `2.19.1` | `2.19.2` |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.11.0` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.6.12` | `7.12.0` |\n| [furo](https://github.com/pradyunsg/furo) | `2024.8.6` | `2025.9.25` |\n| [mypy](https://github.com/python/mypy) | `1.15.0` | `1.19.0` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.1.0` | `4.5.0` |\n| [pre-commit-hooks](https://github.com/pre-commit/pre-commit-hooks) | `5.0.0` | `6.0.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.9.9` | `0.14.7` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.3.4` | `9.0.1` |\n| [sphinx-click](https://github.com/click-contrib/sphinx-click) | `6.0.0` | `6.1.0` |\n| [typeguard](https://github.com/agronholm/typeguard) | `4.4.2` | `4.4.4` |\n| [xdoctest](https://github.com/Erotemic/xdoctest) | `1.2.0` | `1.3.0` |\n| [anyio](https://github.com/agronholm/anyio) | `4.8.0` | `4.12.0` |\n| [asttokens](https://github.com/gristlabs/asttokens) | `3.0.0` | `3.0.1` |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.13.3` | `4.14.3` |\n| [certifi](https://github.com/certifi/python-certifi) | `2025.1.31` | `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.1` | `3.4.4` |\n| [click](https://github.com/pallets/click) | `8.1.8` | `8.3.1` |\n| [comm](https://github.com/ipython/comm) | `0.2.2` | `0.2.3` |\n| [distlib](https://github.com/pypa/distlib) | `0.3.9` | `0.4.0` |\n| [exceptiongroup](https://github.com/agronholm/exceptiongroup) | `1.2.2` | `1.3.1` |\n| [executing](https://github.com/alexmojaki/executing) | `2.2.0` | `2.2.1` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.17.0` | `3.20.0` |\n| [h11](https://github.com/python-hyper/h11) | `0.14.0` | `0.16.0` |\n| [identify](https://github.com/pre-commit/identify) | `2.6.8` | `2.6.15` |\n| [idna](https://github.com/kjd/idna) | `3.10` | `3.11` |\n| [iniconfig](https://github.com/pytest-dev/iniconfig) | `2.0.0` | `2.3.0` |\n| [ipython](https://github.com/ipython/ipython) | `8.33.0` | `8.37.0` |\n| [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) | `8.1.5` | `8.1.8` |\n| [jinja2](https://github.com/pallets/jinja) | `3.1.5` | `3.1.6` |\n| [markupsafe](https://github.com/pallets/markupsafe) | `3.0.2` | `3.0.3` |\n| [matplotlib-inline](https://github.com/ipython/matplotlib-inline) | `0.1.7` | `0.2.1` |\n| [mdit-py-plugins](https://github.com/executablebooks/mdit-py-plugins) | `0.4.2` | `0.5.0` |\n| [mypy-extensions](https://github.com/python/mypy_extensions) | `1.0.0` | `1.1.0` |\n| [numpy](https://github.com/numpy/numpy) | `2.2.3` | `2.2.6` |\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| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.3.6` | `4.5.0` |\n| [pluggy](https://github.com/pytest-dev/pluggy) | `1.5.0` | `1.6.0` |\n| [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) | `3.0.50` | `3.0.52` |\n| [pytz](https://github.com/stub42/pytz) | `2025.1` | `2025.2` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.32.5` |\n| ruamel-yaml | `0.18.10` | `0.18.16` |\n| ruamel-yaml-clib | `0.2.12` | `0.2.15` |\n| [snowballstemmer](https://github.com/snowballstem/snowball) | `2.2.0` | `3.0.1` |\n| [soupsieve](https://github.com/facelessuser/soupsieve) | `2.6` | `2.8` |\n| [starlette](https://github.com/Kludex/starlette) | `0.46.0` | `0.50.0` |\n| [tokenize-rt](https://github.com/asottile/tokenize-rt) | `6.1.0` | `6.2.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.1.0.20250204` | `2025.2.0.20251108` |\n| [tzdata](https://github.com/python/tzdata) | `2025.1` | `2025.2` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.3.0` | `2.5.0` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.34.0` | `0.38.0` |\n| [virtualenv](https://github.com/pypa/virtualenv) | `20.29.2` | `20.35.4` |\n| [watchfiles](https://github.com/samuelcolvin/watchfiles) | `1.0.4` | `1.1.1` |\n| [wcwidth](https://github.com/jquast/wcwidth) | `0.2.13` | `0.2.14` |\n| [websockets](https://github.com/python-websockets/websockets) | `15.0` | `15.0.1` |\n\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 `pandas-stubs` from 2.2.3.241126 to 2.3.2.250926\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/fc5ab16adfb2b11060f0aa9ee2113ade4b15da19\"\u003e\u003ccode\u003efc5ab16\u003c/code\u003e\u003c/a\u003e Version 2.3.2.250926\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/7ac98f279dacad533bbfba01ca523c44964b66ee\"\u003e\u003ccode\u003e7ac98f2\u003c/code\u003e\u003c/a\u003e refactor(series)!: ⏱️ drop TimedeltaSeries (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas-stubs/issues/1273\"\u003e#1273\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/2f633544659a83d94cb7f527de21a5667d8a62c6\"\u003e\u003ccode\u003e2f63354\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/pandas-dev/pandas-stubs/issues/849\"\u003e#849\u003c/a\u003e: Update converters type in read_excel for better Pyright compatibili...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/8e5c7543262397bbc581bf639cdef58c003e1cff\"\u003e\u003ccode\u003e8e5c754\u003c/code\u003e\u003c/a\u003e fix(series): \u003ca href=\"https://redirect.github.com/pandas-dev/pandas-stubs/issues/1372\"\u003e#1372\u003c/a\u003e 🧱✖️ cumprod (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas-stubs/issues/1374\"\u003e#1374\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/c98adb3d47cd590902365e5bdcf94e5a983c5dde\"\u003e\u003ccode\u003ec98adb3\u003c/code\u003e\u003c/a\u003e GH1358 Relax index type from DataFrame.from_records (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas-stubs/issues/1375\"\u003e#1375\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/d413f0e1a05aac41973cb746e7d7bcabcfc5f143\"\u003e\u003ccode\u003ed413f0e\u003c/code\u003e\u003c/a\u003e FIX: DatetimeIndex.array should return DatetimeArray instead of ExtensionArra...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/57682145f30d654cd9379d36efd4e3e85033e9d4\"\u003e\u003ccode\u003e5768214\u003c/code\u003e\u003c/a\u003e refactor(series)!: 🕰️ drop TimestampSeries (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas-stubs/issues/1274\"\u003e#1274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/c38b6a3cbf029361d88bafa89e87e4263f0b0982\"\u003e\u003ccode\u003ec38b6a3\u003c/code\u003e\u003c/a\u003e fix(pyright): \u003ca href=\"https://redirect.github.com/microsoft/pyright/issues/10924\"\u003emicrosoft/pyright#10924\u003c/a\u003e ignore (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas-stubs/issues/1370\"\u003e#1370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/5099a1a5ea6c9609ec310794b7ef06aed279f03a\"\u003e\u003ccode\u003e5099a1a\u003c/code\u003e\u003c/a\u003e Type \u003ccode\u003eNAType\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas-stubs/issues/1348\"\u003e#1348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas-stubs/commit/2106e8b4c68e734a4ca56ffc437bd18f16f868f1\"\u003e\u003ccode\u003e2106e8b\u003c/code\u003e\u003c/a\u003e Minor test cleanup to adopt check assert_type framework (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas-stubs/issues/1369\"\u003e#1369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandas-dev/pandas-stubs/compare/v2.2.3.241126...v2.3.2.250926\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ssb-klass-python` from 1.0.0 to 1.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/statisticsnorway/ssb-klass-python/releases\"\u003essb-klass-python's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.0.6\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e:package: Dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix upperbound python (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-klass-python/issues/173\"\u003e#173\u003c/a\u003e) \u003ca href=\"https://github.com/aecorn\"\u003e\u003ccode\u003e@​aecorn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.0.5\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e:beetle: Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDowngrade to include python 3.10 AGAIN - because prodsone is still running 3.10... (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-klass-python/issues/172\"\u003e#172\u003c/a\u003e) \u003ca href=\"https://github.com/aecorn\"\u003e\u003ccode\u003e@​aecorn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:package: Dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDowngrade to include python 3.10 AGAIN - because prodsone is still running 3.10... (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-klass-python/issues/172\"\u003e#172\u003c/a\u003e) \u003ca href=\"https://github.com/aecorn\"\u003e\u003ccode\u003e@​aecorn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.0.4\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e:beetle: Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCarl fixing issues (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-klass-python/issues/171\"\u003e#171\u003c/a\u003e) \u003ca href=\"https://github.com/aecorn\"\u003e\u003ccode\u003e@​aecorn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.0.3\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e:rocket: Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdding a search option on \u0026quot;get_variant()\u0026quot; under KlassVersion - more documentation on get_changes - security updates etc. (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-klass-python/issues/169\"\u003e#169\u003c/a\u003e) \u003ca href=\"https://github.com/aecorn\"\u003e\u003ccode\u003e@​aecorn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:books: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdding a search option on \u0026quot;get_variant()\u0026quot; under KlassVersion - more documentation on get_changes - security updates etc. (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-klass-python/issues/169\"\u003e#169\u003c/a\u003e) \u003ca href=\"https://github.com/aecorn\"\u003e\u003ccode\u003e@​aecorn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:package: Dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdding a search option on \u0026quot;get_variant()\u0026quot; under KlassVersion - more documentation on get_changes - security updates etc. (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-klass-python/issues/169\"\u003e#169\u003c/a\u003e) \u003ca href=\"https://github.com/aecorn\"\u003e\u003ccode\u003e@​aecorn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump starlette from 0.46.2 to 0.49.1 (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-klass-python/issues/164\"\u003e#164\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 in /.github/workflows (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-klass-python/issues/161\"\u003e#161\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump urllib3 from 2.4.0 to 2.5.0 (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-klass-python/issues/153\"\u003e#153\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-action-dependencies group across 1 directory with 5 updates (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-klass-python/issues/162\"\u003e#162\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the workflows-dependencies group across 1 directory with 4 updates (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-klass-python/issues/165\"\u003e#165\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump requests from 2.32.3 to 2.32.4 (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-klass-python/issues/152\"\u003e#152\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.0.2\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAkseptere int som classification_id i typehint (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-klass-python/issues/144\"\u003e#144\u003c/a\u003e) \u003ca href=\"https://github.com/Bjoern-Rapp\"\u003e\u003ccode\u003e@​Bjoern-Rapp\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/statisticsnorway/ssb-klass-python/commit/651e8a2d1f0fc827864b8625a7e9292c2243765a\"\u003e\u003ccode\u003e651e8a2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-klass-python/issues/173\"\u003e#173\u003c/a\u003e from statisticsnorway/fix_upperbound_python\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-klass-python/commit/b5a364624ec76588b790a835c189941cea1a7fe6\"\u003e\u003ccode\u003eb5a3646\u003c/code\u003e\u003c/a\u003e bump version path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-klass-python/commit/84dd0a3b136a08e0222bd7b92491eb1b783c917f\"\u003e\u003ccode\u003e84dd0a3\u003c/code\u003e\u003c/a\u003e following \u003ca href=\"https://github.com/DanielElisenberg\"\u003e\u003ccode\u003e@​DanielElisenberg\u003c/code\u003e\u003c/a\u003e 's recommendations to not have a upper limit on P...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-klass-python/commit/bcba46a5f9bd97597282ffbee163fe1fdc0cb6d4\"\u003e\u003ccode\u003ebcba46a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-klass-python/issues/172\"\u003e#172\u003c/a\u003e from statisticsnorway/downgrade-to-py310-AGAIN\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-klass-python/commit/3a813929d81b4077037c0c4c27d9773a21821f91\"\u003e\u003ccode\u003e3a81392\u003c/code\u003e\u003c/a\u003e ADR00032's demand for no upper python-version bound is impossible in practice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-klass-python/commit/edf996b6af8915b34e9aa42fc0637a91207e2702\"\u003e\u003ccode\u003eedf996b\u003c/code\u003e\u003c/a\u003e following ADR00032 by not limiting python higher bound\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-klass-python/commit/8df2fb248be1634b1e02a6b11dfb2e21a47037e8\"\u003e\u003ccode\u003e8df2fb2\u003c/code\u003e\u003c/a\u003e coverage also use 3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-klass-python/commit/871eb99d1e31c2bbc106b75b816816ce533ae8ed\"\u003e\u003ccode\u003e871eb99\u003c/code\u003e\u003c/a\u003e bump package version to puclish to pypi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-klass-python/commit/3e791a2801000c000cd69f2755c407320079ca3f\"\u003e\u003ccode\u003e3e791a2\u003c/code\u003e\u003c/a\u003e u want line shifts huh\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-klass-python/commit/b3ca419c05bbb94561009761caeac5bacc2380e0\"\u003e\u003ccode\u003eb3ca419\u003c/code\u003e\u003c/a\u003e mainly prefer 3.11 for other CI activites\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/statisticsnorway/ssb-klass-python/compare/v1.0.0...v1.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pygments` from 2.19.1 to 2.19.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pygments/pygments/releases\"\u003epygments's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.19.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLua: Fix regression introduced in 2.19.0 (\u003ca href=\"https://redirect.github.com/pygments/pygments/issues/2882\"\u003e#2882\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pygments/pygments/issues/2839\"\u003e#2839\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/pygments/pygments/blob/master/CHANGES\"\u003epygments's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.19.2\u003c/h2\u003e\n\u003cp\u003e(released June 21st, 2025)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eLua: Fix regression introduced in 2.19.0 (\u003ca href=\"https://redirect.github.com/pygments/pygments/issues/2882\"\u003e#2882\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pygments/pygments/issues/2839\"\u003e#2839\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/pygments/pygments/commit/cfca62e6e95136e48a255e8cbffb0bbe1d98456c\"\u003e\u003ccode\u003ecfca62e\u003c/code\u003e\u003c/a\u003e Prepare v2.19.2 release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pygments/pygments/commit/6688300df2ea289a6137c7ee9c78d0bb95683b5c\"\u003e\u003ccode\u003e6688300\u003c/code\u003e\u003c/a\u003e Disable pyodide (currently broken.)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pygments/pygments/commit/66997c3e302226a95c22cdaebf827444327920fa\"\u003e\u003ccode\u003e66997c3\u003c/code\u003e\u003c/a\u003e Update ruff version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pygments/pygments/commit/94dda77d69a6d6c47c33f06ce2425e7f306154a2\"\u003e\u003ccode\u003e94dda77\u003c/code\u003e\u003c/a\u003e Update CHANGES.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pygments/pygments/commit/26634c856cefea620571123577d1f8cf09589ed8\"\u003e\u003ccode\u003e26634c8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pygments/pygments/issues/2882\"\u003e#2882\u003c/a\u003e from thavelick/fix_lua_runaway_regex\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pygments/pygments/commit/b6a51ece09e31d3db2b732c8536a533b6de74768\"\u003e\u003ccode\u003eb6a51ec\u003c/code\u003e\u003c/a\u003e fix lua regex causing runaway backtracking.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pygments/pygments/commit/edef94d66c2d70f05a86ac6098a69ab253b8d946\"\u003e\u003ccode\u003eedef94d\u003c/code\u003e\u003c/a\u003e Investigation for \u003ca href=\"https://redirect.github.com/pygments/pygments/issues/2839\"\u003e#2839\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pygments/pygments/commit/fb6a00ef872e45a23212c214b8494ebedbd4709b\"\u003e\u003ccode\u003efb6a00e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pygments/pygments/issues/2837\"\u003e#2837\u003c/a\u003e from dlazin/sql-cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pygments/pygments/commit/bf7aa2368fe7e0f42d4543781f0b00b4565b3995\"\u003e\u003ccode\u003ebf7aa23\u003c/code\u003e\u003c/a\u003e Clean up sql.py\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pygments/pygments/compare/2.19.1...2.19.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `black` from 25.1.0 to 25.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!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.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.1.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.6.12 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.6.12...7.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `furo` from 2024.8.6 to 2025.9.25\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\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\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\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/7c5f8fac52926f4854141cb5bf374c1681aedbec\"\u003e\u003ccode\u003e7c5f8fa\u003c/code\u003e\u003c/a\u003e Prepare release: 2025.09.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/8bfdc54b2e8803450a2cb5dcab643a40b6934be2\"\u003e\u003ccode\u003e8bfdc54\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/d92b62fee4cedd5b2ac1d267353d96541c9e0fb0\"\u003e\u003ccode\u003ed92b62f\u003c/code\u003e\u003c/a\u003e Switch the dark mode theme back to \u003ccode\u003enative\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/83c3446288014357bb8a7875bb81b664b7f15896\"\u003e\u003ccode\u003e83c3446\u003c/code\u003e\u003c/a\u003e Add Blender to \u0026quot;used by\u0026quot; section (\u003ca href=\"https://redirect.github.com/pradyunsg/furo/issues/898\"\u003e#898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/426ea05d879ee7dfdf74ba7c8b089f73081abbfd\"\u003e\u003ccode\u003e426ea05\u003c/code\u003e\u003c/a\u003e Remove old scrollbar selectors (\u003ca href=\"https://redirect.github.com/pradyunsg/furo/issues/892\"\u003e#892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/d22d31c4b196a29092ac606737b6e9a7ae99273a\"\u003e\u003ccode\u003ed22d31c\u003c/code\u003e\u003c/a\u003e Remove trailing slash on void elements (\u003ca href=\"https://redirect.github.com/pradyunsg/furo/issues/895\"\u003e#895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/f91944a688410f0aecd936b02f658279814ec017\"\u003e\u003ccode\u003ef91944a\u003c/code\u003e\u003c/a\u003e Fix invalid HTML5 (\u003ca href=\"https://redirect.github.com/pradyunsg/furo/issues/894\"\u003e#894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/a1f74d89a18ca59d231fe365bcc1616f6934ad28\"\u003e\u003ccode\u003ea1f74d8\u003c/code\u003e\u003c/a\u003e Back to development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/e2cbfce534e434c9743fae85839790ffb8fea2a2\"\u003e\u003ccode\u003ee2cbfce\u003c/code\u003e\u003c/a\u003e Prepare release: 2025.07.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/2753741615d13f00f2f5a361d9794727558d82ee\"\u003e\u003ccode\u003e2753741\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pradyunsg/furo/compare/2024.08.06...2025.09.25\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.15.0 to 1.19.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/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.15.0...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.1.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\u003ch2\u003epre-commit v4.3.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003elanguage: docker\u003c/code\u003e / \u003ccode\u003elanguage: docker_image\u003c/code\u003e: detect rootless docker.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3446\"\u003e#3446\u003c/a\u003e PR by \u003ca href=\"https://github.com/matthewhughes934\"\u003e\u003ccode\u003e@​matthewhughes934\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/1243\"\u003e#1243\u003c/a\u003e issue by \u003ca href=\"https://github.com/dkolepp\"\u003e\u003ccode\u003e@​dkolepp\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage: julia\u003c/code\u003e: avoid \u003ccode\u003estartup.jl\u003c/code\u003e when executing hooks.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3496\"\u003e#3496\u003c/a\u003e PR by \u003ca href=\"https://github.com/ericphanson\"\u003e\u003ccode\u003e@​ericphanson\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage: dart\u003c/code\u003e: support latest dart versions which require a higher sdk\nlower bound.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3507\"\u003e#3507\u003c/a\u003e PR by \u003ca href=\"https://github.com/bc-lee\"\u003e\u003ccode\u003e@​bc-lee\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.2.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFor \u003ccode\u003elanguage: python\u003c/code\u003e first attempt a versioned python executable for the default language version before consulting a potentially unversioned \u003ccode\u003esys.executable\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3430\"\u003e#3430\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\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle error during conflict detection when a file is named \u0026quot;HEAD\u0026quot;\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3425\"\u003e#3425\u003c/a\u003e PR by \u003ca href=\"https://github.com/tusharsadhwani\"\u003e\u003ccode\u003e@​tusharsadhwani\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\u003ch1\u003e4.3.0 - 2025-08-09\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003elanguage: docker\u003c/code\u003e / \u003ccode\u003elanguage: docker_image\u003c/code\u003e: detect rootless docker.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3446\"\u003e#3446\u003c/a\u003e PR by \u003ca href=\"https://github.com/matthewhughes934\"\u003e\u003ccode\u003e@​matthewhughes934\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/1243\"\u003e#1243\u003c/a\u003e issue by \u003ca href=\"https://github.com/dkolepp\"\u003e\u003ccode\u003e@​dkolepp\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage: julia\u003c/code\u003e: avoid \u003ccode\u003estartup.jl\u003c/code\u003e when executing hooks.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3496\"\u003e#3496\u003c/a\u003e PR by \u003ca href=\"https://github.com/ericphanson\"\u003e\u003ccode\u003e@​ericphanson\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage: dart\u003c/code\u003e: support latest dart versions which require a higher sdk\nlower bound.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3507\"\u003e#3507\u003c/a\u003e PR by \u003ca href=\"https://github.com/bc-lee\"\u003e\u003ccode\u003e@​bc-lee\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e4.2.0 - 2025-03-18\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFor \u003ccode\u003elanguage: python\u003c/code\u003e first attempt a versioned python executable for\nthe default language version before consulting a potentially unversioned\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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.1.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 `pre-commit-hooks` from 5.0.0 to 6.0.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-hooks/releases\"\u003epre-commit-hooks's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epre-commit-hooks v6.0.0\u003c/h2\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003echeck-shebang-scripts-are-executable\u003c/code\u003e: improve error message.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/1115\"\u003e#1115\u003c/a\u003e PR by \u003ca href=\"https://github.com/homebysix\"\u003e\u003ccode\u003e@​homebysix\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMigrating\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003enow requires python \u0026gt;= 3.9.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/1098\"\u003e#1098\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\u003e\u003ccode\u003efile-contents-sorter\u003c/code\u003e: disallow \u003ccode\u003e--unique\u003c/code\u003e and \u003ccode\u003e--ignore-case\u003c/code\u003e at the same\ntime.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/1095\"\u003e#1095\u003c/a\u003e PR by \u003ca href=\"https://github.com/nemacysts\"\u003e\u003ccode\u003e@​nemacysts\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/794\"\u003e#794\u003c/a\u003e issue by \u003ca href=\"https://github.com/teksturi\"\u003e\u003ccode\u003e@​teksturi\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003echeck-byte-order-marker\u003c/code\u003e and \u003ccode\u003efix-encoding-pragma\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003echeck-byte-order-marker\u003c/code\u003e: migrate to \u003ccode\u003efix-byte-order-marker\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efix-encoding-pragma\u003c/code\u003e: migrate to \u003ccode\u003epyupgrade\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/1034\"\u003e#1034\u003c/a\u003e PR by \u003ca href=\"https://github.com/mxr\"\u003e\u003ccode\u003e@​mxr\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/1032\"\u003e#1032\u003c/a\u003e issue by \u003ca href=\"https://github.com/mxr\"\u003e\u003ccode\u003e@​mxr\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/522\"\u003e#522\u003c/a\u003e PR by \u003ca href=\"https://github.com/jgowdy\"\u003e\u003ccode\u003e@​jgowdy\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-hooks/blob/main/CHANGELOG.md\"\u003epre-commit-hooks's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e6.0.0 - 2025-08-09\u003c/h1\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003echeck-shebang-scripts-are-executable\u003c/code\u003e: improve error message.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/1115\"\u003e#1115\u003c/a\u003e PR by \u003ca href=\"https://github.com/homebysix\"\u003e\u003ccode\u003e@​homebysix\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMigrating\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003enow requires python \u0026gt;= 3.9.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/1098\"\u003e#1098\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\u003e\u003ccode\u003efile-contents-sorter\u003c/code\u003e: disallow \u003ccode\u003e--unique\u003c/code\u003e and \u003ccode\u003e--ignore-case\u003c/code\u003e at the same\ntime.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/1095\"\u003e#1095\u003c/a\u003e PR by \u003ca href=\"https://github.com/nemacysts\"\u003e\u003ccode\u003e@​nemacysts\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/794\"\u003e#794\u003c/a\u003e issue by \u003ca href=\"https://github.com/teksturi\"\u003e\u003ccode\u003e@​teksturi\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003echeck-byte-order-marker\u003c/code\u003e and \u003ccode\u003efix-encoding-pragma\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003echeck-byte-order-marker\u003c/code\u003e: migrate to \u003ccode\u003efix-byte-order-marker\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efix-encoding-pragma\u003c/code\u003e: migrate to \u003ccode\u003epyupgrade\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/1034\"\u003e#1034\u003c/a\u003e PR by \u003ca href=\"https://github.com/mxr\"\u003e\u003ccode\u003e@​mxr\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/1032\"\u003e#1032\u003c/a\u003e issue by \u003ca href=\"https://github.com/mxr\"\u003e\u003ccode\u003e@​mxr\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/522\"\u003e#522\u003c/a\u003e PR by \u003ca href=\"https://github.com/jgowdy\"\u003e\u003ccode\u003e@​jgowdy\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-hooks/commit/3e8a8703264a2f4a69428a0aa4dcb512790b2c8c\"\u003e\u003ccode\u003e3e8a870\u003c/code\u003e\u003c/a\u003e v6.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit-hooks/commit/a8f86514f4a0c0feb925ef5f99d247f599235a73\"\u003e\u003ccode\u003ea8f8651\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/1185\"\u003e#1185\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-hooks/commit/1acd88e5a4a42378eee7c7d167650c2b5607a0fb\"\u003e\u003ccode\u003e1acd88e\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-hooks/commit/1450343284c2b606aac3b406e238986ae4f5fe9d\"\u003e\u003ccode\u003e1450343\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/1182\"\u003e#1182\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-hooks/commit/b554d0acae118aecad833aaa3639a622d0f3597a\"\u003e\u003ccode\u003eb554d0a\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-hooks/commit/582b9c66e0791980685c8b80bb11e6a3df1a06ef\"\u003e\u003ccode\u003e582b9c6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/1174\"\u003e#1174\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-hooks/commit/84f8a9d27f13fe534ad65acc88776cda81ee7fed\"\u003e\u003ccode\u003e84f8a9d\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-hooks/commit/ec458dc1db98861800bd35c16a7d97e8cdb61484\"\u003e\u003ccode\u003eec458dc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/1166\"\u003e#1166\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-hooks/commit/1ea82dfbb949818c4272dec7f386923af7f3990e\"\u003e\u003ccode\u003e1ea82df\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-hooks/commit/540cd64f14fd8aa64244a9ec1873a03913d168f8\"\u003e\u003ccode\u003e540cd64\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit-hooks/issues/1164\"\u003e#1164\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-hooks/compare/v5.0.0...v6.0.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.9.9 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 comman...\n\n_Description has been truncated_","html_url":"https://github.com/statisticsnorway/ssb-kostra-python/pull/48","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/statisticsnorway%2Fssb-kostra-python/issues/48","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/48/packages"}},{"old_version":"8.1.7","new_version":"8.1.8","update_type":"patch","path":null,"pr_created_at":"2025-12-01T13:19:11.000Z","version_change":"8.1.7 → 8.1.8","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":"8.1.6","new_version":"8.1.8","update_type":"patch","path":null,"pr_created_at":"2025-11-30T22:10:49.000Z","version_change":"8.1.6 → 8.1.8","issue":{"uuid":"3678496995","node_id":"PR_kwDOHIBnos62NpwY","number":464,"state":"open","title":"build(deps): bump the simple group across 1 directory with 40 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-11-30T22:10:49.000Z","updated_at":"2026-01-26T00:00:39.393Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"simple","update_count":40,"packages":[{"name":"boto3-stubs","old_version":"1.38.3","new_version":"1.41.5"},{"name":"boto3","old_version":"1.38.3","new_version":"1.41.5","repository_url":"https://github.com/boto/boto3"},{"name":"click","old_version":"8.1.3","new_version":"8.3.1","repository_url":"https://github.com/pallets/click"},{"name":"colored","old_version":"2.3.0","new_version":"2.3.1"},{"name":"humanize","old_version":"4.12.2","new_version":"4.14.0","repository_url":"https://github.com/python-humanize/humanize"},{"name":"ipympl","old_version":"0.9.7","new_version":"0.9.8","repository_url":"https://github.com/matplotlib/ipympl"},{"name":"ipywidgets","old_version":"8.1.6","new_version":"8.1.8","repository_url":"https://github.com/jupyter-widgets/ipywidgets"},{"name":"jupyterlab","old_version":"4.4.1","new_version":"4.5.0","repository_url":"https://github.com/jupyterlab/jupyterlab"},{"name":"matplotlib","old_version":"3.10.1","new_version":"3.10.7","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"matplotlib-stubs","old_version":"0.2.0","new_version":"0.3.11","repository_url":"https://github.com/hoel-bagard/matplotlib-stubs"},{"name":"networkx","old_version":"3.4.2","new_version":"3.6","repository_url":"https://github.com/networkx/networkx"},{"name":"pandas","old_version":"2.2.3","new_version":"2.3.3","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"pandas-stubs","old_version":"2.2.3.250308","new_version":"2.3.2.250926","repository_url":"https://github.com/pandas-dev/pandas-stubs"},{"name":"prettytable","old_version":"3.16.0","new_version":"3.17.0","repository_url":"https://github.com/prettytable/prettytable"},{"name":"psutil","old_version":"7.0.0","new_version":"7.1.3","repository_url":"https://github.com/giampaolo/psutil"},{"name":"psycopg","old_version":"3.2.6","new_version":"3.2.13","repository_url":"https://github.com/psycopg/psycopg"},{"name":"psycopg-binary","old_version":"3.2.6","new_version":"3.2.13","repository_url":"https://github.com/psycopg/psycopg"},{"name":"pydantic","old_version":"2.8.2","new_version":"2.12.5","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pymysql","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/PyMySQL/PyMySQL"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"requests","old_version":"2.32.3","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"ruamel-yaml","old_version":"0.18.10","new_version":"0.18.16"},{"name":"ruff","old_version":"0.0.292","new_version":"0.14.7","repository_url":"https://github.com/astral-sh/ruff"},{"name":"scipy","old_version":"1.15.2","new_version":"1.16.3","repository_url":"https://github.com/scipy/scipy"},{"name":"shtab","old_version":"1.7.2","new_version":"1.8.0","repository_url":"https://github.com/iterative/shtab"},{"name":"sqlparse","old_version":"0.5.3","new_version":"0.5.4","repository_url":"https://github.com/andialbrecht/sqlparse"},{"name":"twine","old_version":"6.1.0","new_version":"6.2.0","repository_url":"https://github.com/pypa/twine"},{"name":"types-markdown","old_version":"3.8.0.20250415","new_version":"3.10.0.20251106","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-psutil","old_version":"7.0.0.20250401","new_version":"7.1.3.20251130","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-requests","old_version":"2.32.0.20250328","new_version":"2.32.4.20250913","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"typing-extensions","old_version":"4.13.2","new_version":"4.15.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"xxhash","old_version":"3.5.0","new_version":"3.6.0","repository_url":"https://github.com/ifduyue/python-xxhash"},{"name":"yamllint","old_version":"1.37.0","new_version":"1.37.1","repository_url":"https://github.com/adrienverge/yamllint"},{"name":"confluent-kafka","old_version":"2.6.1","new_version":"2.12.2","repository_url":"https://github.com/confluentinc/confluent-kafka-python"},{"name":"fastavro","old_version":"1.10.0","new_version":"1.12.1","repository_url":"https://github.com/fastavro/fastavro"},{"name":"websocket-client","old_version":"1.8.0","new_version":"1.9.0","repository_url":"https://github.com/websocket-client/websocket-client"},{"name":"minio","old_version":"7.2.15","new_version":"7.2.20","repository_url":"https://github.com/minio/minio-py"},{"name":"zstandard","old_version":"0.23.0","new_version":"0.25.0","repository_url":"https://github.com/indygreg/python-zstandard"},{"name":"pip","old_version":"25.1","new_version":"25.3","repository_url":"https://github.com/pypa/pip"},{"name":"setuptools","old_version":"80.0.0","new_version":"80.9.0","repository_url":"https://github.com/pypa/setuptools"}],"path":null,"ecosystem":"pip"},"body":"Bumps the simple group with 40 updates in the /ci/builder directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [boto3-stubs[ec2,iam,kinesis,s3,sqs,ssm,sts]](https://github.com/youtype/mypy_boto3_builder) | `1.38.3` | `1.41.5` |\n| [boto3](https://github.com/boto/boto3) | `1.38.3` | `1.41.5` |\n| [click](https://github.com/pallets/click) | `8.1.3` | `8.3.1` |\n| [colored](https://gitlab.com/dslackw/colored) | `2.3.0` | `2.3.1` |\n| [humanize](https://github.com/python-humanize/humanize) | `4.12.2` | `4.14.0` |\n| [ipympl](https://github.com/matplotlib/ipympl) | `0.9.7` | `0.9.8` |\n| [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) | `8.1.6` | `8.1.8` |\n| [jupyterlab](https://github.com/jupyterlab/jupyterlab) | `4.4.1` | `4.5.0` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.10.1` | `3.10.7` |\n| [matplotlib-stubs](https://github.com/hoel-bagard/matplotlib-stubs) | `0.2.0` | `0.3.11` |\n| [networkx](https://github.com/networkx/networkx) | `3.4.2` | `3.6` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.2.3` | `2.3.3` |\n| [pandas-stubs](https://github.com/pandas-dev/pandas-stubs) | `2.2.3.250308` | `2.3.2.250926` |\n| [prettytable](https://github.com/prettytable/prettytable) | `3.16.0` | `3.17.0` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.1.3` |\n| [psycopg](https://github.com/psycopg/psycopg) | `3.2.6` | `3.2.13` |\n| [psycopg-binary](https://github.com/psycopg/psycopg) | `3.2.6` | `3.2.13` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.8.2` | `2.12.5` |\n| [pymysql](https://github.com/PyMySQL/PyMySQL) | `1.1.1` | `1.1.2` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [requests](https://github.com/psf/requests) | `2.32.3` | `2.32.5` |\n| ruamel-yaml | `0.18.10` | `0.18.16` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.0.292` | `0.14.7` |\n| [scipy](https://github.com/scipy/scipy) | `1.15.2` | `1.16.3` |\n| [shtab](https://github.com/iterative/shtab) | `1.7.2` | `1.8.0` |\n| [sqlparse](https://github.com/andialbrecht/sqlparse) | `0.5.3` | `0.5.4` |\n| [twine](https://github.com/pypa/twine) | `6.1.0` | `6.2.0` |\n| [types-markdown](https://github.com/typeshed-internal/stub_uploader) | `3.8.0.20250415` | `3.10.0.20251106` |\n| [types-psutil](https://github.com/typeshed-internal/stub_uploader) | `7.0.0.20250401` | `7.1.3.20251130` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.0.20250328` | `2.32.4.20250913` |\n| [typing-extensions](https://github.com/python/typing_extensions) | `4.13.2` | `4.15.0` |\n| [xxhash](https://github.com/ifduyue/python-xxhash) | `3.5.0` | `3.6.0` |\n| [yamllint](https://github.com/adrienverge/yamllint) | `1.37.0` | `1.37.1` |\n| [confluent-kafka](https://github.com/confluentinc/confluent-kafka-python) | `2.6.1` | `2.12.2` |\n| [fastavro](https://github.com/fastavro/fastavro) | `1.10.0` | `1.12.1` |\n| [websocket-client](https://github.com/websocket-client/websocket-client) | `1.8.0` | `1.9.0` |\n| [minio](https://github.com/minio/minio-py) | `7.2.15` | `7.2.20` |\n| [zstandard](https://github.com/indygreg/python-zstandard) | `0.23.0` | `0.25.0` |\n| [pip](https://github.com/pypa/pip) | `25.1` | `25.3` |\n| [setuptools](https://github.com/pypa/setuptools) | `80.0.0` | `80.9.0` |\n\n\nUpdates `boto3-stubs[ec2,iam,kinesis,s3,sqs,ssm,sts]` from 1.38.3 to 1.41.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/youtype/mypy_boto3_builder/releases\"\u003eboto3-stubs[ec2,iam,kinesis,s3,sqs,ssm,sts]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.8.0 - Python 3.8 runtime is back\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[services]\u003c/code\u003e \u003ccode\u003einstall_requires\u003c/code\u003e section is calculated based on dependencies in use, so \u003ccode\u003etyping-extensions\u003c/code\u003e version is set properly\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[all]\u003c/code\u003e Replaced \u003ccode\u003etyping\u003c/code\u003e imports with \u003ccode\u003ecollections.abc\u003c/code\u003e with a fallback to \u003ccode\u003etyping\u003c/code\u003e for Python \u0026lt;3.9\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[all]\u003c/code\u003e Added aliases for \u003ccode\u003ebuiltins.list\u003c/code\u003e, \u003ccode\u003ebuiltins.set\u003c/code\u003e, \u003ccode\u003ebuiltins.dict\u003c/code\u003e, and \u003ccode\u003ebuiltins.type\u003c/code\u003e, so Python 3.8 runtime should work as expected again (reported by \u003ca href=\"https://github.com/YHallouard\"\u003e\u003ccode\u003e@​YHallouard\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/youtype/mypy_boto3_builder/issues/340\"\u003e#340\u003c/a\u003e and \u003ca href=\"https://github.com/Omri-Ben-Yair\"\u003e\u003ccode\u003e@​Omri-Ben-Yair\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/youtype/mypy_boto3_builder/issues/336\"\u003e#336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[all]\u003c/code\u003e Unions use the same type annotations as the rest of the structures due to proper fallbacks\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[services]\u003c/code\u003e Universal input/output shapes were not replaced properly in service subresources\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[docs]\u003c/code\u003e Simplified doc links rendering for services\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[services]\u003c/code\u003e Cleaned up unnecessary imports in \u003ccode\u003eclient.pyi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[builder]\u003c/code\u003e Import records with fallback are always rendered\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/youtype/mypy_boto3_builder/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.38.3 to 1.41.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/39215b64750416e032dbfe565cf055f5ef66a0fd\"\u003e\u003ccode\u003e39215b6\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.41.5'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/0fc80754d993e98dad51ea4e37656c4ad8962512\"\u003e\u003ccode\u003e0fc8075\u003c/code\u003e\u003c/a\u003e Bumping version to 1.41.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/573d3594fd35e4d7243a3d4319ef738a9041071e\"\u003e\u003ccode\u003e573d359\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/d707dcee915295a02aa3498bb460a81b83e959e1\"\u003e\u003ccode\u003ed707dce\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.41.4'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/b65af6aef67860ab38747da041f2c4f449dac0aa\"\u003e\u003ccode\u003eb65af6a\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.41.4' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/1cc06adc8d62407f104345c3f4407f2acbc75a2f\"\u003e\u003ccode\u003e1cc06ad\u003c/code\u003e\u003c/a\u003e Bumping version to 1.41.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/636e9c9fe361e4c6744bf02f5a24f30a6ddf29ed\"\u003e\u003ccode\u003e636e9c9\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/15cb8f1e00ca0fe5e27311aa246bf0e0d740d186\"\u003e\u003ccode\u003e15cb8f1\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.41.3'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/71104782ccd5e3198f04e00d55c21a43a0aba3cb\"\u003e\u003ccode\u003e7110478\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.41.3' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/2ca97db3ab4b5a34fb56979f01d3083e83145f27\"\u003e\u003ccode\u003e2ca97db\u003c/code\u003e\u003c/a\u003e Bumping version to 1.41.3\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.38.3...1.41.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.3 to 8.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.1\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.1/\"\u003ehttps://pypi.org/project/click/8.3.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-1\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-1\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/28\"\u003ehttps://github.com/pallets/click/milestone/28\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3039\"\u003e#3039\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3055\"\u003e#3055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through the \u003ccode\u003eContext.invoke()\u003c/code\u003e method. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3066\"\u003e#3066\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3068\"\u003e#3068\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect behavior for multiple parameters using the same name. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3071\"\u003e#3071\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3079\"\u003e#3079\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is empty. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3019\"\u003e#3019\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3021\"\u003e#3021\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to \u003ccode\u003etype_cast_value\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3069\"\u003e#3069\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3090\"\u003e#3090\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters through the context inside parameter callbacks. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3136\"\u003e#3136\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-11-15\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. :issue:\u003ccode\u003e3039\u003c/code\u003e\n:pr:\u003ccode\u003e3055\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through\nthe \u003ccode\u003eContext.invoke()\u003c/code\u003e method. :issue:\u003ccode\u003e3066\u003c/code\u003e :issue:\u003ccode\u003e3065\u003c/code\u003e :pr:\u003ccode\u003e3068\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect\nbehavior for multiple parameters using the same name. :issue:\u003ccode\u003e3071\u003c/code\u003e :pr:\u003ccode\u003e3079\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters\nthrough the context inside parameter callbacks. :issue:\u003ccode\u003e3136\u003c/code\u003e :pr:\u003ccode\u003e3137\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is\nempty. :issue:\u003ccode\u003e3019\u003c/code\u003e :pr:\u003ccode\u003e3021\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to\n\u003ccode\u003etype_cast_value\u003c/code\u003e. :issue:\u003ccode\u003e3069\u003c/code\u003e :pr:\u003ccode\u003e3090\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in \u003ccode\u003eCliRunner\u003c/code\u003e. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/1d038f270701498433cb432f54db89f95f07a845\"\u003e\u003ccode\u003e1d038f2\u003c/code\u003e\u003c/a\u003e release version 8.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/03f3889f505d0c9ca4f9d6810f9e4ba2799f2a66\"\u003e\u003ccode\u003e03f3889\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3141\"\u003e#3141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/3867781222cb63693ca67df94352d29d8e6e2770\"\u003e\u003ccode\u003e3867781\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/b91bb9548a5617b1197add95e084d569f57149c3\"\u003e\u003ccode\u003eb91bb95\u003c/code\u003e\u003c/a\u003e Provide altered context to callbacks to hide \u003ccode\u003eUNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/437e1e3295c7ec979fc1bf285bb402ca20d847e7\"\u003e\u003ccode\u003e437e1e3\u003c/code\u003e\u003c/a\u003e Temporarily provide a fake context to the callback to hide \u003ccode\u003eUNSET\u003c/code\u003e values as ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/ea70da487b05d6bb758d472a3a9ffab4a5b7fcd5\"\u003e\u003ccode\u003eea70da4\u003c/code\u003e\u003c/a\u003e Don't test using a file in docs/ (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3102\"\u003e#3102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e27b307462b725722f620c69dd1d5509c032d18a\"\u003e\u003ccode\u003ee27b307\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003euv run --all-extras pyright --verifytypes click\u003c/code\u003e pass (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3072\"\u003e#3072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/a92c573f3195c9da3058eadf1735d38af186d22c\"\u003e\u003ccode\u003ea92c573\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3129\"\u003e#3129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/bd131e1ab63da2281d6dd9b8205ad2eb5a085468\"\u003e\u003ccode\u003ebd131e1\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/0b5c6b75f617e6ee2f9f6dcd071b8a4bf183d1ed\"\u003e\u003ccode\u003e0b5c6b7\u003c/code\u003e\u003c/a\u003e Add Best practices section  (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3127\"\u003e#3127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.1.3...8.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `colored` from 2.3.0 to 2.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://gitlab.com/dslackw/colored/blob/master/CHANGES.md\"\u003ecolored's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.3.1] - 2025-07-28\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor: Optimized Windows Terminal Mode initialization: Moved \u003ccode\u003eColored.enable_windows_terminal_mode()\u003c/code\u003e call from \u003ccode\u003eColored.__init__\u003c/code\u003e to module-level execution. This ensures the Windows virtual terminal processing is enabled only once when the \u003ccode\u003ecolored\u003c/code\u003e module is imported, instead of on every \u003ccode\u003eColored\u003c/code\u003e object instantiation. This change improves performance by avoiding redundant API calls and checks.\u003c/li\u003e\n\u003cli\u003eRefactor: Reduce \u003ccode\u003eColored\u003c/code\u003e instance attributes: Removed redundant instance attributes (\u003ccode\u003e_ESC\u003c/code\u003e, \u003ccode\u003e_END\u003c/code\u003e, \u003ccode\u003e_STYLES\u003c/code\u003e, etc.) from the \u003ccode\u003eColored\u003c/code\u003e class's \u003ccode\u003e__init__\u003c/code\u003e method. These constants are now accessed directly from the \u003ccode\u003eLibrary\u003c/code\u003e module, reducing memory footprint per instance and improving adherence to Pylint's \u003ccode\u003eR0902\u003c/code\u003e warning.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResolved static analysis warnings in \u003ccode\u003eenable_windows_terminal_mode()\u003c/code\u003e: Modified \u003ccode\u003eenable_windows_terminal_mode()\u003c/code\u003e to ensure consistent return statements and handle all possible execution paths explicitly. This addresses \u003ccode\u003emypy\u003c/code\u003e's \u0026quot;Missing return statement\u0026quot; error and \u003ccode\u003epylint\u003c/code\u003e's \u0026quot;inconsistent-return-statements\u0026quot; warning by making all return paths explicit and robustly handling potential \u003ccode\u003ectypes\u003c/code\u003e related exceptions. The return type hint was also updated to \u003ccode\u003eOptional[bool]\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eResolved type hinting and tuple unpacking warnings in \u003ccode\u003eUtilities.is_percentage()\u003c/code\u003e: Modified the \u003ccode\u003eUtilities.is_percentage()\u003c/code\u003e method to explicitly return a fixed-length \u003ccode\u003etuple[int, int, int]\u003c/code\u003e. This addresses \u003ccode\u003emypy\u003c/code\u003e's \u0026quot;Incompatible return value type\u0026quot; error and \u003ccode\u003epylint\u003c/code\u003e's \u0026quot;unbalanced-tuple-unpacking\u0026quot; warning by ensuring consistent and statically verifiable return types.\u003c/li\u003e\n\u003cli\u003eRefined type validation and error handling in \u003ccode\u003eControls.nav()\u003c/code\u003e: Eliminated the redundant \u003ccode\u003e_is_str_object\u003c/code\u003e static method. Integrated string type validation directly into the \u003ccode\u003enav()\u003c/code\u003e method. Replaced \u003ccode\u003eAttributeError\u003c/code\u003e with \u003ccode\u003eTypeError\u003c/code\u003e for improved semantic clarity when handling invalid argument types.\u003c/li\u003e\n\u003cli\u003eEnsured \u003ccode\u003etest_hex_1.py\u003c/code\u003e correctly uses nearest ANSI codes for hex color representation, preventing \u003ccode\u003eInvalidHexColor\u003c/code\u003e exceptions during gradient and random color tests.\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://gitlab.com/dslackw/colored/commit/9af8fd381f2b907f27005479fc17e2619de52904\"\u003e\u003ccode\u003e9af8fd3\u003c/code\u003e\u003c/a\u003e Updated for version 2.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/1a9fabd317896cc0b31479a922de35a2777e3113\"\u003e\u003ccode\u003e1a9fabd\u003c/code\u003e\u003c/a\u003e Updated for date\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/6e26a657972662d2efd4d26ff3389fb59109827b\"\u003e\u003ccode\u003e6e26a65\u003c/code\u003e\u003c/a\u003e Updated for docstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/726c7e3a9fab59fec1da0d98cd236ab30bf5d335\"\u003e\u003ccode\u003e726c7e3\u003c/code\u003e\u003c/a\u003e Fix: InvalidHexColor for test_hex_1.py module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/ea826ab8814a0560a66412e9138449eb62a3add6\"\u003e\u003ccode\u003eea826ab\u003c/code\u003e\u003c/a\u003e Fixed type annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/3ed4a56ce61d371153dcee140b57df3ba5d5d005\"\u003e\u003ccode\u003e3ed4a56\u003c/code\u003e\u003c/a\u003e Fixed type annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/c44d80740872acc5e40132df6f958df09e4aa328\"\u003e\u003ccode\u003ec44d807\u003c/code\u003e\u003c/a\u003e Updated class docstring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/c7665e76dae836d65589ef977ec50f983af3d179\"\u003e\u003ccode\u003ec7665e7\u003c/code\u003e\u003c/a\u003e Refined type validation and error handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/1950dafdb25c78a20d8513076d41b3625429ca64\"\u003e\u003ccode\u003e1950daf\u003c/code\u003e\u003c/a\u003e Fixed for mypy no-untyped-def\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gitlab.com/dslackw/colored/commit/9ad5943f409aa75b5b52ef9779b4f23f80de2ecd\"\u003e\u003ccode\u003e9ad5943\u003c/code\u003e\u003c/a\u003e Updated docstrings\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://gitlab.com/dslackw/colored/compare/2.3.0...2.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `humanize` from 4.12.2 to 4.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-humanize/humanize/releases\"\u003ehumanize's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.14.0\u003c/h2\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Uzbek language (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/264\"\u003e#264\u003c/a\u003e) \u003ca href=\"https://github.com/sSimuSs\"\u003e\u003ccode\u003e@​sSimuSs\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.9 (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/268\"\u003e#268\u003c/a\u003e) \u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.13.0\u003c/h2\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOptimise \u003ccode\u003enaturalsize\u003c/code\u003e algorithm by using \u003ccode\u003emath.log\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/253\"\u003e#253\u003c/a\u003e) \u003ca href=\"https://github.com/Zaczero\"\u003e\u003ccode\u003e@​Zaczero\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eprecisedelta\u003c/code\u003e rounding (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/254\"\u003e#254\u003c/a\u003e) \u003ca href=\"https://github.com/dangillet\"\u003e\u003ccode\u003e@​dangillet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.12.3\u003c/h2\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix regression in \u003ccode\u003enaturalsize\u003c/code\u003e for \u003ccode\u003efloat\u003c/code\u003e and \u003ccode\u003estr\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/250\"\u003e#250\u003c/a\u003e) \u003ca href=\"https://github.com/loicleyendecker\"\u003e\u003ccode\u003e@​loicleyendecker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprovements for French translation (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/248\"\u003e#248\u003c/a\u003e) \u003ca href=\"https://github.com/merwok\"\u003e\u003ccode\u003e@​merwok\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/fedf432b5bd7751b3417447b647e43aa2ac7507d\"\u003e\u003ccode\u003efedf432\u003c/code\u003e\u003c/a\u003e Add Uzbek language (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/264\"\u003e#264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/bbc0398e8c1cf062d3fa4a79d1dc9f58aa26da26\"\u003e\u003ccode\u003ebbc0398\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/269\"\u003e#269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/c8810e2d559e633cc48bc180d1bfe6364d04c169\"\u003e\u003ccode\u003ec8810e2\u003c/code\u003e\u003c/a\u003e Drop support for Python 3.9 (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/268\"\u003e#268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/c16587b7ba97dcd763a79ccb88b9a01bfddbdfc3\"\u003e\u003ccode\u003ec16587b\u003c/code\u003e\u003c/a\u003e Update github-actions (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/267\"\u003e#267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/947a6b13f0e44eda81c10d8403d3c2ccab01a1b2\"\u003e\u003ccode\u003e947a6b1\u003c/code\u003e\u003c/a\u003e Update dependency mypy to v1.18.2 (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/266\"\u003e#266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/41903865abf4244c38b6340b0217611d9b86db1c\"\u003e\u003ccode\u003e4190386\u003c/code\u003e\u003c/a\u003e Update dependency mkdocstrings to v0.30.1 (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/265\"\u003e#265\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/0e027051034b7dcb4eb65aded290cf56a89d8aa9\"\u003e\u003ccode\u003e0e02705\u003c/code\u003e\u003c/a\u003e Update config (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/262\"\u003e#262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/288a7a7c1dbfd1c977add3c54a7c9283039a6c71\"\u003e\u003ccode\u003e288a7a7\u003c/code\u003e\u003c/a\u003e Test free-threaded Python 3.13t and 3.14t (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/261\"\u003e#261\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/0f5d2948d674a88a611f8e341c0df520767b1b80\"\u003e\u003ccode\u003e0f5d294\u003c/code\u003e\u003c/a\u003e Precisedelta rounding (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/254\"\u003e#254\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-humanize/humanize/commit/58d10b43175a22eb9ece2c6f3dcff6b6b681e2df\"\u003e\u003ccode\u003e58d10b4\u003c/code\u003e\u003c/a\u003e Update docs/requirements.txt (\u003ca href=\"https://redirect.github.com/python-humanize/humanize/issues/260\"\u003e#260\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-humanize/humanize/compare/4.12.2...4.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ipympl` from 0.9.7 to 0.9.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/matplotlib/ipympl/releases\"\u003eipympl's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 0.9.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake 'Usage' section in README consistent with current Basic Example at current documentation by \u003ca href=\"https://github.com/fomightez\"\u003e\u003ccode\u003e@​fomightez\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/583\"\u003ematplotlib/ipympl#583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: update release workflow by \u003ca href=\"https://github.com/ianhi\"\u003e\u003ccode\u003e@​ianhi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/590\"\u003ematplotlib/ipympl#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse thread lock to support comms via subshells by \u003ca href=\"https://github.com/ianthomas23\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/603\"\u003ematplotlib/ipympl#603\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse intersphinx_registry to keep intersphinx_mapping up to date. by \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/604\"\u003ematplotlib/ipympl#604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest on python 3.14 by \u003ca href=\"https://github.com/ianthomas23\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/606\"\u003ematplotlib/ipympl#606\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix doc build issues by \u003ca href=\"https://github.com/ianthomas23\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/605\"\u003ematplotlib/ipympl#605\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.9.8 by \u003ca href=\"https://github.com/ianthomas23\"\u003e\u003ccode\u003e@​ianthomas23\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/607\"\u003ematplotlib/ipympl#607\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fomightez\"\u003e\u003ccode\u003e@​fomightez\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/583\"\u003ematplotlib/ipympl#583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/matplotlib/ipympl/pull/604\"\u003ematplotlib/ipympl#604\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/matplotlib/ipympl/compare/0.9.7...v0.9.8\"\u003ehttps://github.com/matplotlib/ipympl/compare/0.9.7...v0.9.8\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/matplotlib/ipympl/commit/0f19f0a2b6b3df37787368bdb3669663d833d7ac\"\u003e\u003ccode\u003e0f19f0a\u003c/code\u003e\u003c/a\u003e Release 0.9.8 (\u003ca href=\"https://redirect.github.com/matplotlib/ipympl/issues/607\"\u003e#607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/ipympl/commit/00aa8af30a74ee32215253a965264da1e9a8eb14\"\u003e\u003ccode\u003e00aa8af\u003c/code\u003e\u003c/a\u003e Fix doc build issues (\u003ca href=\"https://redirect.github.com/matplotlib/ipympl/issues/605\"\u003e#605\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/ipympl/commit/fe010195f05249fa8407ffbc8ec7f940c9219358\"\u003e\u003ccode\u003efe01019\u003c/code\u003e\u003c/a\u003e Test on python 3.14 (\u003ca href=\"https://redirect.github.com/matplotlib/ipympl/issues/606\"\u003e#606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/ipympl/commit/6ee18b822e4558c4bcbdb7d255e17c3220c5a391\"\u003e\u003ccode\u003e6ee18b8\u003c/code\u003e\u003c/a\u003e Use intersphinx_registry to keep intersphinx_mapping up to date. (\u003ca href=\"https://redirect.github.com/matplotlib/ipympl/issues/604\"\u003e#604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/ipympl/commit/1ef9f671cba3e2424fbe55126151e43d07dc5b04\"\u003e\u003ccode\u003e1ef9f67\u003c/code\u003e\u003c/a\u003e Use thread lock to support comms via subshells (\u003ca href=\"https://redirect.github.com/matplotlib/ipympl/issues/603\"\u003e#603\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/ipympl/commit/5e068ed222427919cc20c406e34d02ba9be55cc3\"\u003e\u003ccode\u003e5e068ed\u003c/code\u003e\u003c/a\u003e build: update release workflow (\u003ca href=\"https://redirect.github.com/matplotlib/ipympl/issues/590\"\u003e#590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matplotlib/ipympl/commit/83994fac6ecaa0ced1a3db90f709ae842f8a96ce\"\u003e\u003ccode\u003e83994fa\u003c/code\u003e\u003c/a\u003e make usage consistent with current Basic Example at matplotlib/org/ipympl\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/matplotlib/ipympl/compare/0.9.7...v0.9.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ipywidgets` from 8.1.6 to 8.1.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/releases\"\u003eipywidgets's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd JupyterCon banner and jupyter colors by \u003ca href=\"https://github.com/choldgraf\"\u003e\u003ccode\u003e@​choldgraf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3998\"\u003ejupyter-widgets/ipywidgets#3998\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix badge formatting in README.md by \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4000\"\u003ejupyter-widgets/ipywidgets#4000\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Plausible web stats by \u003ca href=\"https://github.com/jasongrout\"\u003e\u003ccode\u003e@​jasongrout\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4003\"\u003ejupyter-widgets/ipywidgets#4003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate jupyterlab_widgets metadata to indicate it works with JupyterLab 4 by \u003ca href=\"https://github.com/jasongrout\"\u003e\u003ccode\u003e@​jasongrout\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4004\"\u003ejupyter-widgets/ipywidgets#4004\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/choldgraf\"\u003e\u003ccode\u003e@​choldgraf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3998\"\u003ejupyter-widgets/ipywidgets#3998\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\"\u003ehttps://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e8.1.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix CI + remove Python 3.8 by \u003ca href=\"https://github.com/martinRenou\"\u003e\u003ccode\u003e@​martinRenou\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3989\"\u003ejupyter-widgets/ipywidgets#3989\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDynamic widgets registry by \u003ca href=\"https://github.com/martinRenou\"\u003e\u003ccode\u003e@​martinRenou\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3988\"\u003ejupyter-widgets/ipywidgets#3988\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.6...8.1.7\"\u003ehttps://github.com/jupyter-widgets/ipywidgets/compare/8.1.6...8.1.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\u003eSee full diff in \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.6...8.1.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jupyterlab` from 4.4.1 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/jupyterlab/jupyterlab/releases\"\u003ejupyterlab's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.5.0\u003c/h2\u003e\n\u003ch2\u003e4.5.0\u003c/h2\u003e\n\u003cp\u003e(\u003ca href=\"https://github.com/jupyterlab/jupyterlab/compare/v4.4.1...05df0d2487691b9bbf9d5e606238702152c3c634\"\u003eFull Changelog\u003c/a\u003e)\u003c/p\u003e\n\u003ch3\u003eNew features added\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd terminal search functionality \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17691\"\u003e#17691\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\u003eEnhancements made\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix kernel status display in status bar \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18047\"\u003e#18047\u003c/a\u003e (\u003ca href=\"https://github.com/Darshan808\"\u003e\u003ccode\u003e@​Darshan808\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eDebuggerDisplayRegistry\u003c/code\u003e to provide context-aware display names for debugger panels \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18043\"\u003e#18043\u003c/a\u003e (\u003ca href=\"https://github.com/arjxn-py\"\u003e\u003ccode\u003e@​arjxn-py\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIntroduce new token for the default \u003ccode\u003eIContentProvider\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18027\"\u003e#18027\u003c/a\u003e (\u003ca href=\"https://github.com/martinRenou\"\u003e\u003ccode\u003e@​martinRenou\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eShow more outputs\u003c/code\u003e button design \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18021\"\u003e#18021\u003c/a\u003e (\u003ca href=\"https://github.com/andrii-i\"\u003e\u003ccode\u003e@​andrii-i\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimize \u003ccode\u003econtent-visibility\u003c/code\u003e application \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18013\"\u003e#18013\u003c/a\u003e (\u003ca href=\"https://github.com/Meriem-BenIsmail\"\u003e\u003ccode\u003e@​Meriem-BenIsmail\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eShow execution count in breakpoints, callstack, and sources panels while debugging in console \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/18003\"\u003e#18003\u003c/a\u003e (\u003ca href=\"https://github.com/arjxn-py\"\u003e\u003ccode\u003e@​arjxn-py\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKeep debugger state though kernel restarts \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17972\"\u003e#17972\u003c/a\u003e (\u003ca href=\"https://github.com/gjmooney\"\u003e\u003ccode\u003e@​gjmooney\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eDocumentManager\u003c/code\u003e dialogs customizable \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17961\"\u003e#17961\u003c/a\u003e (\u003ca href=\"https://github.com/Darshan808\"\u003e\u003ccode\u003e@​Darshan808\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSystematise how base URL is obtained to allow swapping it more easily \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17952\"\u003e#17952\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport the \u003ccode\u003eContentProviderRegistry\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17940\"\u003e#17940\u003c/a\u003e (\u003ca href=\"https://github.com/martinRenou\"\u003e\u003ccode\u003e@​martinRenou\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake filebrowser breadcrumbs configurable \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17932\"\u003e#17932\u003c/a\u003e (\u003ca href=\"https://github.com/Darshan808\"\u003e\u003ccode\u003e@​Darshan808\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSwitch the default windowing mode to \u003ccode\u003econtentVisibility\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17926\"\u003e#17926\u003c/a\u003e (\u003ca href=\"https://github.com/Meriem-BenIsmail\"\u003e\u003ccode\u003e@​Meriem-BenIsmail\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePass context down in attachments resolver \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17924\"\u003e#17924\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow swapping the empty markdown cell placeholder (and translate it) \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17920\"\u003e#17920\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnable the minimap for all windowing modes \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17904\"\u003e#17904\u003c/a\u003e (\u003ca href=\"https://github.com/Meriem-BenIsmail\"\u003e\u003ccode\u003e@​Meriem-BenIsmail\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDebugger: Differentiate selected breakpoints with specific style \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17893\"\u003e#17893\u003c/a\u003e (\u003ca href=\"https://github.com/HaudinFlorence\"\u003e\u003ccode\u003e@​HaudinFlorence\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse console for debugger evaluation \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17892\"\u003e#17892\u003c/a\u003e (\u003ca href=\"https://github.com/gjmooney\"\u003e\u003ccode\u003e@​gjmooney\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDebugger: Visual indicator when debugger is paused \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17891\"\u003e#17891\u003c/a\u003e (\u003ca href=\"https://github.com/arjxn-py\"\u003e\u003ccode\u003e@​arjxn-py\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eIUserAPIClient\u003c/code\u003e to make swapping \u003ccode\u003eUserManager\u003c/code\u003e easier \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17884\"\u003e#17884\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProvide context about the tag and attribute to the URL resolver \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17882\"\u003e#17882\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDebugger: Show cell execution count in breakpoint/call stack/source panel \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17881\"\u003e#17881\u003c/a\u003e (\u003ca href=\"https://github.com/arjxn-py\"\u003e\u003ccode\u003e@​arjxn-py\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd file browser menu for creating new Python/R/Julia files \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17848\"\u003e#17848\u003c/a\u003e (\u003ca href=\"https://github.com/martinRenou\"\u003e\u003ccode\u003e@​martinRenou\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow configuring \u003ccode\u003etoSkip\u003c/code\u003e for the \u003ccode\u003eSettingsEditor\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17834\"\u003e#17834\u003c/a\u003e (\u003ca href=\"https://github.com/jtpio\"\u003e\u003ccode\u003e@​jtpio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003econtent-visibility\u003c/code\u003e to render notebook cells more efficiently \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17822\"\u003e#17822\u003c/a\u003e (\u003ca href=\"https://github.com/Meriem-BenIsmail\"\u003e\u003ccode\u003e@​Meriem-BenIsmail\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse toolbar registry for log console \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17814\"\u003e#17814\u003c/a\u003e (\u003ca href=\"https://github.com/gjmooney\"\u003e\u003ccode\u003e@​gjmooney\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a new \u003ccode\u003eaddExtraLineOnCellMerge\u003c/code\u003e setting \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17806\"\u003e#17806\u003c/a\u003e (\u003ca href=\"https://github.com/jtpio\"\u003e\u003ccode\u003e@​jtpio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate to mermaid 11.10, marked 16.2 \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17800\"\u003e#17800\u003c/a\u003e (\u003ca href=\"https://github.com/bollwyvl\"\u003e\u003ccode\u003e@​bollwyvl\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow opening notebooks without starting a kernel \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17798\"\u003e#17798\u003c/a\u003e (\u003ca href=\"https://github.com/jtpio\"\u003e\u003ccode\u003e@​jtpio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow to swap the URL resolver \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17784\"\u003e#17784\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd the \u0026quot;Show Workspace Indicator\u0026quot; command to the palette \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17780\"\u003e#17780\u003c/a\u003e (\u003ca href=\"https://github.com/jtpio\"\u003e\u003ccode\u003e@​jtpio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAuto-switch between light and dark mode when \u0026quot;Synchronize with System Settings\u0026quot; is enabled \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17733\"\u003e#17733\u003c/a\u003e (\u003ca href=\"https://github.com/MUFFANUJ\"\u003e\u003ccode\u003e@​MUFFANUJ\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKeep cell \u003ccode\u003eid\u003c/code\u003e when the user changes cell type \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17731\"\u003e#17731\u003c/a\u003e (\u003ca href=\"https://github.com/afshin\"\u003e\u003ccode\u003e@​afshin\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDiscover the app directory relative to the installed module \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17721\"\u003e#17721\u003c/a\u003e (\u003ca href=\"https://github.com/zanieb\"\u003e\u003ccode\u003e@​zanieb\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eShow checkbox and buttons of Dialog component on separate lines \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17696\"\u003e#17696\u003c/a\u003e (\u003ca href=\"https://github.com/MUFFANUJ\"\u003e\u003ccode\u003e@​MUFFANUJ\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd types for interrupt messages, and move them from \u003ccode\u003eshell\u003c/code\u003e to \u003ccode\u003econtrol\u003c/code\u003e channel \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17684\"\u003e#17684\u003c/a\u003e (\u003ca href=\"https://github.com/krassowski\"\u003e\u003ccode\u003e@​krassowski\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd fold/unfold commands to menu and command palette \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17677\"\u003e#17677\u003c/a\u003e (\u003ca href=\"https://github.com/Darshan808\"\u003e\u003ccode\u003e@​Darshan808\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a new \u003ccode\u003eallowFileUploads\u003c/code\u003e setting to the file browser \u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/pull/17676\"\u003e#17676\u003c/a\u003e (\u003ca href=\"https://github.com/jtpio\"\u003e\u003ccode\u003e@​jtpio\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/jupyterlab/jupyterlab/commit/791aecc59e9266990060de7b8616bccbae16912f\"\u003e\u003ccode\u003e791aecc\u003c/code\u003e\u003c/a\u003e [ci skip] Publish 4.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyterlab/jupyterlab/commit/05df0d2487691b9bbf9d5e606238702152c3c634\"\u003e\u003ccode\u003e05df0d2\u003c/code\u003e\u003c/a\u003e Drop \u003ccode\u003ealtair\u003c/code\u003e installation in release test; migrate from deprecated `vega_dat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyterlab/jupyterlab/commit/6e6744cd2355263d7f6548ba009502f1767dbae4\"\u003e\u003ccode\u003e6e6744c\u003c/code\u003e\u003c/a\u003e Update JupyterLab pre-release version to 4.5.0rc1 (\u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/18111\"\u003e#18111\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyterlab/jupyterlab/commit/885b2963afdd5186b58e2c3b7e4f8544a9c918cc\"\u003e\u003ccode\u003e885b296\u003c/code\u003e\u003c/a\u003e [ci skip] Publish 4.5.0rc1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyterlab/jupyterlab/commit/f1675bd277961ea24d369a90237d3d218df932b6\"\u003e\u003ccode\u003ef1675bd\u003c/code\u003e\u003c/a\u003e Update lumino to \u003ccode\u003ev2025.11.13\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/18108\"\u003e#18108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyterlab/jupyterlab/commit/99dee73e725e78af91a5caf7cb06511bbab09be8\"\u003e\u003ccode\u003e99dee73\u003c/code\u003e\u003c/a\u003e Clean up references to Gitpod (\u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/18107\"\u003e#18107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyterlab/jupyterlab/commit/19d0f28338839e4bc6f6335f8ce27e230623e4ce\"\u003e\u003ccode\u003e19d0f28\u003c/code\u003e\u003c/a\u003e Fix layout trashing when navigating notebook cell-by-cell (\u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/18080\"\u003e#18080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyterlab/jupyterlab/commit/9a86e530ab53cf6fd922ba36309a7242dc227db1\"\u003e\u003ccode\u003e9a86e53\u003c/code\u003e\u003c/a\u003e Update example for disabling \u003ccode\u003ebuildAvailable\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/18075\"\u003e#18075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyterlab/jupyterlab/commit/6f688301418232f27314a2e784810ad6b639fe84\"\u003e\u003ccode\u003e6f68830\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003eIntersectionObserver\u003c/code\u003e to disable containment for on-screen cells (\u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/18091\"\u003e#18091\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jupyterlab/jupyterlab/commit/c4826af4a43f165a2ed578431e03ed9602d7588f\"\u003e\u003ccode\u003ec4826af\u003c/code\u003e\u003c/a\u003e Convert documentation to Markdown (\u003ca href=\"https://redirect.github.com/jupyterlab/jupyterlab/issues/18044\"\u003e#18044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jupyterlab/jupyterlab/compare/@jupyterlab/lsp@4.4.1...@jupyterlab/lsp@4.5.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.1 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\u003ch2\u003eREL: v3.10.3\u003c/h2\u003e\n\u003cp\u003eThis is the third bugfix release of the 3.10.x series\u003c/p\u003e\n\u003c/blockquote\u003e\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.1...v3.10.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `matplotlib-stubs` from 0.2.0 to 0.3.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/releases\"\u003ematplotlib-stubs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.3.11\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ev0.3.10\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ev0.3.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix broken import in \u003ccode\u003ematplotlib.pyplot.plot_date\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.pyplot.xlim\u003c/code\u003e and \u003ccode\u003ematplotlib.pyplot.ylim\u003c/code\u003e overloads, including datetime support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.7\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ev0.3.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.axes.Axes.set_xticks\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ematplotlib.axes.Axes.bar\u003c/code\u003e to support datetime sequences\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.5\u003c/h2\u003e\n\u003cp\u003eFix \u003ccode\u003ematplotlib.pyplot.plot\u003c/code\u003e to allow using datetime sequences.\u003c/p\u003e\n\u003ch2\u003ev0.3.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eComplete type hints for:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.subplots_adjust\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.subplots\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.subplot_mosaic\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eComplete \u003ccode\u003ematplotlib.pyplot.text\u003c/code\u003e's type hints\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ematplotlib.cm.colors\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.cm\u003c/code\u003e's colormaps\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd return type to \u003ccode\u003eplt.ylabel\u003c/code\u003e and \u003ccode\u003eplt.xlabel\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix/refine argument types for \u003ccode\u003eplt.savefig\u003c/code\u003e, \u003ccode\u003eplt.plot\u003c/code\u003e and \u003ccode\u003eplt.scatter\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.3.0\u003c/h2\u003e\n\u003cp\u003eImprove type hints for the following functions:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.close()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.figure()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.legend()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.plot()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.savefig()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.scatter()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.title()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.xlabel()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/blob/master/CHANGELOG.md\"\u003ematplotlib-stubs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.3.11 - 2025-10-23\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd type hints for \u003ccode\u003ematplotlib.pyplot\u003c/code\u003e's \u003ccode\u003eshow\u003c/code\u003e, \u003ccode\u003etight_layout\u003c/code\u003e, \u003ccode\u003ebar\u003c/code\u003e, \u003ccode\u003exticks\u003c/code\u003e and \u003ccode\u003eyticks\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.10 - 2025-10-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.pyplot.loglog\u003c/code\u003e type hints\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.9 - 2025-10-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix broken import in \u003ccode\u003ematplotlib.pyplot.plot_date\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.8 - 2025-10-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.pyplot.xlim\u003c/code\u003e and \u003ccode\u003ematplotlib.pyplot.ylim\u003c/code\u003e overloads, including datetime support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.7 - 2025-10-21\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.pyplot.axhline\u003c/code\u003e's kwargs type\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.6 - 2025-10-19\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.axes.Axes.set_xticks\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ematplotlib.axes.Axes.bar\u003c/code\u003e to support datetime sequences\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.5 - 2025-10-14\u003c/h2\u003e\n\u003cp\u003eFix \u003ccode\u003ematplotlib.pyplot.plot\u003c/code\u003e to allow using datetime sequences.\u003c/p\u003e\n\u003ch2\u003e0.3.4 - 2025-09-11\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eComplete type hints for:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.subplots_adjust\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.subplots\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ematplotlib.pyplot.subplot_mosaic\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.3 - 2025-09-04\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eComplete \u003ccode\u003ematplotlib.pyplot.text\u003c/code\u003e's type hints\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ematplotlib.cm.colors\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.3.2] - 2025-08-07\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ematplotlib.cm\u003c/code\u003e's colormaps\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.3.1] - 2025-08-04\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd return type to \u003ccode\u003eplt.ylabel\u003c/code\u003e and \u003ccode\u003eplt.xlabel\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix/refine argument types for \u003ccode\u003eplt.savefig\u003c/code\u003e, \u003ccode\u003eplt.plot\u003c/code\u003e and \u003ccode\u003eplt.scatter\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/hoel-bagard/matplotlib-stubs/commit/59fdaf216331aa54996e5f1149e6ee096ca63557\"\u003e\u003ccode\u003e59fdaf2\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/b85c0f74cd4587d8f9ccdb0a65639981ca29bfaa\"\u003e\u003ccode\u003eb85c0f7\u003c/code\u003e\u003c/a\u003e feat: add type hints for show, tight_layout, bar, xticks and yticks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/8afc8f4122949daaa447febe9b715feaaa13da59\"\u003e\u003ccode\u003e8afc8f4\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/f9de850ed9f5662672ec663e2b88619b42d34e5a\"\u003e\u003ccode\u003ef9de850\u003c/code\u003e\u003c/a\u003e feat: add type hints to plt.loglog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/4ffefa652da3881b576823b003e695d8c4ad0dbe\"\u003e\u003ccode\u003e4ffefa6\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/e6a54149513cf96fab1c8e35ae1589a5106a46c2\"\u003e\u003ccode\u003ee6a5414\u003c/code\u003e\u003c/a\u003e fix: broken import\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/90b7235400fd1467a85ccf3ff06a5c068cd4e410\"\u003e\u003ccode\u003e90b7235\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/af0f45827cda237040c46dd126530a0971e41758\"\u003e\u003ccode\u003eaf0f458\u003c/code\u003e\u003c/a\u003e feat: add xlim and ylim overloads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/5d5ab771404092929deacaef66cc8efe625a4752\"\u003e\u003ccode\u003e5d5ab77\u003c/code\u003e\u003c/a\u003e chore: bump version to 0.3.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/commit/5f5a9e46f14de1072f07eb865af4d552a553672c\"\u003e\u003ccode\u003e5f5a9e4\u003c/code\u003e\u003c/a\u003e fix: add axhline kwargs type\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hoel-bagard/matplotlib-stubs/compare/0.2.0...v0.3.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `networkx` from 3.4.2 to 3.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/networkx/networkx/releases\"\u003enetworkx's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eNetworkX 3.6\u003c/h2\u003e\n\u003ch1\u003enetworkx 3.6\u003c/h1\u003e\n\u003cp\u003eWe're happy to announce the release of networkx 3.6!\u003c/p\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eENH: add normalize option for \u003ccode\u003esubgraph_centrality\u003c/code\u003e and its \u003ccode\u003e_exp\u003c/code\u003e version (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8340\"\u003e#8340\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAPI Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace \u003ccode\u003erandom_lobster\u003c/code\u003e with \u003ccode\u003erandom_lobster_graph\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8067\"\u003e#8067\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003emaybe_regular_expander\u003c/code\u003e with \u003ccode\u003emaybe_regular_expander_graph\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8050\"\u003e#8050\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRm networkx.algorithms.threshold.swap_d (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8213\"\u003e#8213\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eExpire deprecation of compute_v_structures (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8281\"\u003e#8281\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRm unused dissuade_hubs kwarg from forceatlas2 (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8293\"\u003e#8293\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eExpire deprecation of link kwarg in node_link fns (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8282\"\u003e#8282\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDEP: Deprecate metric_closure (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8304\"\u003e#8304\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove error message for removed \u003ccode\u003erandom_tree\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8105\"\u003e#8105\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eUpdate approx current_flow betweenness to use k directly (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8007\"\u003e#8007\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eProposal: update semantics for nonisomorphic trees with order 0 or 1 (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8083\"\u003e#8083\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eSCC benchmarks and use of \u003ccode\u003eG._adj\u003c/code\u003e in Tarjan algorithm (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8064\"\u003e#8064\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003ePerformance improvement and tests for \u003ccode\u003eedges_equal\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8077\"\u003e#8077\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eoptimise \u003ccode\u003eis_reachable()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8112\"\u003e#8112\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eOptimise harmonic centrality (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8158\"\u003e#8158\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003efeat(drawing): add missing connection styles in \u003ccode\u003edraw_networkx_edge_labels\u003c/code\u003e and \u003ccode\u003edisplay\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8108\"\u003e#8108\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eOptimizing Dijkstra's paths to target (~50x faster for graphs with multiple-hops shortest path) (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8023\"\u003e#8023\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eall_triangles\u003c/code\u003e generator yielding all unique triangles in a graph (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8135\"\u003e#8135\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003erefactor: simplify \u003ccode\u003ek_factor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8139\"\u003e#8139\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003efeat: add directed star graph (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8151\"\u003e#8151\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFaster \u003ccode\u003eintersection_array\u003c/code\u003e computation for checking distance-regularity (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/7181\"\u003e#7181\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eenh: short-circuit in \u003ccode\u003eis_regular\u003c/code\u003e for directed graphs (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8138\"\u003e#8138\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAvoid re-exploring nodes in Kosaraju's SCC algorithm (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8056\"\u003e#8056\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003etrust rank implementation and testing (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8165\"\u003e#8165\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd hyper_wiener_index function (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8184\"\u003e#8184\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBidirectional dijkstra optimization: from 1.1x to 25x faster (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8206\"\u003e#8206\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImplement the algorithm to find the centroid(s) of a tree (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8089\"\u003e#8089\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eSet length threshold in FR and use np.clip (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8145\"\u003e#8145\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd panther++ (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/4400\"\u003e#4400\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003emaint: use \u003ccode\u003enx.circulant_graph\u003c/code\u003e to generate Harary graphs (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8189\"\u003e#8189\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eENH: add \u003ccode\u003edirected\u003c/code\u003e kwarg to \u003ccode\u003eedges_equal\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8192\"\u003e#8192\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eOptimizing Dijkstra's path construction for all targets case (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8218\"\u003e#8218\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eENH: adds ISMAGS support for directed and multigraph with tests and refactor (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8274\"\u003e#8274\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDispatch classes such as \u003ccode\u003enx.Graph(backend=...)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/7760\"\u003e#7760\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eENH: Add is_perfect_graph using SPGT (follow-up to \u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8111\"\u003e#8111\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8318\"\u003e#8318\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd benchmark suite for shortest path algorithms on weighted graphs (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8059\"\u003e#8059\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdding Generalized Petersen Graph (\u003ca href=\"https://redirect.github.com/networkx/networkx/pull/8147\"\u003e#8147\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/bb9a6ded1889f182d7a5b76831c389c335d52910\"\u003e\u003ccode\u003ebb9a6de\u003c/code\u003e\u003c/a\u003e Designate 3.6 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/436973632bf1311e348510dda41d944f18db7b32\"\u003e\u003ccode\u003e4369736\u003c/code\u003e\u003c/a\u003e Fix sphinx warnings 3.6rc (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8352\"\u003e#8352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/6dbed05b693d535f70495229c3adc364793b00ed\"\u003e\u003ccode\u003e6dbed05\u003c/code\u003e\u003c/a\u003e FEAT: Add a describe method for some basic info about graphs (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8338\"\u003e#8338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/5fa842b6c78a5e79d90e3961ae34ebf3e17620eb\"\u003e\u003ccode\u003e5fa842b\u003c/code\u003e\u003c/a\u003e Pin last value to 1.0 in \u003ccode\u003ecumulative_distribution\u003c/code\u003e to address floating-point ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/d302ea14cb75a80513052ba3a9010f14a203a587\"\u003e\u003ccode\u003ed302ea1\u003c/code\u003e\u003c/a\u003e Adding \u003ca href=\"https://github.com/amcandio\"\u003e\u003ccode\u003e@​amcandio\u003c/code\u003e\u003c/a\u003e as contributor (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8345\"\u003e#8345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/1c64369df55584106a820f30cd892dbebc14b52e\"\u003e\u003ccode\u003e1c64369\u003c/code\u003e\u003c/a\u003e DOC: Add warning about special GEXF reserved keywords. (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8343\"\u003e#8343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/f26e6bff0e161668a1eecc50491eeff4a68bf3b8\"\u003e\u003ccode\u003ef26e6bf\u003c/code\u003e\u003c/a\u003e ENH: add normalize option for \u003ccode\u003esubgraph_centrality\u003c/code\u003e and its \u003ccode\u003e_exp\u003c/code\u003e version (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/79e113baab1f9a17a1884ef62ebda2e2e1e61428\"\u003e\u003ccode\u003e79e113b\u003c/code\u003e\u003c/a\u003e Adding Generalized Petersen Graph (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8147\"\u003e#8147\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/8b1c5a19c7baeb044daccf6903a3d680efd69fde\"\u003e\u003ccode\u003e8b1c5a1\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 4 to 5 in the actions group (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8335\"\u003e#8335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networkx/networkx/commit/e79901a9b3d58840f958d67295967e5e94915727\"\u003e\u003ccode\u003ee79901a\u003c/code\u003e\u003c/a\u003e Fix formatting for release docs. (\u003ca href=\"https://redirect.github.com/networkx/networkx/issues/8336\"\u003e#8336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/networkx/networkx/compare/networkx-3.4.2...networkx-3.6\"\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\u003eP...\n\n_Description has been truncated_","html_url":"https://github.com/sjwiesman/materialize/pull/464","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sjwiesman%2Fmaterialize/issues/464","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/464/packages"}},{"old_version":"8.1.7","new_version":"8.1.8","update_type":"patch","path":null,"pr_created_at":"2025-11-25T10:52:15.000Z","version_change":"8.1.7 → 8.1.8","issue":{"uuid":"3662533526","node_id":"PR_kwDOPF_5m861Y_wt","number":76,"state":"open","title":"chore(python)(deps): bump the python-dependencies group across 1 directory with 73 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-11-25T10:52:15.000Z","updated_at":"2025-11-25T13:02:22.164Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(python)(deps): bump","group_name":"python-dependencies","update_count":73,"packages":[{"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":"attrs","old_version":"25.3.0","new_version":"25.4.0","repository_url":"https://github.com/sponsors/hynek"},{"name":"bleach","old_version":"6.2.0","new_version":"6.3.0","repository_url":"https://github.com/mozilla/bleach"},{"name":"blinker","old_version":"1.8.2","new_version":"1.9.0","repository_url":"https://github.com/pallets-eco/blinker"},{"name":"build","old_version":"1.2.2.post1","new_version":"1.3.0","repository_url":"https://github.com/pypa/build"},{"name":"cachecontrol","old_version":"0.14.3","new_version":"0.14.4","repository_url":"https://github.com/psf/cachecontrol"},{"name":"cachetools","old_version":"6.2.0","new_version":"6.2.2","repository_url":"https://github.com/tkem/cachetools"},{"name":"charset-normalizer","old_version":"3.4.0","new_version":"3.4.4","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"cli-helpers","old_version":"2.3.1","new_version":"2.7.0","repository_url":"https://github.com/dbcli/cli_helpers"},{"name":"click","old_version":"8.1.7","new_version":"8.3.1","repository_url":"https://github.com/pallets/click"},{"name":"contourpy","old_version":"1.3.2","new_version":"1.3.3","repository_url":"https://github.com/contourpy/contourpy"},{"name":"coverage","old_version":"7.3.4","new_version":"7.12.0","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"deprecated","old_version":"1.2.18","new_version":"1.3.1","repository_url":"https://github.com/laurent-laporte-pro/deprecated"},{"name":"docutils","old_version":"0.18.1","new_version":"0.22.3","repository_url":"https://github.com/rtfd/recommonmark"},{"name":"fastapi","old_version":"0.121.2","new_version":"0.122.0","repository_url":"https://github.com/fastapi/fastapi"},{"name":"flask","old_version":"3.0.3","new_version":"3.1.2","repository_url":"https://github.com/pallets/flask"},{"name":"freezegun","old_version":"1.3.1","new_version":"1.5.5","repository_url":"https://github.com/spulec/freezegun"},{"name":"fsspec","old_version":"2025.9.0","new_version":"2025.10.0","repository_url":"https://github.com/fsspec/filesystem_spec"},{"name":"google-auth","old_version":"2.41.1","new_version":"2.43.0","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"google-auth-oauthlib","old_version":"1.2.2","new_version":"1.2.3","repository_url":"https://github.com/GoogleCloudPlatform/google-auth-library-python-oauthlib"},{"name":"grpcio","old_version":"1.75.1","new_version":"1.76.0","repository_url":"https://github.com/grpc/grpc"},{"name":"h5py","old_version":"3.14.0","new_version":"3.15.1","repository_url":"https://github.com/h5py/h5py"},{"name":"httpx","old_version":"0.27.2","new_version":"0.28.1","repository_url":"https://github.com/encode/httpx"},{"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":"ipython","old_version":"9.6.0","new_version":"9.7.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":"jiter","old_version":"0.11.0","new_version":"0.12.0","repository_url":"https://github.com/pydantic/jiter"},{"name":"jupyter","old_version":"1.0.0","new_version":"1.1.1"},{"name":"jupyter-core","old_version":"5.8.1","new_version":"5.9.1","repository_url":"https://github.com/jupyter/jupyter_core"},{"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":"libcst","old_version":"1.7.0","new_version":"1.8.6","repository_url":"https://github.com/Instagram/LibCST"},{"name":"litecli","old_version":"1.12.3","new_version":"1.17.0","repository_url":"https://github.com/dbcli/litecli"},{"name":"markdown","old_version":"3.9","new_version":"3.10","repository_url":"https://github.com/Python-Markdown/markdown"},{"name":"matplotlib-inline","old_version":"0.1.7","new_version":"0.2.1","repository_url":"https://github.com/ipython/matplotlib-inline"},{"name":"ml-dtypes","old_version":"0.5.3","new_version":"0.5.4","repository_url":"https://github.com/jax-ml/ml_dtypes"},{"name":"mutmut","old_version":"3.3.1","new_version":"3.4.0","repository_url":"https://github.com/boxed/mutmut"},{"name":"mypy","old_version":"1.5.1","new_version":"1.18.2","repository_url":"https://github.com/python/mypy"},{"name":"networkx","old_version":"3.5","new_version":"3.6","repository_url":"https://github.com/networkx/networkx"},{"name":"numpy","old_version":"2.0.2","new_version":"2.3.5","repository_url":"https://github.com/numpy/numpy"},{"name":"objection","old_version":"1.11.0","new_version":"1.12.2","repository_url":"https://github.com/sensepost/objection"},{"name":"openai","old_version":"2.8.0","new_version":"2.8.1","repository_url":"https://github.com/openai/openai-python"},{"name":"optree","old_version":"0.17.0","new_version":"0.18.0","repository_url":"https://github.com/metaopt/optree"},{"name":"packageurl-python","old_version":"0.17.5","new_version":"0.17.6","repository_url":"https://github.com/package-url/packageurl-python"},{"name":"pep517","old_version":"0.13.0","new_version":"0.13.1","repository_url":"https://github.com/pypa/pep517"},{"name":"pexpect","old_version":"4.8.0","new_version":"4.9.0","repository_url":"https://github.com/pexpect/pexpect"},{"name":"prompt-toolkit","old_version":"3.0.48","new_version":"3.0.52","repository_url":"https://github.com/prompt-toolkit/python-prompt-toolkit"},{"name":"psutil","old_version":"7.1.0","new_version":"7.1.3","repository_url":"https://github.com/giampaolo/psutil"},{"name":"pycodestyle","old_version":"2.10.0","new_version":"2.14.0","repository_url":"https://github.com/PyCQA/pycodestyle"},{"name":"pyflakes","old_version":"3.0.1","new_version":"3.4.0","repository_url":"https://github.com/PyCQA/pyflakes"},{"name":"pyparsing","old_version":"3.0.9","new_version":"3.2.5","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"pytest-mock","old_version":"3.12.0","new_version":"3.15.1","repository_url":"https://github.com/pytest-dev/pytest-mock"},{"name":"pytest-timeout","old_version":"2.2.0","new_version":"2.4.0","repository_url":"https://github.com/pytest-dev/pytest-timeout"},{"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.29.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":"seaborn","old_version":"0.12.2","new_version":"0.13.2","repository_url":"https://github.com/mwaskom/seaborn"},{"name":"sqlparse","old_version":"0.5.1","new_version":"0.5.3","repository_url":"https://github.com/andialbrecht/sqlparse"},{"name":"starlette","old_version":"0.49.3","new_version":"0.50.0","repository_url":"https://github.com/Kludex/starlette"},{"name":"termcolor","old_version":"3.1.0","new_version":"3.2.0","repository_url":"https://github.com/termcolor/termcolor"},{"name":"textual","old_version":"6.2.1","new_version":"6.6.0","repository_url":"https://github.com/Textualize/textual"},{"name":"tinycss2","old_version":"1.4.0","new_version":"1.5.1","repository_url":"https://github.com/Kozea/tinycss2"},{"name":"types-requests","old_version":"2.31.0.2","new_version":"2.32.4.20250913","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"wcwidth","old_version":"0.2.13","new_version":"0.2.14","repository_url":"https://github.com/jquast/wcwidth"},{"name":"websocket-client","old_version":"1.8.0","new_version":"1.9.0","repository_url":"https://github.com/websocket-client/websocket-client"},{"name":"werkzeug","old_version":"3.1.1","new_version":"3.1.3","repository_url":"https://github.com/pallets/werkzeug"},{"name":"widgetsnbextension","old_version":"4.0.14","new_version":"4.0.15"},{"name":"celery","old_version":"5.4.0","new_version":"5.5.3","repository_url":"https://github.com/celery/celery"},{"name":"celery","old_version":"5.4.0","new_version":"5.5.3","repository_url":"https://github.com/celery/celery"},{"name":"kombu","old_version":"5.4.2","new_version":"5.6.0","repository_url":"https://github.com/celery/kombu"},{"name":"amqp","old_version":"5.2.0","new_version":"5.3.1","repository_url":"https://github.com/celery/py-amqp"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-dependencies group with 73 updates in the /python-ai-service directory:\n\n| Package | From | To |\n| --- | --- | --- |\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| [attrs](https://github.com/sponsors/hynek) | `25.3.0` | `25.4.0` |\n| [bleach](https://github.com/mozilla/bleach) | `6.2.0` | `6.3.0` |\n| [blinker](https://github.com/pallets-eco/blinker) | `1.8.2` | `1.9.0` |\n| [build](https://github.com/pypa/build) | `1.2.2.post1` | `1.3.0` |\n| [cachecontrol](https://github.com/psf/cachecontrol) | `0.14.3` | `0.14.4` |\n| [cachetools](https://github.com/tkem/cachetools) | `6.2.0` | `6.2.2` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.0` | `3.4.4` |\n| [cli-helpers](https://github.com/dbcli/cli_helpers) | `2.3.1` | `2.7.0` |\n| [click](https://github.com/pallets/click) | `8.1.7` | `8.3.1` |\n| [contourpy](https://github.com/contourpy/contourpy) | `1.3.2` | `1.3.3` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.3.4` | `7.12.0` |\n| [deprecated](https://github.com/laurent-laporte-pro/deprecated) | `1.2.18` | `1.3.1` |\n| [docutils](https://github.com/rtfd/recommonmark) | `0.18.1` | `0.22.3` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.121.2` | `0.122.0` |\n| [flask](https://github.com/pallets/flask) | `3.0.3` | `3.1.2` |\n| [freezegun](https://github.com/spulec/freezegun) | `1.3.1` | `1.5.5` |\n| [fsspec](https://github.com/fsspec/filesystem_spec) | `2025.9.0` | `2025.10.0` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.41.1` | `2.43.0` |\n| [google-auth-oauthlib](https://github.com/GoogleCloudPlatform/google-auth-library-python-oauthlib) | `1.2.2` | `1.2.3` |\n| [grpcio](https://github.com/grpc/grpc) | `1.75.1` | `1.76.0` |\n| [h5py](https://github.com/h5py/h5py) | `3.14.0` | `3.15.1` |\n| [httpx](https://github.com/encode/httpx) | `0.27.2` | `0.28.1` |\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| [ipython](https://github.com/ipython/ipython) | `9.6.0` | `9.7.0` |\n| [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) | `8.1.7` | `8.1.8` |\n| [jiter](https://github.com/pydantic/jiter) | `0.11.0` | `0.12.0` |\n| [jupyter](https://jupyter.org) | `1.0.0` | `1.1.1` |\n| [jupyter-core](https://github.com/jupyter/jupyter_core) | `5.8.1` | `5.9.1` |\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| [libcst](https://github.com/Instagram/LibCST) | `1.7.0` | `1.8.6` |\n| [litecli](https://github.com/dbcli/litecli) | `1.12.3` | `1.17.0` |\n| [markdown](https://github.com/Python-Markdown/markdown) | `3.9` | `3.10` |\n| [matplotlib-inline](https://github.com/ipython/matplotlib-inline) | `0.1.7` | `0.2.1` |\n| [ml-dtypes](https://github.com/jax-ml/ml_dtypes) | `0.5.3` | `0.5.4` |\n| [mutmut](https://github.com/boxed/mutmut) | `3.3.1` | `3.4.0` |\n| [mypy](https://github.com/python/mypy) | `1.5.1` | `1.18.2` |\n| [networkx](https://github.com/networkx/networkx) | `3.5` | `3.6` |\n| [numpy](https://github.com/numpy/numpy) | `2.0.2` | `2.3.5` |\n| [objection](https://github.com/sensepost/objection) | `1.11.0` | `1.12.2` |\n| [openai](https://github.com/openai/openai-python) | `2.8.0` | `2.8.1` |\n| [optree](https://github.com/metaopt/optree) | `0.17.0` | `0.18.0` |\n| [packageurl-python](https://github.com/package-url/packageurl-python) | `0.17.5` | `0.17.6` |\n| [pep517](https://github.com/pypa/pep517) | `0.13.0` | `0.13.1` |\n| [pexpect](https://github.com/pexpect/pexpect) | `4.8.0` | `4.9.0` |\n| [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) | `3.0.48` | `3.0.52` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.1.0` | `7.1.3` |\n| [pycodestyle](https://github.com/PyCQA/pycodestyle) | `2.10.0` | `2.14.0` |\n| [pyflakes](https://github.com/PyCQA/pyflakes) | `3.0.1` | `3.4.0` |\n| [pyparsing](https://github.com/pyparsing/pyparsing) | `3.0.9` | `3.2.5` |\n| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.12.0` | `3.15.1` |\n| [pytest-timeout](https://github.com/pytest-dev/pytest-timeout) | `2.2.0` | `2.4.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.29.0` |\n| [scipy](https://github.com/scipy/scipy) | `1.15.3` | `1.16.3` |\n| [seaborn](https://github.com/mwaskom/seaborn) | `0.12.2` | `0.13.2` |\n| [sqlparse](https://github.com/andialbrecht/sqlparse) | `0.5.1` | `0.5.3` |\n| [starlette](https://github.com/Kludex/starlette) | `0.49.3` | `0.50.0` |\n| [termcolor](https://github.com/termcolor/termcolor) | `3.1.0` | `3.2.0` |\n| [textual](https://github.com/Textualize/textual) | `6.2.1` | `6.6.0` |\n| [tinycss2](https://github.com/Kozea/tinycss2) | `1.4.0` | `1.5.1` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.31.0.2` | `2.32.4.20250913` |\n| [wcwidth](https://github.com/jquast/wcwidth) | `0.2.13` | `0.2.14` |\n| [websocket-client](https://github.com/websocket-client/websocket-client) | `1.8.0` | `1.9.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `3.1.1` | `3.1.3` |\n| [widgetsnbextension](http://jupyter.org) | `4.0.14` | `4.0.15` |\n| [celery](https://github.com/celery/celery) | `5.4.0` | `5.5.3` |\n| [celery[redis]](https://github.com/celery/celery) | `5.4.0` | `5.5.3` |\n| [kombu](https://github.com/celery/kombu) | `5.4.2` | `5.6.0` |\n| [amqp](https://github.com/celery/py-amqp) | `5.2.0` | `5.3.1` |\n\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 `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 `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 `blinker` from 1.8.2 to 1.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets-eco/blinker/releases\"\u003eblinker's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.9.0\u003c/h2\u003e\n\u003cp\u003eThis is the Blinker 1.9.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as \u003ca href=\"https://pypi.org/project/pip-tools/\"\u003epip-tools\u003c/a\u003e to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/blinker/1.9.0/\"\u003ehttps://pypi.org/project/blinker/1.9.0/\u003c/a\u003e\nChanges: \u003ca href=\"https://blinker.readthedocs.io/en/stable/#version-1-9-0\"\u003ehttps://blinker.readthedocs.io/en/stable/#version-1-9-0\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets-eco/blinker/milestone/1?closed=1\"\u003ehttps://github.com/pallets-eco/blinker/milestone/1?closed=1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. \u003ca href=\"https://redirect.github.com/pallets-eco/blinker/issues/175\"\u003e#175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove previously deprecated \u003ccode\u003e__version__\u003c/code\u003e, \u003ccode\u003ereceiver_connected\u003c/code\u003e, \u003ccode\u003eSignal.temporarily_connected_to\u003c/code\u003e and \u003ccode\u003eWeakNamespace\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets-eco/blinker/issues/172\"\u003e#172\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip weakref signal cleanup if the interpreter is shutting down. \u003ca href=\"https://redirect.github.com/pallets-eco/blinker/issues/173\"\u003e#173\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets-eco/blinker/blob/main/CHANGES.rst\"\u003eblinker's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.9.0\u003c/h2\u003e\n\u003cp\u003eReleased 2024-11-08\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8. :pr:\u003ccode\u003e175\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRemove previously deprecated \u003ccode\u003e__version__\u003c/code\u003e, \u003ccode\u003ereceiver_connected\u003c/code\u003e,\n\u003ccode\u003eSignal.temporarily_connected_to\u003c/code\u003e and \u003ccode\u003eWeakNamespace\u003c/code\u003e. :pr:\u003ccode\u003e172\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eSkip weakref signal cleanup if the interpreter is shutting down.\n:issue:\u003ccode\u003e173\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/669f3a027828d19786e708b511277fabcd6b9532\"\u003e\u003ccode\u003e669f3a0\u003c/code\u003e\u003c/a\u003e release version 1.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/cfe116fa7912d8dcb0deee4907aa63d1efaadf5b\"\u003e\u003ccode\u003ecfe116f\u003c/code\u003e\u003c/a\u003e try disabling attestions on test pypi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/16e4bd70a19353d9d7cf47e4df7de54936296377\"\u003e\u003ccode\u003e16e4bd7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pallets-eco/blinker/issues/174\"\u003e#174\u003c/a\u003e from projectgus/bugfix/weakref_disconnect_shutdown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/42561fdf065032f5c39aea04d8c3fb4db93f73f3\"\u003e\u003ccode\u003e42561fd\u003c/code\u003e\u003c/a\u003e Fix \u0026quot;Exception ignored\u0026quot; in weakref callback during interpreter shutdown.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/dcce3e97743494433025e0b68f742f3582b6ba6a\"\u003e\u003ccode\u003edcce3e9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pallets-eco/blinker/issues/175\"\u003e#175\u003c/a\u003e from pallets-eco/drop-python3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/efa95eaa080b0d4a8dcfc46ad1f387ea1ddebd97\"\u003e\u003ccode\u003eefa95ea\u003c/code\u003e\u003c/a\u003e drop support for python 3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/82305185358d8ce21619ec0f324688a14a89c23b\"\u003e\u003ccode\u003e8230518\u003c/code\u003e\u003c/a\u003e update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/94f1202f08c6d00a9fe1ecf5c8cba9da84e4b22f\"\u003e\u003ccode\u003e94f1202\u003c/code\u003e\u003c/a\u003e update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/8c983ecd764e1d113d24522838c2a7312460b7eb\"\u003e\u003ccode\u003e8c983ec\u003c/code\u003e\u003c/a\u003e remove previously deprecated code (\u003ca href=\"https://redirect.github.com/pallets-eco/blinker/issues/172\"\u003e#172\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets-eco/blinker/commit/f5915f3bfcd9f9da0caf6cd4858bf68068c52963\"\u003e\u003ccode\u003ef5915f3\u003c/code\u003e\u003c/a\u003e set up pre-commit lite workflow\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets-eco/blinker/compare/1.8.2...1.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `build` from 1.2.2.post1 to 1.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/build/releases\"\u003ebuild's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--config-json\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/916\"\u003e#916\u003c/a\u003e, fixes issue \u003ca href=\"https://redirect.github.com/pypa/build/issues/900\"\u003e#900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop Python 3.8 (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/891\"\u003e#891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest on Python 3.14, colorful help on 3.14+ (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/895\"\u003e#895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eModuleNotFoundError\u003c/code\u003e when \u003ccode\u003epip\u003c/code\u003e is not installed (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/898\"\u003e#898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisable use of \u003ccode\u003epip install --python\u003c/code\u003e for debundled pip (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/861\"\u003e#861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't pass no-wheel to virtualenv if it would warn (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/892\"\u003e#892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimize our tests to run faster (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/871\"\u003e#871\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/872\"\u003e#872\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/738\"\u003e#738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow running our tests without virtualenv (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix issues in our tests (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/824\"\u003e#824\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/918\"\u003e#918\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/870\"\u003e#870\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/915\"\u003e#915\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/862\"\u003e#862\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/863\"\u003e#863\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/899\"\u003e#899\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/896\"\u003e#896\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/854\"\u003e#854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse SPDX identifiers for our license metadata (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/914\"\u003e#914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse dependency-groups for our development (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/880\"\u003e#880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMention conda and update uv mention in README/docs (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/842\"\u003e#842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/816\"\u003e#816\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pypa/build/issues/917\"\u003e#917\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/pypa/build/blob/main/CHANGELOG.rst\"\u003ebuild's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.3.0 (2025-08-01)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--config-json\u003c/code\u003e\n(PR :pr:\u003ccode\u003e916\u003c/code\u003e, fixes issue :issue:\u003ccode\u003e900\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDrop Python 3.8\n(PR :pr:\u003ccode\u003e891\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eTest on Python 3.14, colorful help on 3.14+\n(PR :pr:\u003ccode\u003e895\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eModuleNotFoundError\u003c/code\u003e when \u003ccode\u003epip\u003c/code\u003e is not installed\n(PR :pr:\u003ccode\u003e898\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDisable use of \u003ccode\u003epip install --python\u003c/code\u003e for debundled pip\n(PR :pr:\u003ccode\u003e861\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDon't pass no-wheel to virtualenv if it would warn\n(PR :pr:\u003ccode\u003e892\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eOptimize our tests to run faster\n(PR :pr:\u003ccode\u003e871\u003c/code\u003e, :pr:\u003ccode\u003e872\u003c/code\u003e, :pr:\u003ccode\u003e738\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAllow running our tests without virtualenv\n(PR :pr:\u003ccode\u003e911\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix issues in our tests\n(PR :pr:\u003ccode\u003e824\u003c/code\u003e, :pr:\u003ccode\u003e918\u003c/code\u003e, :pr:\u003ccode\u003e870\u003c/code\u003e, :pr:\u003ccode\u003e915\u003c/code\u003e, :pr:\u003ccode\u003e862\u003c/code\u003e, :pr:\u003ccode\u003e863\u003c/code\u003e, :pr:\u003ccode\u003e899\u003c/code\u003e, :pr:\u003ccode\u003e896\u003c/code\u003e, :pr:\u003ccode\u003e854\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse SPDX identifiers for our license metadata\n(PR :pr:\u003ccode\u003e914\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse dependency-groups for our development\n(PR :pr:\u003ccode\u003e880\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMention conda and update uv mention in README/docs\n(PR :pr:\u003ccode\u003e842\u003c/code\u003e, :pr:\u003ccode\u003e816\u003c/code\u003e, :pr:\u003ccode\u003e917\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.2.2 (2024-09-06)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd editable to \u003ccode\u003ebuilder.get_requries_for_build\u003c/code\u003e's static types\n(PR :pr:\u003ccode\u003e764\u003c/code\u003e, fixes issue :issue:\u003ccode\u003e763\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eInclude artifact attestations in our release\n(PR :pr:\u003ccode\u003e782\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix typing compatibility with typed \u003ccode\u003epyproject-hooks\u003c/code\u003e\n(PR :pr:\u003ccode\u003e788\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMark more tests with \u003ccode\u003enetwork\u003c/code\u003e\n(PR :pr:\u003ccode\u003e808\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd more intersphinx links to docs\n(PR :pr:\u003ccode\u003e804\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003euv\u003c/code\u003e optional for tests\n(PR :pr:\u003ccode\u003e807\u003c/code\u003e and :pr:\u003ccode\u003e813\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.2.1 (2024-03-28)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid error when terminal width is undetectable on Python \u0026lt; 3.11\n(PR :pr:\u003ccode\u003e761\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/pypa/build/commit/60e8752f69178d2b2c3563e9c8fa17aa6e11b12c\"\u003e\u003ccode\u003e60e8752\u003c/code\u003e\u003c/a\u003e chore: bump to 1.3.0 (\u003ca href=\"https://redirect.github.com/pypa/build/issues/919\"\u003e#919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/807cfba618bc4f7b13e938ffa395fffd82494383\"\u003e\u003ccode\u003e807cfba\u003c/code\u003e\u003c/a\u003e feat: add --config-json (\u003ca href=\"https://redirect.github.com/pypa/build/issues/916\"\u003e#916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/bf54ad04ffe30e7f7847ea0bcbc081b550830950\"\u003e\u003ccode\u003ebf54ad0\u003c/code\u003e\u003c/a\u003e tests: fix issues with ignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/53852df8d84d1d17afaa851d4e1cc3754676bb29\"\u003e\u003ccode\u003e53852df\u003c/code\u003e\u003c/a\u003e docs: uv example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/b983371befe0547b312aba36083b859d923d9bfc\"\u003e\u003ccode\u003eb983371\u003c/code\u003e\u003c/a\u003e tests: optional virtualenv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/6cd157ad0b614a76a13374032a4f56b65048c0be\"\u003e\u003ccode\u003e6cd157a\u003c/code\u003e\u003c/a\u003e Adopt PEP 639 \u0026quot;license\u0026quot; field (\u003ca href=\"https://redirect.github.com/pypa/build/issues/914\"\u003e#914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/bdaea367438b8e5ed3c26a7497eafc007084fbec\"\u003e\u003ccode\u003ebdaea36\u003c/code\u003e\u003c/a\u003e tests: fixes for errors in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/14d6508679e2ddb4a511b4b41e972cb374e9dadb\"\u003e\u003ccode\u003e14d6508\u003c/code\u003e\u003c/a\u003e pre-commit: bump repositories\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/59ac60e78e0dc5164355bd29eb99fb1cb2d7a59c\"\u003e\u003ccode\u003e59ac60e\u003c/code\u003e\u003c/a\u003e pre-commit: bump repositories\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/48ebd63cd7049dff737093c462970262ae1ceed0\"\u003e\u003ccode\u003e48ebd63\u003c/code\u003e\u003c/a\u003e pre-commit: bump repositories\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/build/compare/1.2.2.post1...1.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cachecontrol` from 0.14.3 to 0.14.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/cachecontrol/releases\"\u003ecachecontrol's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.16 to 3.28.17 in the 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/psf/cachecontrol/pull/382\"\u003epsf/cachecontrol#382\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.17 to 3.28.18 in the 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/psf/cachecontrol/pull/383\"\u003epsf/cachecontrol#383\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump astral-sh/setup-uv from 6.0.1 to 6.1.0 in the 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/psf/cachecontrol/pull/385\"\u003epsf/cachecontrol#385\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(ci): cleanup, add Python 3.14 by \u003ca href=\"https://github.com/woodruffw\"\u003e\u003ccode\u003e@​woodruffw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/psf/cachecontrol/pull/392\"\u003epsf/cachecontrol#392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix typo by \u003ca href=\"https://github.com/zackzack38\"\u003e\u003ccode\u003e@​zackzack38\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/psf/cachecontrol/pull/388\"\u003epsf/cachecontrol#388\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: prepare for 0.14.4 by \u003ca href=\"https://github.com/woodruffw\"\u003e\u003ccode\u003e@​woodruffw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/psf/cachecontrol/pull/394\"\u003epsf/cachecontrol#394\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/zackzack38\"\u003e\u003ccode\u003e@​zackzack38\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/cachecontrol/pull/388\"\u003epsf/cachecontrol#388\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/psf/cachecontrol/compare/v0.14.3...v0.14.4\"\u003ehttps://github.com/psf/cachecontrol/compare/v0.14.3...v0.14.4\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/cachecontrol/blob/master/docs/release_notes.rst\"\u003ecachecontrol's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e0.14.4\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eExplicitly support Python 3.14.\u003c/li\u003e\n\u003cli\u003eDrop support for Python 3.9.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/cachecontrol/commit/aba0315599d7d4200074ab3606384732be7bbc25\"\u003e\u003ccode\u003eaba0315\u003c/code\u003e\u003c/a\u003e chore: prepare for 0.14.4 (\u003ca href=\"https://redirect.github.com/psf/cachecontrol/issues/394\"\u003e#394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/cachecontrol/commit/e8a968302db0bab1d8016b1da07440803eb230c6\"\u003e\u003ccode\u003ee8a9683\u003c/code\u003e\u003c/a\u003e fix typo (\u003ca href=\"https://redirect.github.com/psf/cachecontrol/issues/388\"\u003e#388\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/cachecontrol/commit/02df424c36e1103c90131879949c12b8254b64dd\"\u003e\u003ccode\u003e02df424\u003c/code\u003e\u003c/a\u003e chore(ci): cleanup, add Python 3.14 (\u003ca href=\"https://redirect.github.com/psf/cachecontrol/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/cachecontrol/commit/9af76f749721ef7ee27e692c5c62a19aedab7731\"\u003e\u003ccode\u003e9af76f7\u003c/code\u003e\u003c/a\u003e build(deps): bump astral-sh/setup-uv in the actions group (\u003ca href=\"https://redirect.github.com/psf/cachecontrol/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/cachecontrol/commit/3f169f69e3871340833535380306b43735b5b0a9\"\u003e\u003ccode\u003e3f169f6\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/psf/cachecontrol/issues/383\"\u003e#383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/cachecontrol/commit/3e0c8f2fbd85bc1d64ecaac7d6b0e838a8dae8f7\"\u003e\u003ccode\u003e3e0c8f2\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action in the actions group (\u003ca href=\"https://redirect.github.com/psf/cachecontrol/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/psf/cachecontrol/compare/v0.14.3...v0.14.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cachetools` from 6.2.0 to 6.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tkem/cachetools/blob/master/CHANGELOG.rst\"\u003ecachetools's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev6.2.2 (2025-11-13)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMinor improvements from GitHub Copilot code review.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImprove documentation.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev6.2.1 (2025-10-12)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for Python 3.14.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImprove documentation.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate CI environment.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/4ee2600ab09b109f79d4ef08103240bf9f239b2d\"\u003e\u003ccode\u003e4ee2600\u003c/code\u003e\u003c/a\u003e Release v6.2.2.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/f1cec391fea1a1e407fe596b6e37b849adf7fce5\"\u003e\u003ccode\u003ef1cec39\u003c/code\u003e\u003c/a\u003e Minor improvements from GitHub Copilot code review.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/e9117dc1e18389341ce4836f171e23d89f306b65\"\u003e\u003ccode\u003ee9117dc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tkem/cachetools/issues/371\"\u003e#371\u003c/a\u003e from RektPunk/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/6774af212c0c95c2179f2644023fac74317d0262\"\u003e\u003ccode\u003e6774af2\u003c/code\u003e\u003c/a\u003e fix typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/4d8fc20d9eac2cf93d0d938127f6dd3c30441c22\"\u003e\u003ccode\u003e4d8fc20\u003c/code\u003e\u003c/a\u003e docs: add cachetools-async to related projects in README (\u003ca href=\"https://redirect.github.com/tkem/cachetools/issues/369\"\u003e#369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/ca7508fd56103a1b6d6f17c8e93e36c60b44ca25\"\u003e\u003ccode\u003eca7508f\u003c/code\u003e\u003c/a\u003e Release v6.2.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/f7193077decbbeddbbb76677a1d8912a454886f2\"\u003e\u003ccode\u003ef719307\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/tkem/cachetools/issues/339\"\u003e#339\u003c/a\u003e: Improve documentation regarding funtion default arguments.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/b32d00b7d4ca95ba67edfa3167c81938761ae09a\"\u003e\u003ccode\u003eb32d00b\u003c/code\u003e\u003c/a\u003e Fix typos.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/a9a7e2cc8f2f6ab3403d5b967e3324cf237878c0\"\u003e\u003ccode\u003ea9a7e2c\u003c/code\u003e\u003c/a\u003e Move extended \u003ca href=\"https://github.com/ttl\"\u003e\u003ccode\u003e@​ttl\u003c/code\u003e\u003c/a\u003e_cache docs to proper place.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/072b7e1724b5f608e611ba6d40162722012c9149\"\u003e\u003ccode\u003e072b7e1\u003c/code\u003e\u003c/a\u003e docs: clarify what units the \u003ccode\u003ettl\u003c/code\u003e argument uses (i.e., seconds)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tkem/cachetools/compare/v6.2.0...v6.2.2\"\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.0 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\u003ch2\u003eVersion 3.4.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.2...3.4.3\"\u003e3.4.3\u003c/a\u003e (2025-08-09)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emypy(c) is no longer a required dependency at build time if \u003ccode\u003eCHARSET_NORMALIZER_USE_MYPYC\u003c/code\u003e isn't set to \u003ccode\u003e1\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/595\"\u003e#595\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/583\"\u003e#583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eautomatically lower confidence on small bytes samples that are not Unicode in \u003ccode\u003edetect\u003c/code\u003e output legacy function. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCustom build backend to overcome inability to mark mypy as an optional dependency in the build phase.\u003c/li\u003e\n\u003cli\u003eSupport for Python 3.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esdist archive contained useless directories.\u003c/li\u003e\n\u003cli\u003eautomatically fallback on valid UTF-16 or UTF-32 even if the md says it's noisy. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/633\"\u003e#633\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSBOM are automatically published to the relevant GitHub release to comply with regulatory changes.\nEach published wheel comes with its SBOM. We choose CycloneDX as the format.\u003c/li\u003e\n\u003cli\u003ePrebuilt optimized wheel are no longer distributed by default for CPython 3.7 due to a change in cibuildwheel.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.4.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.1...3.4.2\"\u003e3.4.2\u003c/a\u003e (2025-05-02)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAddressed the DeprecationWarning in our CLI regarding \u003ccode\u003eargparse.FileType\u003c/code\u003e by backporting the target class into the package. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/591\"\u003e#591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved the overall reliability of the detector with CJK Ideographs. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/605\"\u003e#605\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/587\"\u003e#587\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptional mypyc compilation upgraded to version 1.15 for Python \u0026gt;= 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.4.1\u003c/h2\u003e\n\u003ch2\u003e🚀 We're still raising awareness around HTTP/2, and HTTP/3!\u003c/h2\u003e\n\u003cp\u003eDid you know that Internet Explorer 11 shipped with an optional HTTP/2 support back in 2013? also libcurl did ship it in 2014[...]\nUsing Requests today is the rough equivalent of using EOL Windows 8!  We promptly invite Python developers to look at the first drop-in replacement for Requests, \u003ca href=\"https://github.com/jawah/niquests\"\u003enamely Niquests\u003c/a\u003e. Ship with native WebSocket, SSE, Happy Eyeballs, DNS over HTTPS, and so on[...] All of this while remaining compatible with all Requests prior plug-ins / add-ons.\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/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\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.2...3.4.3\"\u003e3.4.3\u003c/a\u003e (2025-08-09)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emypy(c) is no longer a required dependency at build time if \u003ccode\u003eCHARSET_NORMALIZER_USE_MYPYC\u003c/code\u003e isn't set to \u003ccode\u003e1\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/595\"\u003e#595\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/583\"\u003e#583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eautomatically lower confidence on small bytes samples that are not Unicode in \u003ccode\u003edetect\u003c/code\u003e output legacy function. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCustom build backend to overcome inability to mark mypy as an optional dependency in the build phase.\u003c/li\u003e\n\u003cli\u003eSupport for Python 3.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esdist archive contained useless directories.\u003c/li\u003e\n\u003cli\u003eautomatically fallback on valid UTF-16 or UTF-32 even if the md says it's noisy. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/633\"\u003e#633\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSBOM are automatically published to the relevant GitHub release to comply with regulatory changes.\nEach published wheel comes with its SBOM. We choose CycloneDX as the format.\u003c/li\u003e\n\u003cli\u003ePrebuilt optimized wheel are no longer distributed by default for CPython 3.7 due to a change in cibuildwheel.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.1...3.4.2\"\u003e3.4.2\u003c/a\u003e (2025-05-02)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAddressed the DeprecationWarning in our CLI regarding \u003ccode\u003eargparse.FileType\u003c/code\u003e by backporting the target class into the package. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/591\"\u003e#591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved the overall reliability of the detector with CJK Ideographs. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/605\"\u003e#605\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/587\"\u003e#587\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptional mypyc compilation upgraded to version 1.15 for Python \u0026gt;= 3.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.0...3.4.1\"\u003e3.4.1\u003c/a\u003e (2024-12-24)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eProject metadata are now stored using \u003ccode\u003epyproject.toml\u003c/code\u003e instead of \u003ccode\u003esetup.cfg\u003c/code\u003e using setuptools as the build backend.\u003c/li\u003e\n\u003cli\u003eEnforce annotation delayed loading for a simpler and consistent types in the project.\u003c/li\u003e\n\u003cli\u003eOptional mypyc compilation upgraded to version 1.14 for Python \u0026gt;= 3.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\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/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.0...3.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cli-helpers` from 2.3.1 to 2.7.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dbcli/cli_helpers/blob/main/CHANGELOG\"\u003ecli-helpers's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.7.0\u003c/h2\u003e\n\u003cp\u003e(released on 2025-07-28)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003emysql\u003c/code\u003e and \u003ccode\u003emysql_unicode\u003c/code\u003e output formats which right-align numbers.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 2.6.0\u003c/h2\u003e\n\u003cp\u003e(released on 2025-07-12)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRegister the JSON formats so they are actually usable.\u003c/li\u003e\n\u003cli\u003eMake JSON formats able to encode Decimals and None/NULLs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 2.5.0\u003c/h2\u003e\n\u003cp\u003e(released on 2025-07-10)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded noheader CSV and TSV output formats.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ejsonl\u003c/code\u003e and \u003ccode\u003ejsonl_escaped\u003c/code\u003e output formats.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 2.4.0\u003c/h2\u003e\n\u003cp\u003e(released on 2025-03-10)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded format_timestamps preprocessor for per-column date/time formatting.\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/dbcli/cli_helpers/commit/c34ae9fc68c4c8a74124c2cd416fc06148d71445\"\u003e\u003ccode\u003ec34ae9f\u003c/code\u003e\u003c/a\u003e Releasing version 2.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dbcli/cli_helpers/commit/c0d127c362583fe96ca1a49a6365187f9a03cffb\"\u003e\u003ccode\u003ec0d127c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/dbcli/cli_helpers/issues/96\"\u003e#96\u003c/a\u003e from dbcli/RW/add-mysql-output-formats\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dbcli/cli_helpers/commit/6f804e9636499f2c37154192e8d60c47670403cc\"\u003e\u003ccode\u003e6f804e9\u003c/code\u003e\u003c/a\u003e add mysql/mysql_unicode output formats\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dbcli/cli_helpers/commit/22881bb13b98f0fdf85faf61af3c5c92a2184044\"\u003e\u003ccode\u003e22881bb\u003c/code\u003e\u003c/a\u003e Releasing version 2.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dbcli/cli_helpers/commit/090a529385052852115f7274ce3a0915820610e4\"\u003e\u003ccode\u003e090a529\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/dbcli/cli_helpers/issues/95\"\u003e#95\u003c/a\u003e from dbcli/RW/changelog-v2-6-0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dbcli/cli_helpers/commit/a94997008b955647a4d0c5951b5d19b9105efc36\"\u003e\u003ccode\u003ea949970\u003c/code\u003e\u003c/a\u003e update changelog for release v2.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dbcli/cli_helpers/commit/789daf491d2945f23e2359f6a3ae93067cf31e7b\"\u003e\u003ccode\u003e789daf4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/dbcli/cli_helpers/issues/94\"\u003e#94\u003c/a\u003e from dbcli/RW/json-format-followups\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dbcli/cli_helpers/commit/49bfdb922915a9906ca6af23e1cab9216b055253\"\u003e\u003ccode\u003e49bfdb9\u003c/code\u003e\u003c/a\u003e followups for JSON output formats\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dbcli/cli_helpers/commit/0edf14eabfaaf556d75560ae2bfd674ed2276ba9\"\u003e\u003ccode\u003e0edf14e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/dbcli/cli_helpers/issues/93\"\u003e#93\u003c/a\u003e from dbcli/RW/prepare-v2-5-0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dbcli/cli_helpers/commit/24fb5fc2bdc561301c34e3e7e572a51352741ba2\"\u003e\u003ccode\u003e24fb5fc\u003c/code\u003e\u003c/a\u003e bump version for v2.5.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dbcli/cli_helpers/compare/v2.3.1...v2.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.7 to 8.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.1\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.1/\"\u003ehttps://pypi.org/project/click/8.3.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-1\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-1\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/28\"\u003ehttps://github.com/pallets/click/milestone/28\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3039\"\u003e#3039\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3055\"\u003e#3055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through the \u003ccode\u003eContext.invoke()\u003c/code\u003e method. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3066\"\u003e#3066\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3068\"\u003e#3068\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect behavior for multiple parameters using the same name. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3071\"\u003e#3071\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3079\"\u003e#3079\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is empty. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3019\"\u003e#3019\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3021\"\u003e#3021\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to \u003ccode\u003etype_cast_value\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3069\"\u003e#3069\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3090\"\u003e#3090\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters through the context inside parameter callbacks. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3136\"\u003e#3136\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/blob/main/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-11-15\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. :issue:\u003ccode\u003e3039\u003c/code\u003e\n:pr:\u003ccode\u003e3055\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through\nthe \u003ccode\u003eContext.invoke()\u003c/code\u003e method. :issue:\u003ccode\u003e3066\u003c/code\u003e :issue:\u003ccode\u003e3065\u003c/code\u003e :pr:\u003ccode\u003e3068\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect\nbehavior for multiple parameters using the same name. :issue:\u003ccode\u003e3071\u003c/code\u003e :pr:\u003ccode\u003e3079\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters\nthrough the context inside parameter callbacks. :issue:\u003ccode\u003e3136\u003c/code\u003e :pr:\u003ccode\u003e3137\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is\nempty. :issue:\u003ccode\u003e3019\u003c/code\u003e :pr:\u003ccode\u003e3021\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to\n\u003ccode\u003etype_cast_value\u003c/code\u003e. :issue:\u003ccode\u003e3069\u003c/code\u003e :pr:\u003ccode\u003e3090\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.3.0\u003c/h2\u003e\n\u003cp\u003eReleased 2025-09-17\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: :issue:\u003ccode\u003e1992\u003c/code\u003e :issue:\u003ccode\u003e2514\u003c/code\u003e :issue:\u003ccode\u003e2610\u003c/code\u003e\n:issue:\u003ccode\u003e3024\u003c/code\u003e :pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. :issue:\u003ccode\u003e2164\u003c/code\u003e\n:pr:\u003ccode\u003e3030\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption :issue:\u003ccode\u003e2813\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. :issue:\u003ccode\u003e2995\u003c/code\u003e :pr:\u003ccode\u003e3013\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e. :pr:\u003ccode\u003e3023\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. :issue:\u003ccode\u003e2447\u003c/code\u003e :pr:\u003ccode\u003e3058\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in \u003ccode\u003eCliRunner\u003c/code\u003e. :issue:\u003ccode\u003e2939\u003c/code\u003e :pr:\u003ccode\u003e2940\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.2.2\u003c/h2\u003e\n\u003cp\u003eReleased 2025-07-31\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reconciliation of \u003ccode\u003edefault\u003c/code\u003e, \u003ccode\u003eflag_value\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e parameters for\nflag options, as well as parsing and normalization of environment variables.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/1d038f270701498433cb432f54db89f95f07a845\"\u003e\u003ccode\u003e1d038f2\u003c/code\u003e\u003c/a\u003e release version 8.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/03f3889f505d0c9ca4f9d6810f9e4ba2799f2a66\"\u003e\u003ccode\u003e03f3889\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3141\"\u003e#3141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/3867781222cb63693ca67df94352d29d8e6e2770\"\u003e\u003ccode\u003e3867781\u003c/code\u003e\u003c/a\u003e Fix Ruff UP038 warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/b91bb9548a5617b1197add95e084d569f57149c3\"\u003e\u003ccode\u003eb91bb95\u003c/code\u003e\u003c/a\u003e Provide altered context to callbacks to hide \u003ccode\u003eUNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/437e1e3295c7ec979fc1bf285bb402ca20d847e7\"\u003e\u003ccode\u003e437e1e3\u003c/code\u003e\u003c/a\u003e Temporarily provide a fake context to the callback to hide \u003ccode\u003eUNSET\u003c/code\u003e values as ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/ea70da487b05d6bb758d472a3a9ffab4a5b7fcd5\"\u003e\u003ccode\u003eea70da4\u003c/code\u003e\u003c/a\u003e Don't test using a file in docs/ (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3102\"\u003e#3102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/e27b307462b725722f620c69dd1d5509c032d18a\"\u003e\u003ccode\u003ee27b307\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003euv run --all-extras pyright --verifytypes click\u003c/code\u003e pass (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3072\"\u003e#3072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/a92c573f3195c9da3058eadf1735d38af186d22c\"\u003e\u003ccode\u003ea92c573\u003c/code\u003e\u003c/a\u003e Fix test_edit to work with BSD sed (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3129\"\u003e#3129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/bd131e1ab63da2281d6dd9b8205ad2eb5...\n\n_Description has been truncated_","html_url":"https://github.com/magic-ai-trading-bot/bot-core/pull/76","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/magic-ai-trading-bot%2Fbot-core/issues/76","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/76/packages"}},{"old_version":"8.1.7","new_version":"8.1.8","update_type":"patch","path":null,"pr_created_at":"2025-11-24T04:21:57.000Z","version_change":"8.1.7 → 8.1.8","issue":{"uuid":"3657021932","node_id":"PR_kwDOAt0r8c61GfAp","number":3601,"state":"closed","title":"Bump the requirements group with 11 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-11-24T11:17:57.000Z","author_association":null,"state_reason":null,"created_at":"2025-11-24T04:21:57.000Z","updated_at":"2025-11-24T11:18:05.000Z","time_to_close":24960,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"requirements","update_count":11,"packages":[{"name":"numpy","old_version":"2.3.2","new_version":"2.3.5","repository_url":"https://github.com/numpy/numpy"},{"name":"ipywidgets","old_version":"8.1.7","new_version":"8.1.8","repository_url":"https://github.com/jupyter-widgets/ipywidgets"},{"name":"setuptools-scm","old_version":"8.3.1","new_version":"9.2.2","repository_url":"https://github.com/pypa/setuptools-scm"},{"name":"lmdb","old_version":"1.7.3","new_version":"1.7.5","repository_url":"https://github.com/jnwatson/py-lmdb"},{"name":"redis","old_version":"6.4.0","new_version":"7.1.0","repository_url":"https://github.com/redis/redis-py"},{"name":"pymongo","old_version":"4.14.0","new_version":"4.15.4","repository_url":"https://github.com/mongodb/mongo-python-driver"},{"name":"pytest-cov","old_version":"6.2.1","new_version":"7.0.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"pytest-doctestplus","old_version":"1.4.0","new_version":"1.6.0","repository_url":"https://github.com/scientific-python/pytest-doctestplus"},{"name":"h5py","old_version":"3.14.0","new_version":"3.15.1","repository_url":"https://github.com/h5py/h5py"},{"name":"fasteners","old_version":"0.19","new_version":"0.20","repository_url":"https://github.com/harlowja/fasteners"},{"name":"pytest","old_version":"8.4.1","new_version":"9.0.1","repository_url":"https://github.com/pytest-dev/pytest"}],"path":null,"ecosystem":"pip"},"body":"Bumps the requirements group with 11 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [numpy](https://github.com/numpy/numpy) | `2.3.2` | `2.3.5` |\n| [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) | `8.1.7` | `8.1.8` |\n| [setuptools-scm](https://github.com/pypa/setuptools-scm) | `8.3.1` | `9.2.2` |\n| [lmdb](https://github.com/jnwatson/py-lmdb) | `1.7.3` | `1.7.5` |\n| [redis](https://github.com/redis/redis-py) | `6.4.0` | `7.1.0` |\n| [pymongo](https://github.com/mongodb/mongo-python-driver) | `4.14.0` | `4.15.4` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `6.2.1` | `7.0.0` |\n| [pytest-doctestplus](https://github.com/scientific-python/pytest-doctestplus) | `1.4.0` | `1.6.0` |\n| [h5py](https://github.com/h5py/h5py) | `3.14.0` | `3.15.1` |\n| [fasteners](https://github.com/harlowja/fasteners) | `0.19` | `0.20` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.1` | `9.0.1` |\n\nUpdates `numpy` from 2.3.2 to 2.3.5\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.5 (Nov 16, 2025)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.3.5 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.3.5 release is a patch release split between a number of maintenance\nupdates and bug fixes. This release supports Python versions 3.11-3.14.\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eA total of 10 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\u003eAaron Kollasch +\u003c/li\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003eRafael Laboissière +\u003c/li\u003e\n\u003cli\u003eSayed Awad\u003c/li\u003e\n\u003cli\u003eSebastian Berg\u003c/li\u003e\n\u003cli\u003eWarren Weckesser\u003c/li\u003e\n\u003cli\u003eYasir Ashfaq +\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 16 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/29979\"\u003e#29979\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/30026\"\u003e#30026\u003c/a\u003e: SIMD, BLD: Backport FPMATH mode on x86-32 and filter successor...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30029\"\u003e#30029\u003c/a\u003e: MAINT: Backport write_release.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30041\"\u003e#30041\u003c/a\u003e: TYP: Various typing updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30059\"\u003e#30059\u003c/a\u003e: BUG: Fix np.strings.slice if stop=None or start and stop \u0026gt;= len...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30063\"\u003e#30063\u003c/a\u003e: BUG: Fix np.strings.slice if start \u0026gt; stop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30076\"\u003e#30076\u003c/a\u003e: BUG: avoid negating INT_MIN in PyArray_Round implementation (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30071\"\u003e#30071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30090\"\u003e#30090\u003c/a\u003e: BUG: Fix resize when it contains references (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29970\"\u003e#29970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30129\"\u003e#30129\u003c/a\u003e: BLD: update scipy-openblas, use -Dpkg_config_path (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30049\"\u003e#30049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30130\"\u003e#30130\u003c/a\u003e: BUG: Avoid compilation error of wrapper file generated with SWIG...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30157\"\u003e#30157\u003c/a\u003e: BLD: use scipy-openblas 0.3.30.7 (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30132\"\u003e#30132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30158\"\u003e#30158\u003c/a\u003e: DOC: Remove nonexistent \u003ccode\u003eorder\u003c/code\u003e parameter docs of \u003ccode\u003ema.asanyarray\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30185\"\u003e#30185\u003c/a\u003e: BUG: Fix check of PyMem_Calloc return value. (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30176\"\u003e#30176\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30217\"\u003e#30217\u003c/a\u003e: DOC: fix links for newly rebuilt numpy-tutorials site\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30218\"\u003e#30218\u003c/a\u003e: BUG: Fix build on s390x with clang (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30214\"\u003e#30214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/30237\"\u003e#30237\u003c/a\u003e: ENH: Make FPE blas check a runtime check for all apple arm systems\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.3.4 (Oct 15,  2025)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.3.4 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.3.4 release is a patch release split between a number of maintenance\nupdates and bug fixes. This release supports Python versions 3.11-3.14. This\nrelease is based on Python 3.14.0 final.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/c3d60fc8393f3ca3306b8ce8b6453d43737e3d90\"\u003e\u003ccode\u003ec3d60fc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30238\"\u003e#30238\u003c/a\u003e from charris/prepare-2.3.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/11451fa35d49d8c809cdef87106417833bdacfbe\"\u003e\u003ccode\u003e11451fa\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.3.5 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/eab5bd47df62782edceccf4cf99112851f7a8975\"\u003e\u003ccode\u003eeab5bd4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/30237\"\u003e#30237\u003c/a\u003e from charris/backport-30102\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7cea31aa6255994bcd17b3ee2f6dbf671eaa9598\"\u003e\u003ccode\u003e7cea31a\u003c/code\u003e\u003c/a\u003e Fixup merge of multiarraymodule.c\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/b8981736060011506e497c5bca24a75c5bddee39\"\u003e\u003ccode\u003eb898173\u003c/code\u003e\u003c/a\u003e Update numpy/_core/src/common/blas_utils.h\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/f755483d4858839044f159db7dacdf1818912393\"\u003e\u003ccode\u003ef755483\u003c/code\u003e\u003c/a\u003e Report FPE ignoring in matmul in \u003ccode\u003eshow_runtime()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/c47116f3858a2814222a7cd7b15ebc5eed9df4d0\"\u003e\u003ccode\u003ec47116f\u003c/code\u003e\u003c/a\u003e Move test to Python\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/bd7b93f105ddb3b3f200ceb6fb4516e7e87f3a81\"\u003e\u003ccode\u003ebd7b93f\u003c/code\u003e\u003c/a\u003e ooops, needs to be a calloc of course.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/83a1517159a2e33d05113e3341afb1df83ba615d\"\u003e\u003ccode\u003e83a1517\u003c/code\u003e\u003c/a\u003e Guard for HAVE_CBLAS and always compile the helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/ab680efe63a4f87078b7317742767581b8959d78\"\u003e\u003ccode\u003eab680ef\u003c/code\u003e\u003c/a\u003e ENH: Make FPE blas check a runtime check for all arm systems\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.3.2...v2.3.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ipywidgets` from 8.1.7 to 8.1.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/releases\"\u003eipywidgets's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd JupyterCon banner and jupyter colors by \u003ca href=\"https://github.com/choldgraf\"\u003e\u003ccode\u003e@​choldgraf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3998\"\u003ejupyter-widgets/ipywidgets#3998\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix badge formatting in README.md by \u003ca href=\"https://github.com/Carreau\"\u003e\u003ccode\u003e@​Carreau\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4000\"\u003ejupyter-widgets/ipywidgets#4000\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Plausible web stats by \u003ca href=\"https://github.com/jasongrout\"\u003e\u003ccode\u003e@​jasongrout\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4003\"\u003ejupyter-widgets/ipywidgets#4003\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate jupyterlab_widgets metadata to indicate it works with JupyterLab 4 by \u003ca href=\"https://github.com/jasongrout\"\u003e\u003ccode\u003e@​jasongrout\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/4004\"\u003ejupyter-widgets/ipywidgets#4004\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/choldgraf\"\u003e\u003ccode\u003e@​choldgraf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jupyter-widgets/ipywidgets/pull/3998\"\u003ejupyter-widgets/ipywidgets#3998\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\"\u003ehttps://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\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\u003eSee full diff in \u003ca href=\"https://github.com/jupyter-widgets/ipywidgets/compare/8.1.7...8.1.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `setuptools-scm` from 8.3.1 to 9.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/setuptools-scm/releases\"\u003esetuptools-scm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.2.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: don't warn about tool.setuptools.dynamic.version when only using file finder by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1232\"\u003epypa/setuptools-scm#1232\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/setuptools-scm/compare/v9.2.1...v9.2.2\"\u003ehttps://github.com/pypa/setuptools-scm/compare/v9.2.1...v9.2.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev9.2.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMark recently yanked versions in changelog by \u003ca href=\"https://github.com/seifertm\"\u003e\u003ccode\u003e@​seifertm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1209\"\u003epypa/setuptools-scm#1209\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix 1216 explicitly deprecate setuptools dynamic version when active by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1219\"\u003epypa/setuptools-scm#1219\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eprepare Release v9.2.1 by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1226\"\u003epypa/setuptools-scm#1226\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/seifertm\"\u003e\u003ccode\u003e@​seifertm\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1209\"\u003epypa/setuptools-scm#1209\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/setuptools-scm/compare/v9.2.0...v9.2.1\"\u003ehttps://github.com/pypa/setuptools-scm/compare/v9.2.0...v9.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev9.2.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereiterate version inference by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1202\"\u003epypa/setuptools-scm#1202\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003esimple activation now requires a extra instead of setting up many pre-existing projects for failure/error\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/setuptools-scm/compare/v9.1.1...v9.2.0\"\u003ehttps://github.com/pypa/setuptools-scm/compare/v9.1.1...v9.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev9.1.1 (yanked)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ehandle missing pyproject config in case version keyword is used by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1195\"\u003epypa/setuptools-scm#1195\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pypa/setuptools-scm/compare/v9.1.0...v9.1.1\"\u003ehttps://github.com/pypa/setuptools-scm/compare/v9.1.0...v9.1.1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eyanked after hitting regressions wrt legcy project setups triggering auto activate\u003c/p\u003e\n\u003ch2\u003ev9.1.0 (yanked)\u003c/h2\u003e\n\u003ch1\u003eyanked\u003c/h1\u003e\n\u003cp\u003ea regression makes some sdists report version 0.0.0\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereiterate version inference logic by \u003ca href=\"https://github.com/RonnyPfannschmidt\"\u003e\u003ccode\u003e@​RonnyPfannschmidt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/pull/1193\"\u003epypa/setuptools-scm#1193\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/pypa/setuptools-scm/blob/main/CHANGELOG.md\"\u003esetuptools-scm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.2.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1231\"\u003e#1231\u003c/a\u003e: don't warn about \u003ccode\u003etool.setuptools.dynamic.version\u003c/code\u003e when only using file finder.\nThe warning about combining version guessing with setuptools dynamic versions should only\nbe issued when setuptools-scm is performing version inference, not when it's only being\nused for its file finder functionality.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.2.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1216\"\u003e#1216\u003c/a\u003e: accept and create a warning for usages of \u003ccode\u003eversion = attr:\u003c/code\u003e in setuptools config.\nunfortunately dozens of projects cargo-culted that antipattern\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.2.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eadd simplified activation via \u003ccode\u003esetuptools-scm[simple]\u003c/code\u003e extra\u003c/p\u003e\n\u003cp\u003eA new streamlined way to enable version inference without requiring a \u003ccode\u003e[tool.setuptools_scm]\u003c/code\u003e section.\nWhen \u003ccode\u003esetuptools-scm[simple]\u003c/code\u003e is in \u003ccode\u003ebuild-system.requires\u003c/code\u003e and \u003ccode\u003eversion\u003c/code\u003e is in \u003ccode\u003eproject.dynamic\u003c/code\u003e,\nversion inference is automatically enabled with default settings.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eunchecked simplified activation - too many projects use setups where it would fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefine activation logic and add unittest for the relevant cases instead of trying to speedrun setuptools\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.1.1 (yanked)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1194\"\u003e#1194\u003c/a\u003e: correctly handle version keyword when pyproject metadata is missing\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.1.0 (yanked)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecomplete reiteration of the decision logic for enabling version inference on setuptools_scm\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/e56b78fcd4c1e79aa36c1e4700fca34c8ff540fe\"\u003e\u003ccode\u003ee56b78f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1232\"\u003e#1232\u003c/a\u003e from RonnyPfannschmidt/fix-1231-dont-warn-when-no-guess\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/4f55e9585e398e13103112a6fd488109d9da4ead\"\u003e\u003ccode\u003e4f55e95\u003c/code\u003e\u003c/a\u003e docs: update changelog for v9.2.2 patch release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/95a0c47553ea0b373238bb64aa344b2c2547c849\"\u003e\u003ccode\u003e95a0c47\u003c/code\u003e\u003c/a\u003e fix: don't warn about tool.setuptools.dynamic.version when only using file fi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/338f562e6a38f8d32fd5aeb4677b3f87fc5a0122\"\u003e\u003ccode\u003e338f562\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1226\"\u003e#1226\u003c/a\u003e from RonnyPfannschmidt/prepare-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/a893634c36a074052ed3f6d0e77b076b582c72ab\"\u003e\u003ccode\u003ea893634\u003c/code\u003e\u003c/a\u003e Prepare release v9.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/ad83282242e96fe11c958227740ee03a7a2ed0fe\"\u003e\u003ccode\u003ead83282\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1225\"\u003e#1225\u003c/a\u003e from pypa/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/20a44648f299f64b1241a448bdbafde9b1871ebf\"\u003e\u003ccode\u003e20a4464\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/70f69429c40f8c8d3c4e0eec2d8b4a6794671c88\"\u003e\u003ccode\u003e70f6942\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/setuptools-scm/issues/1219\"\u003e#1219\u003c/a\u003e from RonnyPfannschmidt/fix-1216-explicitly-deprecate...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/14d85c0fb8fa9efd1ec4bac3413f48aea0e319f5\"\u003e\u003ccode\u003e14d85c0\u003c/code\u003e\u003c/a\u003e Install Mercurial on Windows runners via Chocolatey\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/setuptools-scm/commit/8c5cec917123e4cc87b490f56b6e7af27a3b0399\"\u003e\u003ccode\u003e8c5cec9\u003c/code\u003e\u003c/a\u003e Fix API stability check workflow to install griffe and improve reporting\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/setuptools-scm/compare/v8.3.1...v9.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lmdb` from 1.7.3 to 1.7.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jnwatson/py-lmdb/blob/master/ChangeLog\"\u003elmdb's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e2025-10-14 1.7.5\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCI-only: Fix generation of 3.14 binaries.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e2025-10-14 1.7.4 -- yanked\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCI-only: Generate Python 3.14 binaries.\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/jnwatson/py-lmdb/commit/4e5c2ebf47ff1da60c01254bfdcac116c893abfc\"\u003e\u003ccode\u003e4e5c2eb\u003c/code\u003e\u003c/a\u003e Bump version to 1.7.5 for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnwatson/py-lmdb/commit/9c7dd9212d20512ced2c5aae593508ab592433bd\"\u003e\u003ccode\u003e9c7dd92\u003c/code\u003e\u003c/a\u003e Update cibuildwheel version to build 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnwatson/py-lmdb/commit/aa5a921430374e9ee11f5d36d0c3f408a494e9a0\"\u003e\u003ccode\u003eaa5a921\u003c/code\u003e\u003c/a\u003e Fix android issue (\u003ca href=\"https://redirect.github.com/jnwatson/py-lmdb/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnwatson/py-lmdb/commit/d46f05741b2d8d60a3b8b07d6550de356075149d\"\u003e\u003ccode\u003ed46f057\u003c/code\u003e\u003c/a\u003e Bump version to 1.7.4 for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnwatson/py-lmdb/commit/28105a344da9e99078994277ed4dc0f13249fcc8\"\u003e\u003ccode\u003e28105a3\u003c/code\u003e\u003c/a\u003e Update CI for Python 3.14\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jnwatson/py-lmdb/compare/py-lmdb_1.7.3...py-lmdb_1.7.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `redis` from 6.4.0 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/redis/redis-py/releases\"\u003eredis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.1.0\u003c/h2\u003e\n\u003ch1\u003eChanges\u003c/h1\u003e\n\u003ch2\u003e🚀 New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdding MSETEX command support. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3823\"\u003e#3823\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding CLAIM option to XREADGROUP command + unit tests (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3825\"\u003e#3825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eApply routing and response aggregation policies in OSS Cluster mode (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3834\"\u003e#3834\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Experimental Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdding support for CAS/CAD commands. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3837\"\u003e#3837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding support for HYBRID search. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3813\"\u003e#3813\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3843\"\u003e#3843\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🔥 Breaking changes (in experimental features)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace default health check and failure detector with custom (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3822\"\u003e#3822\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd **options to parse functions for sentinel (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3831\"\u003e#3831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenerating unique command cache key (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3765\"\u003e#3765\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdding Redis 8.4 RC1 image to test matrix. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3820\"\u003e#3820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove Python 3.9 support. Add Python 3.14 support. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3814\"\u003e#3814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSync readme with 7.0.1 and update lib version to latest stable released version - 7.0.1 (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3821\"\u003e#3821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump rojopolis/spellcheck-github-actions from 0.52.0 to 0.53.0 (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3827\"\u003e#3827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump actions/upload-artifact from 4 to 5 (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3828\"\u003e#3828\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump github/codeql-action from 3 to 4 (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3829\"\u003e#3829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixing flaky tests (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3833\"\u003e#3833\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3838\"\u003e#3838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate 8.4 RC image tag to 8.4-RC1-pre.2 for pipeline test matrix (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3832\"\u003e#3832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing f-string when returning an error. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3841\"\u003e#3841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdding latest 8.4 image to test matrix. Updating the Hybrid VSIM query format to be in sync with spec after srv issue was fixed. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3843\"\u003e#3843\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand cluster READ_COMMANDS with additional read-only commands and reorganize the list of commands by category (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3845\"\u003e#3845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Type Hints for List Command Parameters from str to KeyT (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3848\"\u003e#3848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanging log level to be debug for failed maintenance notification enablement when enabled='auto' (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3851\"\u003e#3851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded custom event handler section (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3853\"\u003e#3853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanging current version to 8.4 as it is already GA (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3854\"\u003e#3854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWe'd like to thank all the contributors who worked on this release!\n\u003ca href=\"https://github.com/ShubhamKaudewar\"\u003e\u003ccode\u003e@​ShubhamKaudewar\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/matthewwiese\"\u003e\u003ccode\u003e@​matthewwiese\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/peperon\"\u003e\u003ccode\u003e@​peperon\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vladvildanov\"\u003e\u003ccode\u003e@​vladvildanov\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/petyaslavova\"\u003e\u003ccode\u003e@​petyaslavova\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e7.0.1\u003c/h2\u003e\n\u003ch1\u003eChanges\u003c/h1\u003e\n\u003cp\u003eThis release adds small fixes related to documentation.\u003c/p\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd 'multi_database' section to documentation index (313d93f)\u003c/li\u003e\n\u003cli\u003eRevised multi-database client documentation(78df745)\u003c/li\u003e\n\u003cli\u003eAdding info about Multi-database client in README.md (3f7a55e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/f7c1755d732a677e0eb05e74e46520115c087153\"\u003e\u003ccode\u003ef7c1755\u003c/code\u003e\u003c/a\u003e Changing current version to 8.4 as it is already GA (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3854\"\u003e#3854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/2235cc76d59a009d546e773d959261503ec3568e\"\u003e\u003ccode\u003e2235cc7\u003c/code\u003e\u003c/a\u003e Added custom event handler section (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3853\"\u003e#3853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/8cc50a5bc9cb972354e17fd9cd8b8542a6f1e4f5\"\u003e\u003ccode\u003e8cc50a5\u003c/code\u003e\u003c/a\u003e Changing log level to be debug for failed maintenance notification enablement...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/d1769a2e2b66c7cd0067358db10db1cc26b2967a\"\u003e\u003ccode\u003ed1769a2\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3612\"\u003e#3612\u003c/a\u003e Generating unique command cache key (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3765\"\u003e#3765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/b49dce1ff0f38c38a5fb89b3f332e84eae8186cb\"\u003e\u003ccode\u003eb49dce1\u003c/code\u003e\u003c/a\u003e Update Type Hints for List Command Parameters from str to KeyT (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3848\"\u003e#3848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/46ff0426550d65e51c7686fa0e12e8954d5d1bcd\"\u003e\u003ccode\u003e46ff042\u003c/code\u003e\u003c/a\u003e Expand cluster READ_COMMANDS with additional read-only commands and reorganiz...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/dc476754600e480dd29a16a2290db5a442114b33\"\u003e\u003ccode\u003edc47675\u003c/code\u003e\u003c/a\u003e Updating lib version to 7.1.0 and added note in README that Python 3.9 suppor...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/f026c1e66be68dc18d89e60bd54c5032bd927680\"\u003e\u003ccode\u003ef026c1e\u003c/code\u003e\u003c/a\u003e Adding latest 8.4 image to test matrix. Updating the Hybrid VSIM query format...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/a5ab18fb76522cb1341c81e0032d29df87c85013\"\u003e\u003ccode\u003ea5ab18f\u003c/code\u003e\u003c/a\u003e Adding support for HYBRID search. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3813\"\u003e#3813\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-py/commit/e6fb50506967dbdd6e8c334190c32651ebea1506\"\u003e\u003ccode\u003ee6fb505\u003c/code\u003e\u003c/a\u003e Adding support for CAS/CAD commands. (\u003ca href=\"https://redirect.github.com/redis/redis-py/issues/3837\"\u003e#3837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/redis/redis-py/compare/v6.4.0...v7.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymongo` from 4.14.0 to 4.15.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mongodb/mongo-python-driver/releases\"\u003epymongo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePyMongo 4.15.4\u003c/h2\u003e\n\u003cp\u003eCommunity notes: \u003ca href=\"https://www.mongodb.com/community/forums/t/pymongo-4-15-4-released/331292\"\u003ehttps://www.mongodb.com/community/forums/t/pymongo-4-15-4-released/331292\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePyMongo 4.15.3\u003c/h2\u003e\n\u003cp\u003eCommunity notes: \u003ca href=\"https://www.mongodb.com/community/forums/t/pymongo-4-15-3-released/329778\"\u003ehttps://www.mongodb.com/community/forums/t/pymongo-4-15-3-released/329778\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePyMongo 4.15.2\u003c/h2\u003e\n\u003cp\u003eCommunity notes: \u003ca href=\"https://www.mongodb.com/community/forums/t/pymongo-4-15-2-released/329543\"\u003ehttps://www.mongodb.com/community/forums/t/pymongo-4-15-2-released/329543\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePyMongo 4.15.1\u003c/h2\u003e\n\u003cp\u003eCommunity notes: \u003ca href=\"https://www.mongodb.com/community/forums/t/pymongo-4-15-1-released/328837\"\u003ehttps://www.mongodb.com/community/forums/t/pymongo-4-15-1-released/328837\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePyMongo 4.15.0\u003c/h2\u003e\n\u003cp\u003eCommunity notes: \u003ca href=\"https://www.mongodb.com/community/forums/t/pymongo-4-15-released/328574\"\u003ehttps://www.mongodb.com/community/forums/t/pymongo-4-15-released/328574\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePyMongo 4.14.1\u003c/h2\u003e\n\u003cp\u003eCommunity notes: \u003ca href=\"https://www.mongodb.com/community/forums/t/pymongo-4-14-1-released/327511\"\u003ehttps://www.mongodb.com/community/forums/t/pymongo-4-14-1-released/327511\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/mongodb/mongo-python-driver/blob/master/doc/changelog.rst\"\u003epymongo's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges in Version 4.15.4 (2025/10/21)\u003c/h2\u003e\n\u003cp\u003eVersion 4.15.4 is a bug fix release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRelaxed the callback type of :meth:\u003ccode\u003e~pymongo.asynchronous.client_session.AsyncClientSession.with_transaction\u003c/code\u003e to allow the broader Awaitable type rather than only Coroutine objects.\u003c/li\u003e\n\u003cli\u003eAdded the missing Python 3.14 trove classifier to the package metadata.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIssues Resolved\n...............\u003c/p\u003e\n\u003cp\u003eSee the \u003ccode\u003ePyMongo 4.15.4 release notes in JIRA\u003c/code\u003e_ for the list of resolved issues\nin this release.\u003c/p\u003e\n\u003cp\u003e.. _PyMongo 4.15.4 release notes in JIRA: \u003ca href=\"https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004\u0026amp;version=47237\"\u003ehttps://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004\u0026amp;version=47237\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eChanges in Version 4.15.3 (2025/10/07)\u003c/h2\u003e\n\u003cp\u003eVersion 4.15.3 is a bug fix release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a memory leak when raising :class:\u003ccode\u003ebson.errors.InvalidDocument\u003c/code\u003e with C extensions.\u003c/li\u003e\n\u003cli\u003eFixed the return type of the  :meth:\u003ccode\u003e~pymongo.asynchronous.collection.AsyncCollection.distinct\u003c/code\u003e,\n:meth:\u003ccode\u003e~pymongo.synchronous.collection.Collection.distinct\u003c/code\u003e, :meth:\u003ccode\u003epymongo.asynchronous.cursor.AsyncCursor.distinct\u003c/code\u003e,\nand :meth:\u003ccode\u003epymongo.asynchronous.cursor.AsyncCursor.distinct\u003c/code\u003e methods.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIssues Resolved\n...............\u003c/p\u003e\n\u003cp\u003eSee the \u003ccode\u003ePyMongo 4.15.3 release notes in JIRA\u003c/code\u003e_ for the list of resolved issues\nin this release.\u003c/p\u003e\n\u003cp\u003e.. _PyMongo 4.15.3 release notes in JIRA: \u003ca href=\"https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004\u0026amp;version=47293\"\u003ehttps://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004\u0026amp;version=47293\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eChanges in Version 4.15.2 (2025/10/01)\u003c/h2\u003e\n\u003cp\u003eVersion 4.15.2 is a bug fix release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd wheels for Python 3.14 and 3.14t that were missing from 4.15.0 release. Drop the 3.13t wheel.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIssues Resolved\n...............\u003c/p\u003e\n\u003cp\u003eSee the \u003ccode\u003ePyMongo 4.15.2 release notes in JIRA\u003c/code\u003e_ for the list of resolved issues\nin this release.\u003c/p\u003e\n\u003cp\u003e.. _PyMongo 4.15.2 release notes in JIRA: \u003ca href=\"https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004\u0026amp;version=47186\"\u003ehttps://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004\u0026amp;version=47186\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eChanges in Version 4.15.1 (2025/09/16)\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/mongodb/mongo-python-driver/commit/07d51b10a3f90857549dcf2c06a168dc9e30396e\"\u003e\u003ccode\u003e07d51b1\u003c/code\u003e\u003c/a\u003e PYTHON-5639 Prep for 4.15.4 release (\u003ca href=\"https://redirect.github.com/mongodb/mongo-python-driver/issues/2614\"\u003e#2614\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mongodb/mongo-python-driver/commit/477217f6667a6cf28bc33f059b4092cbdb5c463f\"\u003e\u003ccode\u003e477217f\u003c/code\u003e\u003c/a\u003e [TASK]-[PYTHON-5623]: [v4.15] Change with_transaction callback return type to...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mongodb/mongo-python-driver/commit/f3ea3738bf4ebd67e88c6a78ad3f42a7b76e3a59\"\u003e\u003ccode\u003ef3ea373\u003c/code\u003e\u003c/a\u003e PYTHON-5624 - Add Python 3.14 trove classifier (\u003ca href=\"https://redirect.github.com/mongodb/mongo-python-driver/issues/2593\"\u003e#2593\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mongodb/mongo-python-driver/commit/a5a50a89df8c293c8268c3369d2fc4a129bbbc14\"\u003e\u003ccode\u003ea5a50a8\u003c/code\u003e\u003c/a\u003e BUMP 4.15.4.dev0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mongodb/mongo-python-driver/commit/611681140700c774d606d0cc1bce288b2b6683f8\"\u003e\u003ccode\u003e6116811\u003c/code\u003e\u003c/a\u003e PYTHON-5609 Prepare for 4.15.3 Release (\u003ca href=\"https://redirect.github.com/mongodb/mongo-python-driver/issues/2584\"\u003e#2584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mongodb/mongo-python-driver/commit/fef10d26aa52d2ccab82c8b74e730b3ef3187692\"\u003e\u003ccode\u003efef10d2\u003c/code\u003e\u003c/a\u003e PYTHON-5596 Fix return type for distinct methods (\u003ca href=\"https://redirect.github.com/mongodb/mongo-python-driver/issues/2576\"\u003e#2576\u003c/a\u003e) [v4.15] (\u003ca href=\"https://redirect.github.com/mongodb/mongo-python-driver/issues/2583\"\u003e#2583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mongodb/mongo-python-driver/commit/039c35ba63a2479536975c42bd9eed5d9308c4ca\"\u003e\u003ccode\u003e039c35b\u003c/code\u003e\u003c/a\u003e [v4.15] PYTHON-5571 - Fix memory leak when raising InvalidDocument with C ext...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mongodb/mongo-python-driver/commit/a71c96d2ed1a0bfe03d96abed0b2f93dc985febf\"\u003e\u003ccode\u003ea71c96d\u003c/code\u003e\u003c/a\u003e BUMP 4.15.3.dev0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mongodb/mongo-python-driver/commit/eda41f3e872b0c777c1d8b83322ed4d05702cb82\"\u003e\u003ccode\u003eeda41f3\u003c/code\u003e\u003c/a\u003e final preparation for v4.15.2 release (\u003ca href=\"https://redirect.github.com/mongodb/mongo-python-driver/issues/2569\"\u003e#2569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mongodb/mongo-python-driver/commit/f33e832beb436d2456138fad2a548cf730c3b5e1\"\u003e\u003ccode\u003ef33e832\u003c/code\u003e\u003c/a\u003e PYTHON-5584 Add wheels for Python 3.14 and 3.14t (\u003ca href=\"https://redirect.github.com/mongodb/mongo-python-driver/issues/2568\"\u003e#2568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mongodb/mongo-python-driver/compare/4.14.0...4.15.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-cov` from 6.2.1 to 7.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst\"\u003epytest-cov's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.0 (2025-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDropped support for subprocesses measurement.\u003c/p\u003e\n\u003cp\u003eIt was a feature added long time ago when coverage lacked a nice way to measure subprocesses created in tests.\nIt relied on a \u003ccode\u003e.pth\u003c/code\u003e file, there was no way to opt-out and it created bad interations\nwith \u003ccode\u003ecoverage's new patch system \u0026lt;https://coverage.readthedocs.io/en/latest/config.html#run-patch\u0026gt;\u003c/code\u003e_ added\nin \u003ccode\u003e7.10 \u0026lt;https://coverage.readthedocs.io/en/7.10.6/changes.html#version-7-10-0-2025-07-24\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003cp\u003eTo migrate to this release you might need to enable the suprocess patch, example for \u003ccode\u003e.coveragerc\u003c/code\u003e:\u003c/p\u003e\n\u003cp\u003e.. code-block:: ini\u003c/p\u003e\n\u003cp\u003e[run]\npatch = subprocess\u003c/p\u003e\n\u003cp\u003eThis release also requires at least coverage 7.10.6.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSwitched packaging to have metadata completely in \u003ccode\u003epyproject.toml\u003c/code\u003e and use \u003ccode\u003ehatchling \u0026lt;https://pypi.org/project/hatchling/\u0026gt;\u003c/code\u003e_ for\nbuilding.\nContributed by Ofek Lev in \u003ccode\u003e[#551](https://github.com/pytest-dev/pytest-cov/issues/551) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/551\u0026gt;\u003c/code\u003e_\nwith some extras in \u003ccode\u003e[#716](https://github.com/pytest-dev/pytest-cov/issues/716) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/716\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemoved some not really necessary testing deps like \u003ccode\u003esix\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.3.0 (2025-09-06)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for markdown reports.\nContributed by Marcos Boger in \u003ccode\u003e[#712](https://github.com/pytest-dev/pytest-cov/issues/712) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/712\u0026gt;\u003c/code\u003e_\nand \u003ccode\u003e[#714](https://github.com/pytest-dev/pytest-cov/issues/714) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/714\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003cli\u003eFixed some formatting issues in docs.\nAnonymous contribution in \u003ccode\u003e[#706](https://github.com/pytest-dev/pytest-cov/issues/706) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/706\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/224d8964caad90074a8cf6dc8720b8f70f31629b\"\u003e\u003ccode\u003e224d896\u003c/code\u003e\u003c/a\u003e Bump version: 6.3.0 → 7.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/73424e3999f865eac72e27f09d5fe11b9703cfd6\"\u003e\u003ccode\u003e73424e3\u003c/code\u003e\u003c/a\u003e Cleanup the docs a bit.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/36f1cc2967831dbd4c8aa70086fc86dc495f8b9a\"\u003e\u003ccode\u003e36f1cc2\u003c/code\u003e\u003c/a\u003e Bump pins in template.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/f299c590a63a48e51e3ae949993dc7bb1f1d480d\"\u003e\u003ccode\u003ef299c59\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/25f0b2e0cdbc345c0d3e49170f7a328c3e0d805f\"\u003e\u003ccode\u003e25f0b2e\u003c/code\u003e\u003c/a\u003e Update docs/config.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/bb23eacc5531fb8f499213d8420407e0d72f88e3\"\u003e\u003ccode\u003ebb23eac\u003c/code\u003e\u003c/a\u003e Improve configuration docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/a19531e91e1ab753ccf648a2d9bab08a6fddebb9\"\u003e\u003ccode\u003ea19531e\u003c/code\u003e\u003c/a\u003e Switch from build/pre-commit to uv/prek - this should make this faster.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/82f999391073f2fb8ae422af452602f310086a2a\"\u003e\u003ccode\u003e82f9993\u003c/code\u003e\u003c/a\u003e Update changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/211b5cd41c29916bc643b4a11b00578ba4fd6fe8\"\u003e\u003ccode\u003e211b5cd\u003c/code\u003e\u003c/a\u003e Fix links.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/97aadd74bcbc00a2078d240e8fe871dd62b83d80\"\u003e\u003ccode\u003e97aadd7\u003c/code\u003e\u003c/a\u003e Update some ci config, reformat and apply some lint fixes.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-cov/compare/v6.2.1...v7.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-doctestplus` from 1.4.0 to 1.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/releases\"\u003epytest-doctestplus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTST: Catch ResourceWarning under bad combo by \u003ca href=\"https://github.com/pllim\"\u003e\u003ccode\u003e@​pllim\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/307\"\u003escientific-python/pytest-doctestplus#307\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: move on from deprecated macos image by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/309\"\u003escientific-python/pytest-doctestplus#309\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTST: Debug and fix new Windows + Python 3.14 failure (try 2) by \u003ca href=\"https://github.com/pllim\"\u003e\u003ccode\u003e@​pllim\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/310\"\u003escientific-python/pytest-doctestplus#310\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBUG: Fix directives that do not have any content by \u003ca href=\"https://github.com/seberg\"\u003e\u003ccode\u003e@​seberg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/311\"\u003escientific-python/pytest-doctestplus#311\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure skipped doctest are visible by \u003ca href=\"https://github.com/lagru\"\u003e\u003ccode\u003e@​lagru\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/312\"\u003escientific-python/pytest-doctestplus#312\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/lagru\"\u003e\u003ccode\u003e@​lagru\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/312\"\u003escientific-python/pytest-doctestplus#312\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/compare/v1.5.0...v1.6.0\"\u003ehttps://github.com/scientific-python/pytest-doctestplus/compare/v1.5.0...v1.6.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.5.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eintroduced option to specify file encoding by \u003ca href=\"https://github.com/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/284\"\u003escientific-python/pytest-doctestplus#284\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTST: adding new python version to the fail list by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/289\"\u003escientific-python/pytest-doctestplus#289\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: exclude bots from release notes by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/290\"\u003escientific-python/pytest-doctestplus#290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMAINT: xfailing test now passes with new version by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/293\"\u003escientific-python/pytest-doctestplus#293\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: adding deprecation filterwarning for pytest-asyncio by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/294\"\u003escientific-python/pytest-doctestplus#294\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTST: new python version out, new xfail for the test by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/295\"\u003escientific-python/pytest-doctestplus#295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: adding Python 3.14 for testing by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/300\"\u003escientific-python/pytest-doctestplus#300\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: adding more versions to the matrix by \u003ca href=\"https://github.com/bsipocz\"\u003e\u003ccode\u003e@​bsipocz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/306\"\u003escientific-python/pytest-doctestplus#306\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/d-chris\"\u003e\u003ccode\u003e@​d-chris\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/pull/284\"\u003escientific-python/pytest-doctestplus#284\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/compare/v1.4.0...v1.5.0\"\u003ehttps://github.com/scientific-python/pytest-doctestplus/compare/v1.4.0...v1.5.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/scientific-python/pytest-doctestplus/blob/main/CHANGES.rst\"\u003epytest-doctestplus's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.6.0 (2025-11-20)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixing directives that should not have any content and therefore fixing\npreviously crashing sphinx builds. Using these directives with a content\nnow results an error. \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/issues/311\"\u003e#311\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure that tests skipped with \u003ccode\u003e__doctest_skip__\u003c/code\u003e and\n\u003ccode\u003e__doctest_requires__\u003c/code\u003e show up as skipped tests in Pytest's output. \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/issues/312\"\u003e#312\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.5.0 (2025-10-17)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdding the usage of the \u003ccode\u003edoctest_encoding\u003c/code\u003e ini option when overwriting\nfiles with the \u003ccode\u003edoctest-plus-generate-diff\u003c/code\u003e option. \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/issues/284\"\u003e#284\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/scientific-python/pytest-doctestplus/commit/720babcfb72d3aedcd62d8eda14ca75f95bef3fa\"\u003e\u003ccode\u003e720babc\u003c/code\u003e\u003c/a\u003e Finalizing changelog for v1.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/commit/a90cca350bcd543a22312762c6f3576e01254342\"\u003e\u003ccode\u003ea90cca3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/issues/312\"\u003e#312\u003c/a\u003e from lagru/show-import-skips\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/commit/666e38d25ad439dca1a4fa080193cd78e4c80ff1\"\u003e\u003ccode\u003e666e38d\u003c/code\u003e\u003c/a\u003e Assert that importorskip does not affect locals()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/commit/e3a4df4710be6f2a9e78154c78038b20c4f1a72b\"\u003e\u003ccode\u003ee3a4df4\u003c/code\u003e\u003c/a\u003e Note this fix in CHANGES.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/commit/606a629830a7e60fe4676135dc692593c2961a1b\"\u003e\u003ccode\u003e606a629\u003c/code\u003e\u003c/a\u003e Cleanup temporary hidden variable too\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/commit/3188e5ba9b02d3f6054d2748e492c550e3530412\"\u003e\u003ccode\u003e3188e5b\u003c/code\u003e\u003c/a\u003e Ensure skipped doctest are visible\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/commit/a93f85937fe6407430aebc9e50a4be97ecec6892\"\u003e\u003ccode\u003ea93f859\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/issues/311\"\u003e#311\u003c/a\u003e from seberg/fix-directives\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/commit/ec76b0b0fd76225961f9be8cf0061c9e52b2bae7\"\u003e\u003ccode\u003eec76b0b\u003c/code\u003e\u003c/a\u003e Also fixup the docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/commit/d2b6b0a7ae9f43ede91f8dcd9f7395e6fe174140\"\u003e\u003ccode\u003ed2b6b0a\u003c/code\u003e\u003c/a\u003e BUG: Fix directives that do not have any content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/commit/5af936ad6bda3513de51cdd8d4383e2e591397ca\"\u003e\u003ccode\u003e5af936a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scientific-python/pytest-doctestplus/issues/310\"\u003e#310\u003c/a\u003e from pllim/fix-win-py314-pt2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/scientific-python/pytest-doctestplus/compare/v1.4.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 `h5py` from 3.14.0 to 3.15.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/h5py/h5py/releases\"\u003eh5py's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.15.1\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003e3.15.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.h5py.org/en/latest/whatsnew/3.15.html\"\u003ehttps://docs.h5py.org/en/latest/whatsnew/3.15.html\u003c/a\u003e for release notes\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/h5py/h5py/commit/fad034c16f595cb24f4393bbd0dcd23c53bc9a33\"\u003e\u003ccode\u003efad034c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/h5py/h5py/issues/2727\"\u003e#2727\u003c/a\u003e from takluyver/prepare-3.15.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/435015dd3b3ff0ed1f9eb785fb3c42852b0120df\"\u003e\u003ccode\u003e435015d\u003c/code\u003e\u003c/a\u003e Version number -\u0026gt; 3.15.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/3cf3343435316f72e9e6dace114caf3c3c01e12a\"\u003e\u003ccode\u003e3cf3343\u003c/code\u003e\u003c/a\u003e Add release note for 3.15.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/c4d3394a422e5c4d0cc1374e491d180d9faacbfc\"\u003e\u003ccode\u003ec4d3394\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/h5py/h5py/issues/2725\"\u003e#2725\u003c/a\u003e from crusaderky/test_lowlevel_vds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/a0a707f3bc8c280492b70e0ea2b065b35d851f2c\"\u003e\u003ccode\u003ea0a707f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/h5py/h5py/issues/2722\"\u003e#2722\u003c/a\u003e from neutrinoceros/whl/fix-hdf5-macosx-deployment-ta...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/b30f4fa7b4731e41ac42d040ecfa242f34d9bba3\"\u003e\u003ccode\u003eb30f4fa\u003c/code\u003e\u003c/a\u003e WHL: build HDF5 with backward compatible system APIs on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/eff7fa8a5973fb7893c1e99ef1db491c626cc749\"\u003e\u003ccode\u003eeff7fa8\u003c/code\u003e\u003c/a\u003e TST: File hygiene in test_lowlevel_vds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/dffdd1a7c0f514a7fef5865e58bd3b0269447b3f\"\u003e\u003ccode\u003edffdd1a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/h5py/h5py/issues/2723\"\u003e#2723\u003c/a\u003e from takluyver/ci/gh-release-non-draft\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/9f675940af1d385fe0cb244c3ed43b1d101d19c3\"\u003e\u003ccode\u003e9f67594\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/h5py/h5py/issues/2724\"\u003e#2724\u003c/a\u003e from h5py/dependabot/github_actions/actions-e74af9633e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h5py/h5py/commit/0e8285793020c391eb774686e6fab5e07154404d\"\u003e\u003ccode\u003e0e82857\u003c/code\u003e\u003c/a\u003e Build(deps): Bump softprops/action-gh-release in the actions group\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/h5py/h5py/compare/3.14.0...3.15.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fasteners` from 0.19 to 0.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/harlowja/fasteners/releases\"\u003efasteners's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInterProcessLock now catches OSError and handles BlockingIOError correctly.\u003c/li\u003e\n\u003cli\u003eRemove support for python 3.8, python 3.9 and pypy 3.9. It should still work,\nbut is no longer tested.\u003c/li\u003e\n\u003cli\u003eAdd support for python 3.12, 3.13 and pypy 3.11.\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/harlowja/fasteners/blob/main/CHANGELOG.md\"\u003efasteners's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.20]\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInterProcessLock now catches OSError and handles BlockingIOError correctly.\u003c/li\u003e\n\u003cli\u003eRemove support for python 3.8, python 3.9 and pypy 3.9. It should still work,\nbut is no longer tested.\u003c/li\u003e\n\u003cli\u003eAdd support for python 3.12, 3.13 and pypy 3.11.\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/harlowja/fasteners/commit/87839f4acc6660856c67963b128dedd84e94907d\"\u003e\u003ccode\u003e87839f4\u003c/code\u003e\u003c/a\u003e Release 0.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/harlowja/fasteners/commit/559e58654a5587dd5a8247e979179f80af1ba727\"\u003e\u003ccode\u003e559e586\u003c/code\u003e\u003c/a\u003e Use uv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/harlowja/fasteners/commit/59edee2438b89f54eb0e372441face03a97c6689\"\u003e\u003ccode\u003e59edee2\u003c/code\u003e\u003c/a\u003e Update licence fields in pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/harlowja/fasteners/commit/433df5df95de7c79f3d993e5f0511e3bfa2752a5\"\u003e\u003ccode\u003e433df5d\u003c/code\u003e\u003c/a\u003e update docs build github action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/harlowja/fasteners/commit/fb2206259297ef70cccaa679499582dfbbea2fd5\"\u003e\u003ccode\u003efb22062\u003c/code\u003e\u003c/a\u003e Catch OSError in the InterProcessLock (\u003ca href=\"https://redirect.github.com/harlowja/fasteners/issues/123\"\u003e#123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/harlowja/fasteners/commit/3f114f01ca775db3e78b20a0e54ca561c5d31eb0\"\u003e\u003ccode\u003e3f114f0\u003c/code\u003e\u003c/a\u003e Update CI python versions (\u003ca href=\"https://redirect.github.com/harlowja/fasteners/issues/120\"\u003e#120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/harlowja/fasteners/compare/0.19...0.20\"\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.1 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.1...9.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/zarr-developers/zarr-python/pull/3601","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/zarr-developers%2Fzarr-python/issues/3601","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3601/packages"}},{"old_version":"8.1.7","new_version":"8.1.8","update_type":"patch","path":null,"pr_created_at":"2025-11-17T18:59:44.000Z","version_change":"8.1.7 → 8.1.8","issue":{"uuid":"3634630258","node_id":"PR_kwDOHTdvBs6z7O3d","number":1379,"state":"open","title":"deps(ibis): bump the all group across 1 directory with 30 updates","user":"dependabot[bot]","labels":["ibis","dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-11-17T18:59:44.000Z","updated_at":"2025-11-17T19:00:20.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(ibis): bump","group_name":"all","update_count":30,"packages":[{"name":"fastapi","old_version":"0.120.1","new_version":"0.121.2","repository_url":"https://github.com/fastapi/fastapi"},{"name":"pydantic","old_version":"2.10.6","new_version":"2.12.4","repository_url":"https://github.com/pydantic/pydantic"},{"name":"google-auth","old_version":"2.38.0","new_version":"2.43.0","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"python-dotenv","old_version":"1.0.1","new_version":"1.2.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"orjson","old_version":"3.10.16","new_version":"3.11.4","repository_url":"https://github.com/ijl/orjson"},{"name":"geoalchemy2","old_version":"0.17.1","new_version":"0.18.0","repository_url":"https://github.com/geoalchemy/geoalchemy2"},{"name":"gql","old_version":"3.5.2","new_version":"4.0.0","repository_url":"https://github.com/graphql-python/gql"},{"name":"anyio","old_version":"4.10.0","new_version":"4.11.0","repository_url":"https://github.com/agronholm/anyio"},{"name":"duckdb","old_version":"1.3.2","new_version":"1.4.2","repository_url":"https://github.com/duckdb/duckdb-python"},{"name":"oracledb","old_version":"3.3.0","new_version":"3.4.1","repository_url":"https://github.com/oracle/python-oracledb"},{"name":"uvicorn","old_version":"0.35.0","new_version":"0.38.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"uvicorn-worker","old_version":"0.3.0","new_version":"0.4.0","repository_url":"https://github.com/Kludex/uvicorn-worker"},{"name":"redshift-connector","old_version":"2.1.7","new_version":"2.1.9","repository_url":"https://github.com/aws/amazon-redshift-python-driver"},{"name":"datafusion","old_version":"47.0.0","new_version":"50.1.0","repository_url":"https://github.com/apache/datafusion-python"},{"name":"starlette","old_version":"0.49.1","new_version":"0.49.3","repository_url":"https://github.com/Kludex/starlette"},{"name":"databricks-sql-connector","old_version":"4.1.4","new_version":"4.2.0","repository_url":"https://github.com/databricks/databricks-sql-python"},{"name":"jupyterlab","old_version":"4.4.9","new_version":"4.4.10","repository_url":"https://github.com/jupyterlab/jupyterlab"},{"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":"matplotlib","old_version":"3.10.6","new_version":"3.10.7","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"plotly","old_version":"6.3.0","new_version":"6.5.0","repository_url":"https://github.com/plotly/plotly.py"},{"name":"pytest","old_version":"8.3.5","new_version":"9.0.1","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"testcontainers","old_version":"4.9.2","new_version":"4.13.3","repository_url":"https://github.com/testcontainers/testcontainers-python"},{"name":"sqlalchemy","old_version":"2.0.39","new_version":"2.0.44","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"pre-commit","old_version":"4.2.0","new_version":"4.4.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"ruff","old_version":"0.11.2","new_version":"0.14.5","repository_url":"https://github.com/astral-sh/ruff"},{"name":"trino","old_version":"0.335.0","new_version":"0.336.0","repository_url":"https://github.com/trinodb/trino-python-client"},{"name":"psycopg2","old_version":"2.9.10","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"clickhouse-connect","old_version":"0.8.15","new_version":"0.10.0","repository_url":"https://github.com/ClickHouse/clickhouse-connect"},{"name":"polars","old_version":"1.33.1","new_version":"1.35.2","repository_url":"https://github.com/pola-rs/polars"}],"path":null,"ecosystem":"pip"},"body":"Bumps the all group with 30 updates in the /ibis-server directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.120.1` | `0.121.2` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.10.6` | `2.12.4` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.38.0` | `2.43.0` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.2.1` |\n| [orjson](https://github.com/ijl/orjson) | `3.10.16` | `3.11.4` |\n| [geoalchemy2](https://github.com/geoalchemy/geoalchemy2) | `0.17.1` | `0.18.0` |\n| [gql](https://github.com/graphql-python/gql) | `3.5.2` | `4.0.0` |\n| [anyio](https://github.com/agronholm/anyio) | `4.10.0` | `4.11.0` |\n| [duckdb](https://github.com/duckdb/duckdb-python) | `1.3.2` | `1.4.2` |\n| [oracledb](https://github.com/oracle/python-oracledb) | `3.3.0` | `3.4.1` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.35.0` | `0.38.0` |\n| [uvicorn-worker](https://github.com/Kludex/uvicorn-worker) | `0.3.0` | `0.4.0` |\n| [redshift-connector](https://github.com/aws/amazon-redshift-python-driver) | `2.1.7` | `2.1.9` |\n| [datafusion](https://github.com/apache/datafusion-python) | `47.0.0` | `50.1.0` |\n| [starlette](https://github.com/Kludex/starlette) | `0.49.1` | `0.49.3` |\n| [databricks-sql-connector](https://github.com/databricks/databricks-sql-python) | `4.1.4` | `4.2.0` |\n| [jupyterlab](https://github.com/jupyterlab/jupyterlab) | `4.4.9` | `4.4.10` |\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| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.10.6` | `3.10.7` |\n| [plotly](https://github.com/plotly/plotly.py) | `6.3.0` | `6.5.0` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.3.5` | `9.0.1` |\n| [testcontainers](https://github.com/testcontainers/testcontainers-python) | `4.9.2` | `4.13.3` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.39` | `2.0.44` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.2.0` | `4.4.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.11.2` | `0.14.5` |\n| [trino](https://github.com/trinodb/trino-python-client) | `0.335.0` | `0.336.0` |\n| [psycopg2](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.11` |\n| [clickhouse-connect](https://github.com/ClickHouse/clickhouse-connect) | `0.8.15` | `0.10.0` |\n| [polars](https://github.com/pola-rs/polars) | `1.33.1` | `1.35.2` |\n\n\nUpdates `fastapi` from 0.120.1 to 0.121.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.121.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix handling of JSON Schema attributes named \u0026quot;$ref\u0026quot;. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14349\"\u003e#14349\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Add EuroPython talk \u0026amp; podcast episode with Sebastián Ramírez. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14260\"\u003e#14260\u003c/a\u003e by \u003ca href=\"https://github.com/clytaemnestra\"\u003e\u003ccode\u003e@​clytaemnestra\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✏️ Fix links and add missing permalink in docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14217\"\u003e#14217\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🌐 Update Portuguese translations with LLM prompt. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14228\"\u003e#14228\u003c/a\u003e by \u003ca href=\"https://github.com/ceb10n\"\u003e\u003ccode\u003e@​ceb10n\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔨 Add Portuguese translations LLM prompt. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14208\"\u003e#14208\u003c/a\u003e by \u003ca href=\"https://github.com/ceb10n\"\u003e\u003ccode\u003e@​ceb10n\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Sync Russian docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14331\"\u003e#14331\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Sync German docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14317\"\u003e#14317\u003c/a\u003e by \u003ca href=\"https://github.com/nilslindemann\"\u003e\u003ccode\u003e@​nilslindemann\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.121.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003eDepends(func, scope='function')\u003c/code\u003e for top level (parameterless) dependencies. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14301\"\u003e#14301\u003c/a\u003e by \u003ca href=\"https://github.com/luzzodev\"\u003e\u003ccode\u003e@​luzzodev\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Upate docs for advanced dependencies with \u003ccode\u003eyield\u003c/code\u003e, noting the changes in 0.121.0, adding \u003ccode\u003escope\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14287\"\u003e#14287\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump ruff from 0.13.2 to 0.14.3. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14276\"\u003e#14276\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ [pre-commit.ci] pre-commit autoupdate. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14289\"\u003e#14289\u003c/a\u003e by \u003ca href=\"https://github.com/apps/pre-commit-ci\"\u003e\u003ccode\u003e@​pre-commit-ci[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.121.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add support for dependencies with scopes, support \u003ccode\u003escope=\u0026quot;request\u0026quot;\u003c/code\u003e for dependencies with \u003ccode\u003eyield\u003c/code\u003e that exit before the response is sent. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14262\"\u003e#14262\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eNew docs: \u003ca href=\"https://fastapi.tiangolo.com/tutorial/dependencies/dependencies-with-yield/#early-exit-and-scope\"\u003eDependencies with \u003ccode\u003eyield\u003c/code\u003e - Early exit and \u003ccode\u003escope\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👥 Update FastAPI People - Contributors and Translators. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14273\"\u003e#14273\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👥 Update FastAPI People - Sponsors. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14274\"\u003e#14274\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👥 Update FastAPI GitHub topic repositories. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14280\"\u003e#14280\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocs-macros-plugin from 1.4.0 to 1.4.1. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14277\"\u003e#14277\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump mkdocstrings[python] from 0.26.1 to 0.30.1. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14279\"\u003e#14279\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.120.4\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix security schemes in OpenAPI when added at the top level app. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14266\"\u003e#14266\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/02e108d1663149faac4156dd23595cbdf74287c2\"\u003e\u003ccode\u003e02e108d\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.121.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/d3b75974f48cd180f6f87de39adc475c7bf8900a\"\u003e\u003ccode\u003ed3b7597\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/5d40dfbc9bc1df1c7801acc53857ec7a072b7697\"\u003e\u003ccode\u003e5d40dfb\u003c/code\u003e\u003c/a\u003e 🐛 Fix handling of JSON Schema attributes named \u0026quot;$ref\u0026quot; (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14349\"\u003e#14349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/eaf611f9ee56de4f16c837d4f487a4b9fca507c4\"\u003e\u003ccode\u003eeaf611f\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/004ab1a9d1c746bf885d4d6428a721074b2c2d78\"\u003e\u003ccode\u003e004ab1a\u003c/code\u003e\u003c/a\u003e 📝 Add EuroPython talk \u0026amp; podcast episode with Sebastián Ramírez (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14260\"\u003e#14260\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/d1be85c728c64aa3d99f8bc7e9865b342f209117\"\u003e\u003ccode\u003ed1be85c\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/42930fe60065420034b7d6ff4932b25993a68481\"\u003e\u003ccode\u003e42930fe\u003c/code\u003e\u003c/a\u003e ✏️ Fix links and add missing permalink in docs (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14217\"\u003e#14217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/9e362d9f6e66078c67295e5ed5e5918739dfe5f0\"\u003e\u003ccode\u003e9e362d9\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/540a83da65b2e3b219ee3d41c4be7837ab05dc84\"\u003e\u003ccode\u003e540a83d\u003c/code\u003e\u003c/a\u003e 🌐 Update Portuguese translations with LLM prompt (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14228\"\u003e#14228\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/1a2e4152ed1173dc129bf4feb45c84b704c55eb8\"\u003e\u003ccode\u003e1a2e415\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.120.1...0.121.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.10.6 to 2.12.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.4 2025-11-05\u003c/h2\u003e\n\u003ch2\u003ev2.12.4 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003eThis is the fourth 2.12 patch release, fixing more regressions, and reverting a change in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis patch release also fixes an issue with the serialization of IP address types, when \u003ccode\u003eserialize_as_any\u003c/code\u003e is used. The next patch release\nwill try to address the remaining issues with \u003cem\u003eserialize as any\u003c/em\u003e behavior by introducing a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature, that\nshould be used in most cases in place of \u003cem\u003eserialize as any\u003c/em\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with forward references in parent \u003ccode\u003eTypedDict\u003c/code\u003e classes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12427\"\u003e#12427\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis issue is only relevant on Python 3.14 and greater.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExclude fields with \u003ccode\u003eexclude_if\u003c/code\u003e from JSON Schema required fields by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12430\"\u003e#12430\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRevert URL percent-encoding of credentials in the \u003ccode\u003ebuild()\u003c/code\u003e method of the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1833\"\u003epydantic-core#1833\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis was initially considered as a bugfix, but caused regressions and as such was fully reverted. The next release will include\nan opt-in option to percent-encode components of the URL.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type inference for IP address types by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1868\"\u003epydantic-core#1868\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThe 2.12 changes to the \u003ccode\u003eserialize_as_any\u003c/code\u003e behavior made it so that IP address types could not properly serialize to JSON.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid getting default values from defaultdict by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1853\"\u003epydantic-core#1853\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis fixes a subtle regression in the validation behavior of the \u003ca href=\"https://docs.python.org/3/library/collections.html#collections.defaultdict\"\u003e\u003ccode\u003ecollections.defaultdict\u003c/code\u003e\u003c/a\u003e\ntype.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with field serializers on nested typed dictionaries by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1879\"\u003epydantic-core#1879\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd more \u003ccode\u003epydantic-core\u003c/code\u003e builds for the three-threaded version of Python 3.14 by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1864\"\u003epydantic-core#1864\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.3...v2.12.4\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.3...v2.12.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.3 2025-10-17\u003c/h2\u003e\n\u003ch2\u003ev2.12.3 (2025-10-17)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis is the third 2.13 patch release, fixing issues related to the \u003ccode\u003eFieldInfo\u003c/code\u003e class, and reverting a change to the supported \u003ca href=\"https://docs.pydantic.dev/latest/concepts/validators/#model-validators\"\u003e\u003cem\u003eafter\u003c/em\u003e model validator\u003c/a\u003e function signatures.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRaise a warning when an invalid after model validator function signature is raised by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12414\"\u003e#12414\u003c/a\u003e.\nStarting in 2.12.0, using class methods for \u003cem\u003eafter\u003c/em\u003e model validators raised an error, but the error wasn't raised concistently. We decided to emit a deprecation warning instead.\u003c/li\u003e\n\u003cli\u003eAdd \u003ca href=\"https://docs.pydantic.dev/latest/api/fields/#pydantic.fields.FieldInfo.asdict\"\u003e\u003ccode\u003eFieldInfo.asdict()\u003c/code\u003e\u003c/a\u003e method, improve documentation around \u003ccode\u003eFieldInfo\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12411\"\u003e#12411\u003c/a\u003e.\nThis also adds back support for mutations on \u003ccode\u003eFieldInfo\u003c/code\u003e classes, that are reused as \u003ccode\u003eAnnotated\u003c/code\u003e metadata. \u003cstrong\u003eHowever\u003c/strong\u003e, note that this is still \u003cem\u003enot\u003c/em\u003e a supported pattern. Instead, please refer to the \u003ca href=\"https://docs.pydantic.dev/latest/examples/dynamic_models/\"\u003eadded example\u003c/a\u003e in the documentation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-12-release#changes\"\u003eblog post\u003c/a\u003e section on changes was also updated to document the changes related to \u003ccode\u003eserialize_as_any\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.2...v2.12.3\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.2...v2.12.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.2 2025-10-14\u003c/h2\u003e\n\u003ch2\u003ev2.12.2 (2025-10-14)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/v2.12.4/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.4 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.4\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is the fourth 2.12 patch release, fixing more regressions, and reverting a change in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis patch release also fixes an issue with the serialization of IP address types, when \u003ccode\u003eserialize_as_any\u003c/code\u003e is used. The next patch release\nwill try to address the remaining issues with \u003cem\u003eserialize as any\u003c/em\u003e behavior by introducing a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature, that\nshould be used in most cases in place of \u003cem\u003eserialize as any\u003c/em\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with forward references in parent \u003ccode\u003eTypedDict\u003c/code\u003e classes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12427\"\u003e#12427\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis issue is only relevant on Python 3.14 and greater.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExclude fields with \u003ccode\u003eexclude_if\u003c/code\u003e from JSON Schema required fields by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12430\"\u003e#12430\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRevert URL percent-encoding of credentials in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in\n\u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1833\"\u003epydantic-core#1833\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis was initially considered as a bugfix, but caused regressions and as such was fully reverted. The next release will include\nan opt-in option to percent-encode components of the URL.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type inference for IP address types by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1868\"\u003epydantic-core#1868\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThe 2.12 changes to the \u003ccode\u003eserialize_as_any\u003c/code\u003e behavior made it so that IP address types could not properly serialize to JSON.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid getting default values from defaultdict by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1853\"\u003epydantic-core#1853\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis fixes a subtle regression in the validation behavior of the \u003ca href=\"https://docs.python.org/3/library/collections.html#collections.defaultdict\"\u003e\u003ccode\u003ecollections.defaultdict\u003c/code\u003e\u003c/a\u003e\ntype.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with field serializers on nested typed dictionaries by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1879\"\u003epydantic-core#1879\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd more \u003ccode\u003epydantic-core\u003c/code\u003e builds for the three-threaded version of Python 3.14 by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1864\"\u003epydantic-core#1864\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.12.3 (2025-10-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.3\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis is the third 2.12 patch release, fixing issues related to the \u003ccode\u003eFieldInfo\u003c/code\u003e class, and reverting a change to the supported\n\u003ca href=\"https://docs.pydantic.dev/latest/concepts/validators/#model-validators\"\u003e\u003cem\u003eafter\u003c/em\u003e model validator\u003c/a\u003e function signatures.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRaise a warning when an invalid after model validator function signature is raised by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12414\"\u003e#12414\u003c/a\u003e.\nStarting in 2.12.0, using class methods for \u003cem\u003eafter\u003c/em\u003e model validators raised an error, but the error wasn't raised concistently. We decided\nto emit a deprecation warning instead.\u003c/li\u003e\n\u003cli\u003eAdd \u003ca href=\"https://docs.pydantic.dev/latest/api/fields/#pydantic.fields.FieldInfo.asdict\"\u003e\u003ccode\u003eFieldInfo.asdict()\u003c/code\u003e\u003c/a\u003e method, improve documentation around \u003ccode\u003eFieldInfo\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12411\"\u003e#12411\u003c/a\u003e.\nThis also add back support for mutations on \u003ccode\u003eFieldInfo\u003c/code\u003e classes, that are reused as \u003ccode\u003eAnnotated\u003c/code\u003e metadata. \u003cstrong\u003eHowever\u003c/strong\u003e, note that this is still\n\u003cem\u003enot\u003c/em\u003e a supported pattern. Instead, please refer to the \u003ca href=\"https://docs.pydantic.dev/latest/examples/dynamic_models/\"\u003eadded example\u003c/a\u003e in the documentation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-12-release#changes\"\u003eblog post\u003c/a\u003e section on changes was also updated to document the changes related to \u003ccode\u003eserialize_as_any\u003c/code\u003e.\u003c/p\u003e\n\u003ch2\u003ev2.12.2 (2025-10-14)\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/pydantic/pydantic/commit/5c842dfc9c245fb37aa1f5ec5b55c1aed10bd7e6\"\u003e\u003ccode\u003e5c842df\u003c/code\u003e\u003c/a\u003e Prepare release v2.12.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c678a710e8b8bb2ff4dce6233c6d5c88dc579136\"\u003e\u003ccode\u003ec678a71\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003epydantic-core\u003c/code\u003e to v2.41.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a7cd29254b2611c5768beb86e7ffd2c1c130a19a\"\u003e\u003ccode\u003ea7cd292\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003ecloudpickle\u003c/code\u003e to v3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/21f627801b5eedfa87bed55925f73cf329cc9c2c\"\u003e\u003ccode\u003e21f6278\u003c/code\u003e\u003c/a\u003e Bump actions/setup-node from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8d6be8fea9662203977b95758d97ec298edcd54a\"\u003e\u003ccode\u003e8d6be8f\u003c/code\u003e\u003c/a\u003e Bump astral-sh/setup-uv from 6 to 7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/17865ea3a1fd389ba697990b762f82a419a48221\"\u003e\u003ccode\u003e17865ea\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/90ad0af6b9340f72dde77997ed18fc180771e69f\"\u003e\u003ccode\u003e90ad0af\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/18e6672b6fdeaeb75ccbbcb3c7883509b1f56cb3\"\u003e\u003ccode\u003e18e6672\u003c/code\u003e\u003c/a\u003e Drop testing under PyPy 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/650215be2d2336a72af481b724b368fed356d7e8\"\u003e\u003ccode\u003e650215b\u003c/code\u003e\u003c/a\u003e Document workaround for \u003ccode\u003eMongoDsn\u003c/code\u003e default port\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/e3267902272d8290ed6d1ae06f43052b2968ef14\"\u003e\u003ccode\u003ee326790\u003c/code\u003e\u003c/a\u003e Fix example of for \u003ccode\u003ebytes_invalid_encoding\u003c/code\u003e validation error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.10.6...v2.12.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-auth` from 2.38.0 to 2.43.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/releases\"\u003egoogle-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-auth 2.43.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.42.1...v2.43.0\"\u003e2.43.0\u003c/a\u003e (2025-11-05)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd public wrapper for _mtls_helper.check_use_client_cert which enables mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE is not set, when the MWID/X.509 cert sources detected (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1859\"\u003e#1859\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/1535eccb\"\u003e1535eccb\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnable mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE  is not set, if the MWID/X.509 cert sources detected (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1848\"\u003e#1848\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/395e405b\"\u003e395e405b\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eonboard \u003ccode\u003egoogle-auth\u003c/code\u003e to librarian (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1838\"\u003e#1838\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/c503eaa5\"\u003ec503eaa5\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.42.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.42.0...v2.42.1\"\u003e2.42.1\u003c/a\u003e (2025-10-30)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCatch ValueError for json.loads() (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1842\"\u003e#1842\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b074cad460589633adfc6744c01726ae86f2aa2b\"\u003eb074cad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.42.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.41.1...v2.42.0\"\u003e2.42.0\u003c/a\u003e (2025-10-24)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd trust boundary support for external accounts. (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1809\"\u003e#1809\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/36ecb1d65883477d27faf9c2281fc289659b9903\"\u003e36ecb1d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRead scopes from ADC json for impersoanted cred (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1820\"\u003e#1820\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/62c0fc82a3625542381f85c698595446fc99ddae\"\u003e62c0fc8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.41.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.41.0...v2.41.1\"\u003e2.41.1\u003c/a\u003e (2025-09-30)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSuppress deprecation warning for ADC (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1815\"\u003e#1815\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/751ce3f625eb24029e9f0c59c081bdd3e18eb583\"\u003e751ce3f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.41.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.40.3...v2.41.0\"\u003e2.41.0\u003c/a\u003e (2025-09-29)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for cachetools 6.0 (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1773\"\u003e#1773\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/af18060d521baf86c219d66a26631decb3b28e79\"\u003eaf18060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd trust boundary support for service accounts and impersonation. (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1778\"\u003e#1778\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/99be2ce19401296718f880c7a80cd2e841df78bf\"\u003e99be2ce\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md\"\u003egoogle-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-auth-v2.42.1...google-auth-v2.43.0\"\u003e2.43.0\u003c/a\u003e (2025-11-05)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd public wrapper for _mtls_helper.check_use_client_cert which enables mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE is not set, when the MWID/X.509 cert sources detected (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1859\"\u003e#1859\u003c/a\u003e) Add public wrapper for check_use_client_cert which enables mTLS if\nGOOGLE_API_USE_CLIENT_CERTIFICATE is not set, when the MWID/X.509 cert\nsources detected. Also, fix check_use_client_cert to return boolean\nvalue.\nChange \u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1848\"\u003e#1848\u003c/a\u003e added the check_use_client_cert method that helps know if\nclient cert should be used for mTLS connection. However, that was in a\nprivate class, thus, created a public wrapper of the same function so\nthat it can be used by python Client Libraries. Also, updated\ncheck_use_client_cert to return a boolean value instead of existing\nstring value for better readability and future scope.\n--------- (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1535eccbff0ad8f3fd6a9775316ac8b77dca66ba\"\u003e1535eccbff0ad8f3fd6a9775316ac8b77dca66ba\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnable mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE  is not set, if the MWID/X.509 cert sources detected (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1848\"\u003e#1848\u003c/a\u003e) The Python SDK will use a hybrid approach for mTLS enablement:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eIf the GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is set\n(either true or false), the SDK will respect that setting. This is\nnecessary for test scenarios and users who need to explicitly control\nmTLS behavior.\u003c/li\u003e\n\u003cli\u003eIf the GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is not\nset, the SDK will automatically enable mTLS only if it detects Managed\nWorkload Identity (MWID) or X.509 Workforce Identity Federation (WIF)\ncertificate sources. In other cases where the variable is not set, mTLS\nwill remain disabled.\n** This change also adds the helper method \u003ccode\u003echeck_use_client_cert\u003c/code\u003e and\nit's unit test, which will be used for checking the criteria for setting\nthe mTLS to true\n** This change is only for Auth-Library, other changes will be created\nfor Client-Library use-cases.\n--------- (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/395e405b64b56ddb82ee639958c2e8056ad2e82b\"\u003e395e405b64b56ddb82ee639958c2e8056ad2e82b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eonboard \u003ccode\u003egoogle-auth\u003c/code\u003e to librarian (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1838\"\u003e#1838\u003c/a\u003e) This PR onboards \u003ccode\u003egoogle-auth\u003c/code\u003e library to the Librarian system.\nWait for\n\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/pull/1819\"\u003egoogleapis/google-auth-library-python#1819\u003c/a\u003e. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/c503eaa511357d7a76cc1e1f1d3a3be2dabd5bca\"\u003ec503eaa511357d7a76cc1e1f1d3a3be2dabd5bca\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.42.0...v2.42.1\"\u003e2.42.1\u003c/a\u003e (2025-10-30)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCatch ValueError for json.loads() (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1842\"\u003e#1842\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b074cad460589633adfc6744c01726ae86f2aa2b\"\u003eb074cad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.41.1...v2.42.0\"\u003e2.42.0\u003c/a\u003e (2025-10-24)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd trust boundary support for external accounts. (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1809\"\u003e#1809\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/36ecb1d65883477d27faf9c2281fc289659b9903\"\u003e36ecb1d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/89a883824b437e9be0c97309ed36f35e5c071f11\"\u003e\u003ccode\u003e89a8838\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20251105T230735Z (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1863\"\u003e#1863\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/79564e20cf5644a29a2269dcc91902b023f4afac\"\u003e\u003ccode\u003e79564e2\u003c/code\u003e\u003c/a\u003e chore: update prev version in state (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1862\"\u003e#1862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/1535eccbff0ad8f3fd6a9775316ac8b77dca66ba\"\u003e\u003ccode\u003e1535ecc\u003c/code\u003e\u003c/a\u003e feat: Add public wrapper for _mtls_helper.check_use_client_cert which enables...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/54502a73170dbe14f04769463c45c9d940f4999b\"\u003e\u003ccode\u003e54502a7\u003c/code\u003e\u003c/a\u003e chore: update secret (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1860\"\u003e#1860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/395e405b64b56ddb82ee639958c2e8056ad2e82b\"\u003e\u003ccode\u003e395e405\u003c/code\u003e\u003c/a\u003e feat: Enable mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE  is not set, if the MW...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/f2708b282b108713a8a9a04a5c0d58b253ce2217\"\u003e\u003ccode\u003ef2708b2\u003c/code\u003e\u003c/a\u003e chore: secret upadte (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1857\"\u003e#1857\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/c503eaa511357d7a76cc1e1f1d3a3be2dabd5bca\"\u003e\u003ccode\u003ec503eaa\u003c/code\u003e\u003c/a\u003e feat: onboard \u003ccode\u003egoogle-auth\u003c/code\u003e to librarian (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1838\"\u003e#1838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5d1b862db2b23b4b7ae7d243f6dbb23165636bd5\"\u003e\u003ccode\u003e5d1b862\u003c/code\u003e\u003c/a\u003e chore(main): release 2.42.1 (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1853\"\u003e#1853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b074cad460589633adfc6744c01726ae86f2aa2b\"\u003e\u003ccode\u003eb074cad\u003c/code\u003e\u003c/a\u003e fix: catch ValueError for json.loads() (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1842\"\u003e#1842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/cb62f5727854965e108c4e1790c4f9f9306fe3ce\"\u003e\u003ccode\u003ecb62f57\u003c/code\u003e\u003c/a\u003e chore: secret update (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1851\"\u003e#1851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.38.0...v2.43.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-dotenv` from 1.0.1 to 1.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/releases\"\u003epython-dotenv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport reading .env from FIFOs (Unix) by \u003ca href=\"https://github.com/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/586\"\u003etheskumar/python-dotenv#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CI to use trusted publishing on PyPI\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/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/586\"\u003etheskumar/python-dotenv#586\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.0...v1.2.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.0...v1.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: upgrade to use ruff by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/567\"\u003etheskumar/python-dotenv#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse sys.exit() instead of exit() by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/568\"\u003etheskumar/python-dotenv#568\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat:  add \u003ccode\u003ePYTHON_DOTENV_DISABLED\u003c/code\u003e flag to disable load_dotenv (fixes \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/510\"\u003e#510\u003c/a\u003e) by \u003ca href=\"https://github.com/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Python@3.14: Github CI \u0026amp; tox.ini by \u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eocs: clarify what load_dotenv() does in README by \u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group across 1 directory with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/577\"\u003etheskumar/python-dotenv#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove project metadata and config to pyproject.toml by \u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/583\"\u003etheskumar/python-dotenv#583\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/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/583\"\u003etheskumar/python-dotenv#583\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.0\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure find_dotenv work reliably on python 3.13 by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/563\"\u003etheskumar/python-dotenv#563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(cli): issue with execvpe on Windows by \u003ca href=\"https://github.com/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003etheskumar/python-dotenv#566\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/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003etheskumar/python-dotenv#566\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.1.0...v1.1.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.0...v1.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a security policy by \u003ca href=\"https://github.com/bbc2\"\u003e\u003ccode\u003e@​bbc2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/512\"\u003etheskumar/python-dotenv#512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep GitHub Actions up to date with GitHub's Dependabot by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/506\"\u003etheskumar/python-dotenv#506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: fix multiline string in test.yml \u0026amp; use fail-fast strategy by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/514\"\u003etheskumar/python-dotenv#514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnhance dotenv run: Switch to execvpe for better resource management and signal handling by \u003ca href=\"https://github.com/eekstunt\"\u003e\u003ccode\u003e@​eekstunt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/523\"\u003etheskumar/python-dotenv#523\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add py3.13 to test.yml by \u003ca href=\"https://github.com/waketzheng\"\u003e\u003ccode\u003e@​waketzheng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/527\"\u003etheskumar/python-dotenv#527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Python 3.13 trove classifier by \u003ca href=\"https://github.com/edgarrmondragon\"\u003e\u003ccode\u003e@​edgarrmondragon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/535\"\u003etheskumar/python-dotenv#535\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/529\"\u003etheskumar/python-dotenv#529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for python 3.13 and drop 3.8 by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/551\"\u003etheskumar/python-dotenv#551\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Update README.md by \u003ca href=\"https://github.com/chapeupreto\"\u003e\u003ccode\u003e@​chapeupreto\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/516\"\u003etheskumar/python-dotenv#516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSome more s/Python-dotenv/python-dotenv/ by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/552\"\u003etheskumar/python-dotenv#552\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/theskumar/python-dotenv/blob/main/CHANGELOG.md\"\u003epython-dotenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.2.1] - 2025-10-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMove more config to \u003ccode\u003epyproject.toml\u003c/code\u003e, removed \u003ccode\u003esetup.cfg\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for reading \u003ccode\u003e.env\u003c/code\u003e from FIFOs (Unix) by [\u003ca href=\"https://github.com/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/586\"\u003e#586\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.2.0] - 2025-10-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade build system to use PEP 517 \u0026amp; PEP 518 to use \u003ccode\u003ebuild\u003c/code\u003e and \u003ccode\u003epyproject.toml\u003c/code\u003e by [\u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/583\"\u003e#583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.14 by [\u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/563\"\u003e#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for disabling of \u003ccode\u003eload_dotenv()\u003c/code\u003e using \u003ccode\u003ePYTHON_DOTENV_DISABLED\u003c/code\u003e env var. by [\u003ca href=\"https://github.com/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/569\"\u003e#569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.1.1] - 2025-06-24\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCLI: Ensure \u003ccode\u003efind_dotenv\u003c/code\u003e work reliably on python 3.13 by [\u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/563\"\u003e#563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI: revert the use of execvpe on Windows by [\u003ca href=\"https://github.com/wrongontheinternet\"\u003e\u003ccode\u003e@​wrongontheinternet\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/566\"\u003e#566\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.1.0] - 2025-03-25\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFeature\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for python 3.13\u003c/li\u003e\n\u003cli\u003eEnhance \u003ccode\u003edotenv run\u003c/code\u003e, switch to \u003ccode\u003eexecvpe\u003c/code\u003e for better resource management and signal handling (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/523\"\u003e#523\u003c/a\u003e) by [\u003ca href=\"https://github.com/eekstunt\"\u003e\u003ccode\u003e@​eekstunt\u003c/code\u003e\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFixed\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003efind_dotenv\u003c/code\u003e and \u003ccode\u003eload_dotenv\u003c/code\u003e now correctly looks up at the current directory when running in debugger or pdb (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/553\"\u003e#553\u003c/a\u003e by [\u003ca href=\"https://github.com/randomseed42\"\u003e\u003ccode\u003e@​randomseed42\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eMisc\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/eaf2a9129ccec6febda0f741eb3bb852c3f947bd\"\u003e\u003ccode\u003eeaf2a91\u003c/code\u003e\u003c/a\u003e Do not remove .coverage file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/8716196891532eeb67d24a513e8d975437f5e8b7\"\u003e\u003ccode\u003e8716196\u003c/code\u003e\u003c/a\u003e Bump version: 1.2.0 → 1.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/b87807fcad6e74332c3c63a75c92ce5814fa7a55\"\u003e\u003ccode\u003eb87807f\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/3af77d3029eb717aeec0a3c25f751b6a614a6d3c\"\u003e\u003ccode\u003e3af77d3\u003c/code\u003e\u003c/a\u003e Support reading .env from FIFOs (Unix) (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/586\"\u003e#586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/467ee22fccb2fb7ccda71a0d9e37c6ea3cb8d993\"\u003e\u003ccode\u003e467ee22\u003c/code\u003e\u003c/a\u003e Fix test failures after moving config to pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/76999e741d87e958ebd74e3ae9834c0514e77a59\"\u003e\u003ccode\u003e76999e7\u003c/code\u003e\u003c/a\u003e Move more config pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/222ce2cc58ebc82ba78da8781269267b9f585932\"\u003e\u003ccode\u003e222ce2c\u003c/code\u003e\u003c/a\u003e Update to use trusted publisher on pypi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/8ed4f79d202eba582b44bdf1f5deb726dd68783d\"\u003e\u003ccode\u003e8ed4f79\u003c/code\u003e\u003c/a\u003e Update docs requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/5bf882241c607445bf02cf5b241535d62e2b99c1\"\u003e\u003ccode\u003e5bf8822\u003c/code\u003e\u003c/a\u003e Bump version: 1.1.1 → 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/1fe11cc737ee4399e9c51d1b69b0dd858f6b4669\"\u003e\u003ccode\u003e1fe11cc\u003c/code\u003e\u003c/a\u003e upadate changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.0.1...v1.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `orjson` from 3.10.16 to 3.11.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.4\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.85 or later instead of 1.82.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.1\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePublish PyPI wheels for CPython 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003estr\u003c/code\u003e on big-endian architectures.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse a deserialization buffer allocated per request instead of a shared buffer allocated on import.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.14 beta 4.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.10.18\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix incorrect escaping of the vertical tabulation character. This was\nintroduced in 3.10.17.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.10.17\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePublish PyPI Windows aarch64/arm64 wheels.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.14 alpha 7.\u003c/li\u003e\n\u003cli\u003eFix incompatibility running on Python 3.13 using WASM.\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/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.4 - 2025-10-24\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eABI compatibility with CPython 3.15 alpha 1.\u003c/li\u003e\n\u003cli\u003ePublish PyPI wheels for 3.14 and manylinux i686, manylinux arm7,\nmanylinux ppc64le, manylinux s390x.\u003c/li\u003e\n\u003cli\u003eBuild now requires a C compiler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.3 - 2025-08-26\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix PyPI project metadata when using maturin 1.9.2 or later.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.2 - 2025-08-12\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix build using Rust 1.89 on amd64.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.85 or later instead of 1.82.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.1 - 2025-07-25\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePublish PyPI wheels for CPython 3.14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003estr\u003c/code\u003e on big-endian architectures. This was introduced in 3.11.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.11.0 - 2025-07-15\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse a deserialization buffer allocated per request instead of a shared\nbuffer allocated on import.\u003c/li\u003e\n\u003cli\u003eABI compatibility with CPython 3.14 beta 4.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.10.18 - 2025-04-29\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/ijl/orjson/commit/a4fdeb3aff125d501ec0dd0577f9b38b2b977b4f\"\u003e\u003ccode\u003ea4fdeb3\u003c/code\u003e\u003c/a\u003e 3.11.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/2e80d68afacafca8751e6a64ca05d0d4087dbd15\"\u003e\u003ccode\u003e2e80d68\u003c/code\u003e\u003c/a\u003e unlikely to cold_path, remove intrinsics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/27edea92f8da2fdfc3f1342474e2f1686f1edf55\"\u003e\u003ccode\u003e27edea9\u003c/code\u003e\u003c/a\u003e FFI through crate::ffi, partial non-CPython compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/416a8c9578da780d0d58b5e6b751793deafc610d\"\u003e\u003ccode\u003e416a8c9\u003c/code\u003e\u003c/a\u003e Unconditionally build yyjson\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/c8c1a17dca8436a2fee05ca060febd096e653d98\"\u003e\u003ccode\u003ec8c1a17\u003c/code\u003e\u003c/a\u003e edition 2024\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/af4179a1fa0aafffd0f867203b6c36e9a522f165\"\u003e\u003ccode\u003eaf4179a\u003c/code\u003e\u003c/a\u003e build maintenance, panic_immediate_abort break, test 3.15\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/aa8c946cfbe2aba29016bc9c9ddc8713cb00173b\"\u003e\u003ccode\u003eaa8c946\u003c/code\u003e\u003c/a\u003e 3.11.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/2442efc125068e43bec97c26e3a6b5da8932936c\"\u003e\u003ccode\u003e2442efc\u003c/code\u003e\u003c/a\u003e Fix PyPI project metadata when using maturin 1.9.2 or later\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/ba760146e7bc407d729436d8dbcb9e1495c83773\"\u003e\u003ccode\u003eba76014\u003c/code\u003e\u003c/a\u003e 3.11.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/49315905a4f071f2279b6df87125ca94780b5173\"\u003e\u003ccode\u003e4931590\u003c/code\u003e\u003c/a\u003e CPython compatibility misc\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ijl/orjson/compare/3.10.16...3.11.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `geoalchemy2` from 0.17.1 to 0.18.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/geoalchemy/geoalchemy2/releases\"\u003egeoalchemy2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.18.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBuild: Deprecate Py\u0026lt;3.10 by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/538\"\u003egeoalchemy/geoalchemy2#538\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeat: Add more return types for spatial functions and update some typehints by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/540\"\u003egeoalchemy/geoalchemy2#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCompile literal binds by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/543\"\u003egeoalchemy/geoalchemy2#543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeat: Improve Geometry initializer to make the dimension optional by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/544\"\u003egeoalchemy/geoalchemy2#544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore (mariadb): Stop converting WKB to WKT by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/545\"\u003egeoalchemy/geoalchemy2#545\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs: Update doc to run the tests inside docker containers by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/546\"\u003egeoalchemy/geoalchemy2#546\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest: Add benchmark tests by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/547\"\u003egeoalchemy/geoalchemy2#547\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest: Add more benchmarks by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/553\"\u003egeoalchemy/geoalchemy2#553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore: Create FUNDING.yml by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/554\"\u003egeoalchemy/geoalchemy2#554\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest: Improve readbility of benchmark results by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/556\"\u003egeoalchemy/geoalchemy2#556\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePerf: Define \u003cstrong\u003eslots\u003c/strong\u003e in element classes to reduce memory usage of elements by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/555\"\u003egeoalchemy/geoalchemy2#555\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeat: Handle computed columns by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/557\"\u003egeoalchemy/geoalchemy2#557\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: Remove warning message from MySQL/MariaDB reflection by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/560\"\u003egeoalchemy/geoalchemy2#560\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore: Move reflection type registering by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/561\"\u003egeoalchemy/geoalchemy2#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs: correct doc strings by \u003ca href=\"https://github.com/pjonsson\"\u003e\u003ccode\u003e@​pjonsson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/562\"\u003egeoalchemy/geoalchemy2#562\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeat: Add support of spatial indexes for Raster type for PostgreSQL by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/564\"\u003egeoalchemy/geoalchemy2#564\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease: 0.18.0 by \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/565\"\u003egeoalchemy/geoalchemy2#565\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/pjonsson\"\u003e\u003ccode\u003e@​pjonsson\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/pull/562\"\u003egeoalchemy/geoalchemy2#562\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/geoalchemy/geoalchemy2/compare/0.17.1...0.18.0\"\u003ehttps://github.com/geoalchemy/geoalchemy2/compare/0.17.1...0.18.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/geoalchemy/geoalchemy2/blob/master/CHANGES.txt\"\u003egeoalchemy2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.18.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeat: Add support of spatial indexes for Raster type for PostgreSQL \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocs: Fix doc strings for cache enabled - \u003ca href=\"https://github.com/pjonsson\"\u003e\u003ccode\u003e@​pjonsson\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/562\"\u003e#562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore: Move reflection type registering \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e(papacodebear/master) Fix: Remove warning from MySQL/MariaDB reflection \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/560\"\u003e#560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat: Handle computed columns \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/557\"\u003e#557\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest: Improve readability of benchmark results \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/556\"\u003e#556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePerf: Define \u003cstrong\u003eslots\u003c/strong\u003e in element classes to reduce memory usage of elements \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/555\"\u003e#555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore: Create FUNDING.yml \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/554\"\u003e#554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest: Add more benchmarks \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/553\"\u003e#553\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest: Add benchmark tests \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/547\"\u003e#547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocs: Update doc to run the tests inside docker container \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/546\"\u003e#546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePerf (mariadb): Stop converting WKB to WKT \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/545\"\u003e#545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat: Improve Geometry initializer to make the dimension optional \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/544\"\u003e#544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat: Compile literal binds properly \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/543\"\u003e#543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat: Add more return types for spatial functions and update some typehints \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/540\"\u003e#540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBuild: Deprecate Py\u0026lt;3.10 \u003ca href=\"https://github.com/adrien-berchet\"\u003e\u003ccode\u003e@​adrien-berchet\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/538\"\u003e#538\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/geoalchemy/geoalchemy2/commit/60767082df9f4587fadd56ab94847ebc39df8295\"\u003e\u003ccode\u003e6076708\u003c/code\u003e\u003c/a\u003e Release: 0.18.0 (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/565\"\u003e#565\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/e13112177bdf79cae0d72a6e89d815dc272e3dc5\"\u003e\u003ccode\u003ee131121\u003c/code\u003e\u003c/a\u003e Feat: Add support of spatial indexes for Raster type for PostgreSQL (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/0b432086a0c3b8ab160c5cc1864aa65e02f35362\"\u003e\u003ccode\u003e0b43208\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/563\"\u003e#563\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/8791b2eec013f21f599ca060d9fee4aba72ec2a1\"\u003e\u003ccode\u003e8791b2e\u003c/code\u003e\u003c/a\u003e Docs: Fix doc strings for cache enabled (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/562\"\u003e#562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/d3c1d04c8b462c61132403e44a7a4f04a487c142\"\u003e\u003ccode\u003ed3c1d04\u003c/code\u003e\u003c/a\u003e Chore: Move reflection type registering (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/24dc5d05d97fb9a2a57103c1823a58f06940a5e8\"\u003e\u003ccode\u003e24dc5d0\u003c/code\u003e\u003c/a\u003e Fix: Remove warning from MySQL/MariaDB reflection (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/560\"\u003e#560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/71f7914d4ddf7d9c46c772e36a8463e20901966a\"\u003e\u003ccode\u003e71f7914\u003c/code\u003e\u003c/a\u003e Feat: Handle computed columns (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/557\"\u003e#557\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/c139cdbca62019d92d18f12429706732777c38e2\"\u003e\u003ccode\u003ec139cdb\u003c/code\u003e\u003c/a\u003e Perf: Define \u003cstrong\u003eslots\u003c/strong\u003e in element classes to reduce memory usage of elements ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/2e94baa4f3ac23e0160ed841d4efe7ceb3fa2378\"\u003e\u003ccode\u003e2e94baa\u003c/code\u003e\u003c/a\u003e Test: Improve readbility of benchmark results (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/556\"\u003e#556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geoalchemy/geoalchemy2/commit/84292bc352ab7ff1102a0529772d32afb0309616\"\u003e\u003ccode\u003e84292bc\u003c/code\u003e\u003c/a\u003e Chore: Create FUNDING.yml (\u003ca href=\"https://redirect.github.com/geoalchemy/geoalchemy2/issues/554\"\u003e#554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/geoalchemy/geoalchemy2/compare/0.17.1...0.18.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gql` from 3.5.2 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/graphql-python/gql/releases\"\u003egql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChange transports prototype using GraphQLRequest (\u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/551\"\u003e#551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUsing GraphQLRequest instead of DocumentNode for gql, execute, subscribe methods (\u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/556\"\u003e#556\u003c/a\u003e):\n\u003cstrong\u003eThis is a big change:\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003ethe \u003ccode\u003egql\u003c/code\u003e and \u003ccode\u003edsl_gql\u003c/code\u003e methods will now return a \u003ccode\u003eGraphQLRequest\u003c/code\u003e instead of a \u003ccode\u003eDocument\u003c/code\u003e Node\na \u003ccode\u003eGraphQLRequest\u003c/code\u003e is an object containing the document and optional \u003ccode\u003evariable_values\u003c/code\u003e and \u003ccode\u003eoperation_name\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eALL the \u003ccode\u003eexecute\u003c/code\u003e and \u003ccode\u003esubscribe\u003c/code\u003e methods now receive a \u003ccode\u003eGraphQLRequest\u003c/code\u003e as main argument instead of\na \u003ccode\u003eDocumentNode\u003c/code\u003e, \u003ccode\u003evariable_values\u003c/code\u003e and \u003ccode\u003eoperation_name\u003c/code\u003e arguments\u003c/li\u003e\n\u003cli\u003eThe old method of sending \u003ccode\u003evariable_values\u003c/code\u003e as an argument of \u003ccode\u003eexecute\u003c/code\u003e or \u003ccode\u003esubscribe\u003c/code\u003e still works but is deprecated\nSee \u003ca href=\"https://gql.readthedocs.io/en/latest/usage/variables.html\"\u003ehttps://gql.readthedocs.io/en/latest/usage/variables.html\u003c/a\u003e for the new syntax.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix subscription task cancel exception swallow (\u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/548\"\u003e#548\u003c/a\u003e):\nPreviously if a task was cancelled while a subscription task was active,\nthe \u003ccode\u003easyncio.CancelledError\u003c/code\u003e Exception would be swallowed by our code.\nThis is not the case anymore so you should now trap that Exception yourself.\u003c/li\u003e\n\u003cli\u003eClean up the file upload interface with FileVar class (\u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/549\"\u003e#549\u003c/a\u003e):\nThe file upload functionality has been modified to require \u003ccode\u003eFileVar\u003c/code\u003e instances\nfor uploaded files (the old method still works but is deprecated).\nSee \u003ca href=\"https://gql.readthedocs.io/en/latest/usage/file_upload.html\"\u003ehttps://gql.readthedocs.io/en/latest/usage/file_upload.html\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSet logging level to DEBUG for all transports (\u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/552\"\u003e#552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eintrospection now requests deprecated input fields by default (\u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/553\"\u003e#553\u003c/a\u003e)\nNote that some backends might not support this and return \u003ccode\u003eUnknown argument includeDeprecated\u003c/code\u003e. See \u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/564\"\u003e#564\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTrapping dependencies Exceptions into TransportConnectionFailed (\u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/558\"\u003e#558\u003c/a\u003e):\nNow gql will trap Exceptions raised by dependencies when executing a request and will\nencapsulate that Exception into the \u003ccode\u003eTransportConnectionFailed\u003c/code\u003e Exception\u003c/li\u003e\n\u003cli\u003eSet \u003cstrong\u003essl=True\u003c/strong\u003e by default for AIOHTTPTransport (\u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/538\"\u003e#538\u003c/a\u003e) (issue \u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/529\"\u003e#529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003eTransportConnectionClosed\u003c/code\u003e Exception replacing \u003ccode\u003eConnectionClosed\u003c/code\u003e Exception (\u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/536\"\u003e#536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ewebsocket\u003c/code\u003e attribute removed from transport, now using \u003ccode\u003e_connected\u003c/code\u003e instead (\u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/536\"\u003e#536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade lastest websockets and Exceptions overhaul (\u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/543\"\u003e#543\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cp\u003eBatching requests is now fully supported, on sync or async transports, with automatic batching:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImplementation of execute_batch for async transports (\u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/550\"\u003e#550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplementation of automatic batching for async (\u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/554\"\u003e#554\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://gql.readthedocs.io/en/latest/advanced/batching_requests.html\"\u003ehttps://gql.readthedocs.io/en/latest/advanced/batching_requests.html\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix httpx test deprecated warning (\u003ca href=\"https://redirect.github.com/graphql-python/gql/issues/542\"\u003e#542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor websoc...\n\n_Description has been truncated_","html_url":"https://github.com/Canner/wren-engine/pull/1379","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Canner%2Fwren-engine/issues/1379","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1379/packages"}},{"old_version":"8.1.7","new_version":"8.1.8","update_type":"patch","path":null,"pr_created_at":"2025-11-17T13:28:41.000Z","version_change":"8.1.7 → 8.1.8","issue":{"uuid":"3633347426","node_id":"PR_kwDOMHVffc6z23Pp","number":72,"state":"closed","title":"Bump the python-packages group across 1 directory with 67 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-11-24T13:46:51.000Z","author_association":null,"state_reason":null,"created_at":"2025-11-17T13:28:41.000Z","updated_at":"2025-11-24T13:46:53.000Z","time_to_close":605890,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"python-packages","update_count":67,"packages":[{"name":"anyio","old_version":"4.9.0","new_version":"4.11.0","repository_url":"https://github.com/agronholm/anyio"},{"name":"argon2-cffi-bindings","old_version":"21.2.0","new_version":"25.1.0","repository_url":"https://github.com/hynek/argon2-cffi-bindings"},{"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":"attrs","old_version":"25.3.0","new_version":"25.4.0","repository_url":"https://github.com/sponsors/hynek"},{"name":"beautifulsoup4","old_version":"4.13.4","new_version":"4.14.2"},{"name":"bleach","old_version":"6.2.0","new_version":"6.3.0","repository_url":"https://github.com/mozilla/bleach"},{"name":"certifi","old_version":"2025.6.15","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":"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.1.8","new_version":"8.3.1","repository_url":"https://github.com/pallets/click"},{"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.1","new_version":"1.3.3","repository_url":"https://github.com/contourpy/contourpy"},{"name":"debugpy","old_version":"1.8.14","new_version":"1.8.17","repository_url":"https://github.com/microsoft/debugpy"},{"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":"flask","old_version":"3.1.1","new_version":"3.1.2","repository_url":"https://github.com/pallets/flask"},{"name":"fonttools","old_version":"4.58.4","new_version":"4.60.1","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":"imbalanced-learn","old_version":"0.13.0","new_version":"0.14.0","repository_url":"https://github.com/scikit-learn-contrib/imbalanced-learn"},{"name":"ipykernel","old_version":"6.29.5","new_version":"7.1.0","repository_url":"https://github.com/ipython/ipykernel"},{"name":"ipython","old_version":"9.0.2","new_version":"9.7.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":"joblib","old_version":"1.5.1","new_version":"1.5.2","repository_url":"https://github.com/joblib/joblib"},{"name":"json5","old_version":"0.12.0","new_version":"0.12.1","repository_url":"https://github.com/dpranke/pyjson5"},{"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-lsp","old_version":"2.2.5","new_version":"2.3.0","repository_url":"https://github.com/jupyter-lsp/jupyterlab-lsp"},{"name":"jupyter-core","old_version":"5.8.1","new_version":"5.9.1","repository_url":"https://github.com/jupyter/jupyter_core"},{"name":"jupyter-server","old_version":"2.16.0","new_version":"2.17.0","repository_url":"https://github.com/jupyter-server/jupyter_server"},{"name":"jupyterlab","old_version":"4.4.4","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":"jupyterlab-widgets","old_version":"3.0.15","new_version":"3.0.16","repository_url":"https://github.com/jupyter-widgets/ipywidgets"},{"name":"kiwisolver","old_version":"1.4.8","new_version":"1.4.9","repository_url":"https://github.com/nucleic/kiwi"},{"name":"markupsafe","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/pallets/markupsafe"},{"name":"matplotlib","old_version":"3.10.1","new_version":"3.10.7","repository_url":"https://github.com/matplotlib/matplotlib"},{"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.3","new_version":"3.1.4","repository_url":"https://github.com/lepture/mistune"},{"name":"nltk","old_version":"3.9.1","new_version":"3.9.2","repository_url":"https://github.com/nltk/nltk"},{"name":"notebook","old_version":"7.4.4","new_version":"7.4.7","repository_url":"https://github.com/jupyter/notebook"},{"name":"numpy","old_version":"2.2.4","new_version":"2.3.5","repository_url":"https://github.com/numpy/numpy"},{"name":"pandas","old_version":"2.3.0","new_version":"2.3.3","repository_url":"https://github.com/pandas-dev/pandas"},{"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.0","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"prometheus-client","old_version":"0.22.1","new_version":"0.23.1","repository_url":"https://github.com/prometheus/client_python"},{"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":"pyparsing","old_version":"3.2.3","new_version":"3.2.5","repository_url":"https://github.com/pyparsing/pyparsing"},{"name":"python-json-logger","old_version":"3.3.0","new_version":"4.0.0","repository_url":"https://github.com/nhairs/python-json-logger"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"pyzmq","old_version":"27.0.0","new_version":"27.1.0","repository_url":"https://github.com/zeromq/pyzmq"},{"name":"qtconsole","old_version":"5.6.1","new_version":"5.7.0","repository_url":"https://github.com/jupyter/qtconsole"},{"name":"referencing","old_version":"0.36.2","new_version":"0.37.0","repository_url":"https://github.com/python-jsonschema/referencing"},{"name":"regex","old_version":"2024.11.6","new_version":"2025.11.3","repository_url":"https://github.com/mrabarnett/mrab-regex"},{"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.29.0","repository_url":"https://github.com/crate-py/rpds"},{"name":"scikit-learn","old_version":"1.6.1","new_version":"1.7.2","repository_url":"https://github.com/scikit-learn/scikit-learn"},{"name":"scipy","old_version":"1.15.2","new_version":"1.16.3","repository_url":"https://github.com/scipy/scipy"},{"name":"soupsieve","old_version":"2.7","new_version":"2.8","repository_url":"https://github.com/facelessuser/soupsieve"},{"name":"tornado","old_version":"6.5.1","new_version":"6.5.2","repository_url":"https://github.com/tornadoweb/tornado"},{"name":"types-python-dateutil","old_version":"2.9.0.20250516","new_version":"2.9.0.20251115","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"wcwidth","old_version":"0.2.13","new_version":"0.2.14","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":"widgetsnbextension","old_version":"4.0.14","new_version":"4.0.15"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-packages group with 67 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [anyio](https://github.com/agronholm/anyio) | `4.9.0` | `4.11.0` |\n| [argon2-cffi-bindings](https://github.com/hynek/argon2-cffi-bindings) | `21.2.0` | `25.1.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| [attrs](https://github.com/sponsors/hynek) | `25.3.0` | `25.4.0` |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.13.4` | `4.14.2` |\n| [bleach](https://github.com/mozilla/bleach) | `6.2.0` | `6.3.0` |\n| [certifi](https://github.com/certifi/python-certifi) | `2025.6.15` | `2025.11.12` |\n| [cffi](https://github.com/python-cffi/cffi) | `1.17.1` | `2.0.0` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.2` | `3.4.4` |\n| [click](https://github.com/pallets/click) | `8.1.8` | `8.3.1` |\n| [comm](https://github.com/ipython/comm) | `0.2.2` | `0.2.3` |\n| [contourpy](https://github.com/contourpy/contourpy) | `1.3.1` | `1.3.3` |\n| [debugpy](https://github.com/microsoft/debugpy) | `1.8.14` | `1.8.17` |\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| [flask](https://github.com/pallets/flask) | `3.1.1` | `3.1.2` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.58.4` | `4.60.1` |\n| [idna](https://github.com/kjd/idna) | `3.10` | `3.11` |\n| [imbalanced-learn](https://github.com/scikit-learn-contrib/imbalanced-learn) | `0.13.0` | `0.14.0` |\n| [ipykernel](https://github.com/ipython/ipykernel) | `6.29.5` | `7.1.0` |\n| [ipython](https://github.com/ipython/ipython) | `9.0.2` | `9.7.0` |\n| [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) | `8.1.7` | `8.1.8` |\n| [joblib](https://github.com/joblib/joblib) | `1.5.1` | `1.5.2` |\n| [json5](https://github.com/dpranke/pyjson5) | `0.12.0` | `0.12.1` |\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-lsp](https://github.com/jupyter-lsp/jupyterlab-lsp) | `2.2.5` | `2.3.0` |\n| [jupyter-core](https://github.com/jupyter/jupyter_core) | `5.8.1` | `5.9.1` |\n| [jupyter-server](https://github.com/jupyter-server/jupyter_server) | `2.16.0` | `2.17.0` |\n| [jupyterlab](https://github.com/jupyterlab/jupyterlab) | `4.4.4` | `4.4.10` |\n| [jupyterlab-server](https://github.com/jupyterlab/jupyterlab_server) | `2.27.3` | `2.28.0` |\n| [jupyterlab-widgets](https://github.com/jupyter-widgets/ipywidgets) | `3.0.15` | `3.0.16` |\n| [kiwisolver](https://github.com/nucleic/kiwi) | `1.4.8` | `1.4.9` |\n| [markupsafe](https://github.com/pallets/markupsafe) | `3.0.2` | `3.0.3` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.10.1` | `3.10.7` |\n| [matplotlib-inline](https://github.com/ipython/matplotlib-inline) | `0.1.7` | `0.2.1` |\n| [mistune](https://github.com/lepture/mistune) | `3.1.3` | `3.1.4` |\n| [nltk](https://github.com/nltk/nltk) | `3.9.1` | `3.9.2` |\n| [notebook](https://github.com/jupyter/notebook) | `7.4.4` | `7.4.7` |\n| [numpy](https://github.com/numpy/numpy) | `2.2.4` | `2.3.5` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.0` | `2.3.3` |\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.0` |\n| [prometheus-client](https://github.com/prometheus/client_python) | `0.22.1` | `0.23.1` |\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| [pyparsing](https://github.com/pyparsing/pyparsing) | `3.2.3` | `3.2.5` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `3.3.0` | `4.0.0` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [pyzmq](https://github.com/zeromq/pyzmq) | `27.0.0` | `27.1.0` |\n| [qtconsole](https://github.com/jupyter/qtconsole) | `5.6.1` | `5.7.0` |\n| [referencing](https://github.com/python-jsonschema/referencing) | `0.36.2` | `0.37.0` |\n| [regex](https://github.com/mrabarnett/mrab-regex) | `2024.11.6` | `2025.11.3` |\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.29.0` |\n| [scikit-learn](https://github.com/scikit-learn/scikit-learn) | `1.6.1` | `1.7.2` |\n| [scipy](https://github.com/scipy/scipy) | `1.15.2` | `1.16.3` |\n| [soupsieve](https://github.com/facelessuser/soupsieve) | `2.7` | `2.8` |\n| [tornado](https://github.com/tornadoweb/tornado) | `6.5.1` | `6.5.2` |\n| [types-python-dateutil](https://github.com/typeshed-internal/stub_uploader) | `2.9.0.20250516` | `2.9.0.20251115` |\n| [wcwidth](https://github.com/jquast/wcwidth) | `0.2.13` | `0.2.14` |\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 `anyio` from 4.9.0 to 4.11.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.11.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for cancellation reasons (the \u003ccode\u003ereason\u003c/code\u003e parameter to \u003ccode\u003eCancelScope.cancel()\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/975\"\u003e#975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBumped the minimum version of Trio to v0.31.0\u003c/li\u003e\n\u003cli\u003eAdded the ability to enter the event loop from foreign (non-worker) threads by passing the return value of \u003ccode\u003eanyio.lowlevel.current_token()\u003c/code\u003e to \u003ccode\u003eanyio.from_thread.run()\u003c/code\u003e and \u003ccode\u003eanyio.from_thread.run_sync()\u003c/code\u003e as the \u003ccode\u003etoken\u003c/code\u003e keyword argument (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/256\"\u003e#256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded pytest option (\u003ccode\u003eanyio_mode = \u0026quot;auto\u0026quot;\u003c/code\u003e) to make the pytest plugin automatically handle all async tests (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/971\"\u003e#971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded the \u003ccode\u003eanyio.Condition.wait_for()\u003c/code\u003e method for feature parity with asyncio (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/974\"\u003e#974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged the default type argument of \u003ccode\u003eanyio.abc.TaskStatus\u003c/code\u003e from \u003ccode\u003eAny\u003c/code\u003e to \u003ccode\u003eNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/964\"\u003e#964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed TCP listener behavior to guarantee the same ephemeral port is used for all socket listeners when \u003ccode\u003elocal_port=0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/857\"\u003e#857\u003c/a\u003e; PR by \u003ca href=\"https://github.com/11kkw\"\u003e\u003ccode\u003e@​11kkw\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/agronholm\"\u003e\u003ccode\u003e@​agronholm\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed inconsistency between Trio and asyncio where a TCP stream that previously raised a \u003ccode\u003eBrokenResourceError\u003c/code\u003e on \u003ccode\u003esend()\u003c/code\u003e would still raise \u003ccode\u003eBrokenResourceError\u003c/code\u003e after the stream was closed on asyncio, but \u003ccode\u003eClosedResourceError\u003c/code\u003e on Trio. They now both raise a \u003ccode\u003eClosedResourceError\u003c/code\u003e in this scenario. (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/671\"\u003e#671\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.10.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded the \u003ccode\u003efeed_data()\u003c/code\u003e method to the \u003ccode\u003eBufferedByteReceiveStream\u003c/code\u003e class, allowing users to inject data directly into the buffer\u003c/li\u003e\n\u003cli\u003eAdded various class methods to wrap existing sockets as listeners or socket streams:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSocketListener.from_socket()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSocketStream.from_socket()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eUNIXSocketStream.from_socket()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eUDPSocket.from_socket()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnectedUDPSocket.from_socket()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eUNIXDatagramSocket.from_socket()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnectedUNIXDatagramSocket.from_socket()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded a hierarchy of connectable stream classes for transparently connecting to various remote or local endpoints for exchanging bytes or objects\u003c/li\u003e\n\u003cli\u003eAdded context manager mix-in classes (\u003ccode\u003eanyio.ContextManagerMixin\u003c/code\u003e and \u003ccode\u003eanyio.AsyncContextManagerMixin\u003c/code\u003e) to help write classes that embed other context managers, particularly cancel scopes or task groups (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/905\"\u003e#905\u003c/a\u003e; PR by \u003ca href=\"https://github.com/agronholm\"\u003e\u003ccode\u003e@​agronholm\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/tapetersen\"\u003e\u003ccode\u003e@​tapetersen\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded the ability to specify the thread name in \u003ccode\u003estart_blocking_portal()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/818\"\u003e#818\u003c/a\u003e; PR by \u003ca href=\"https://github.com/davidbrochart\"\u003e\u003ccode\u003e@​davidbrochart\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eanyio.notify_closing\u003c/code\u003e to allow waking \u003ccode\u003eanyio.wait_readable\u003c/code\u003e and \u003ccode\u003eanyio.wait_writable\u003c/code\u003e before closing a socket. Among other things, this prevents an OSError on the \u003ccode\u003eProactorEventLoop\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/896\"\u003e#896\u003c/a\u003e; PR by \u003ca href=\"https://github.com/graingert\"\u003e\u003ccode\u003e@​graingert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIncorporated several documentation improvements from the EuroPython 2025 sprint (special thanks to the sprinters: Emmanuel Okedele, Jan Murre, Euxenia Miruna Goia and Christoffer Fjord)\u003c/li\u003e\n\u003cli\u003eAdded a documentation page explaining why one might want to use AnyIO's APIs instead of asyncio's\u003c/li\u003e\n\u003cli\u003eUpdated the \u003ccode\u003eto_interpreters\u003c/code\u003e module to use the public \u003ccode\u003econcurrent.interpreters\u003c/code\u003e API on Python 3.14 or later\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eanyio.Path.copy()\u003c/code\u003e and \u003ccode\u003eanyio.Path.copy_into()\u003c/code\u003e failing on Python 3.14.0a7\u003c/li\u003e\n\u003cli\u003eFixed return annotation of \u003ccode\u003e__aexit__\u003c/code\u003e on async context managers. CMs which can suppress exceptions should return \u003ccode\u003ebool\u003c/code\u003e, or \u003ccode\u003eNone\u003c/code\u003e otherwise. (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/913\"\u003e#913\u003c/a\u003e; PR by \u003ca href=\"https://github.com/Enegg\"\u003e\u003ccode\u003e@​Enegg\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed rollover boundary check in \u003ccode\u003eSpooledTemporaryFile\u003c/code\u003e so that rollover only occurs when the buffer size exceeds \u003ccode\u003emax_size\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/915\"\u003e#915\u003c/a\u003e; PR by \u003ca href=\"https://github.com/11kkw\"\u003e\u003ccode\u003e@​11kkw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMigrated testing and documentation dependencies from extras to dependency groups\u003c/li\u003e\n\u003cli\u003eFixed compatibility of \u003ccode\u003eanyio.to_interpreter\u003c/code\u003e with Python 3.14.0b2 (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/926\"\u003e#926\u003c/a\u003e; PR by \u003ca href=\"https://github.com/hroncok\"\u003e\u003ccode\u003e@​hroncok\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSyntaxWarning\u003c/code\u003e on Python 3.14 about \u003ccode\u003ereturn\u003c/code\u003e in \u003ccode\u003efinally\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/816\"\u003e#816\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed RunVar name conflicts. RunVar instances with the same name should not share storage (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/880\"\u003e#880\u003c/a\u003e; PR by \u003ca href=\"https://github.com/vimfu\"\u003e\u003ccode\u003e@​vimfu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRenamed the \u003ccode\u003eBrokenWorkerIntepreter\u003c/code\u003e exception to \u003ccode\u003eBrokenWorkerInterpreter\u003c/code\u003e. The old name is available as a deprecated alias. (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/938\"\u003e#938\u003c/a\u003e; PR by \u003ca href=\"https://github.com/ayussh-verma\"\u003e\u003ccode\u003e@​ayussh-verma\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed an edge case in \u003ccode\u003eCapacityLimiter\u003c/code\u003e on asyncio where a task, waiting to acquire a limiter gets cancelled and is subsequently granted a token from the limiter, but before the cancellation is delivered, and then fails to notify the next waiting task (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/947\"\u003e#947\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/agronholm/anyio/blob/master/docs/versionhistory.rst\"\u003eanyio's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eVersion history\u003c/h1\u003e\n\u003cp\u003eThis library adheres to \u003ccode\u003eSemantic Versioning 2.0 \u0026lt;http://semver.org/\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eUNRELEASED\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for asyncio's \u003ccode\u003etask call graphs\u003c/code\u003e_ on Python 3.14 and later when using\nAnyIO's task groups\n(\u003ccode\u003e[#1025](https://github.com/agronholm/anyio/issues/1025) \u0026lt;https://github.com/agronholm/anyio/pull/1025\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eAdded an asynchronous implementation of the \u003ccode\u003efunctools\u003c/code\u003e module\n(\u003ccode\u003e[#1001](https://github.com/agronholm/anyio/issues/1001) \u0026lt;https://github.com/agronholm/anyio/pull/1001\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003euvloop=True\u003c/code\u003e on Windows via the winloop_ implementation\n(\u003ccode\u003e[#960](https://github.com/agronholm/anyio/issues/960) \u0026lt;https://github.com/agronholm/anyio/pull/960\u0026gt;\u003c/code\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\n(\u003ccode\u003e[#1003](https://github.com/agronholm/anyio/issues/1003) \u0026lt;https://github.com/agronholm/anyio/pull/1003\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003e__all__\u003c/code\u003e declarations to public submodules (\u003ccode\u003eanyio.lowlevel\u003c/code\u003e etc.)\n(\u003ccode\u003e[#1009](https://github.com/agronholm/anyio/issues/1009) \u0026lt;https://github.com/agronholm/anyio/pull/1009\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eAdded the ability to set the token count of a \u003ccode\u003eCapacityLimiter\u003c/code\u003e to zero\n(\u003ccode\u003e[#1019](https://github.com/agronholm/anyio/issues/1019) \u0026lt;https://github.com/agronholm/anyio/pull/1019\u0026gt;\u003c/code\u003e_; requires Python 3.10 or\nlater when using Trio)\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\nfunction (\u003ccode\u003e[#1021](https://github.com/agronholm/anyio/issues/1021) \u0026lt;https://github.com/agronholm/anyio/pull/1021\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eProcess.stdin.send()\u003c/code\u003e not raising \u003ccode\u003eClosedResourceError\u003c/code\u003e and\n\u003ccode\u003eBrokenResourceError\u003c/code\u003e on asyncio. Previously, a non-AnyIO exception was raised in\nsuch cases (\u003ccode\u003e[#671](https://github.com/agronholm/anyio/issues/671) \u0026lt;https://github.com/agronholm/anyio/issues/671\u0026gt;\u003c/code\u003e_; PR by\n\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\n(\u003ccode\u003e[#1002](https://github.com/agronholm/anyio/issues/1002) \u0026lt;https://github.com/agronholm/anyio/issues/1002\u0026gt;\u003c/code\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\n\u003ccode\u003eBlockingPortal.start_task_soon()\u003c/code\u003e would sometimes not cancel the async function\n(\u003ccode\u003e[#1011](https://github.com/agronholm/anyio/issues/1011) \u0026lt;https://github.com/agronholm/anyio/issues/1011\u0026gt;\u003c/code\u003e_; PR by \u003ca href=\"https://github.com/gschaffner\"\u003e\u003ccode\u003e@​gschaffner\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _task call graphs: \u003ca href=\"https://docs.python.org/3/library/asyncio-graph.html\"\u003ehttps://docs.python.org/3/library/asyncio-graph.html\u003c/a\u003e\n.. _winloop: \u003ca href=\"https://github.com/Vizonex/Winloop\"\u003ehttps://github.com/Vizonex/Winloop\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e4.11.0\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for cancellation reasons (the \u003ccode\u003ereason\u003c/code\u003e parameter to\n\u003ccode\u003eCancelScope.cancel()\u003c/code\u003e)\n(\u003ccode\u003e[#975](https://github.com/agronholm/anyio/issues/975) \u0026lt;https://github.com/agronholm/anyio/pull/975\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eBumped the minimum version of Trio to v0.31.0\u003c/li\u003e\n\u003cli\u003eAdded the ability to enter the event loop from foreign (non-worker) threads by\npassing the return value of \u003ccode\u003eanyio.lowlevel.current_token()\u003c/code\u003e to\n\u003ccode\u003eanyio.from_thread.run()\u003c/code\u003e and \u003ccode\u003eanyio.from_thread.run_sync()\u003c/code\u003e as the \u003ccode\u003etoken\u003c/code\u003e\nkeyword argument (\u003ccode\u003e[#256](https://github.com/agronholm/anyio/issues/256) \u0026lt;https://github.com/agronholm/anyio/issues/256\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eAdded pytest option (\u003ccode\u003eanyio_mode = \u0026quot;auto\u0026quot;\u003c/code\u003e) to make the pytest plugin automatically\nhandle all async tests\n(\u003ccode\u003e[#971](https://github.com/agronholm/anyio/issues/971) \u0026lt;https://github.com/agronholm/anyio/pull/971\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eAdded the \u003ccode\u003eanyio.Condition.wait_for()\u003c/code\u003e method for feature parity with asyncio\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/08737af202f6610cdb8ba53fecaefd9c03269637\"\u003e\u003ccode\u003e08737af\u003c/code\u003e\u003c/a\u003e Bumped up the version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/8bb9fe04a1c0a4b6615c843d4a88bba38a386059\"\u003e\u003ccode\u003e8bb9fe0\u003c/code\u003e\u003c/a\u003e Fixed the inconsistent exception on sending to a closed TCP stream (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/980\"\u003e#980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/963709358a05ced66986e928b593b4bd82422981\"\u003e\u003ccode\u003e9637093\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/f1bc6ee95a75007681ef9cb4eec0369838b390e9\"\u003e\u003ccode\u003ef1bc6ee\u003c/code\u003e\u003c/a\u003e Fixed changelog entry formatting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/0b58964a26c68ca427b711bbe8536f61ed900133\"\u003e\u003ccode\u003e0b58964\u003c/code\u003e\u003c/a\u003e Mentioned the sub-interpreter support in the README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/1ed112c65628d3cce312e7b6875b9f914d174a71\"\u003e\u003ccode\u003e1ed112c\u003c/code\u003e\u003c/a\u003e Ensure same port is used for IPv4/IPv6 when creating TCP listener with local_...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/aceeee09868642311a96626924f2f09c088a26c0\"\u003e\u003ccode\u003eaceeee0\u003c/code\u003e\u003c/a\u003e Re-enabled coverage reporting on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/6b890dc869f54b6237caff52a74e86382c076ad2\"\u003e\u003ccode\u003e6b890dc\u003c/code\u003e\u003c/a\u003e Reworded a changelog entry and added PR links to others\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/944257d2d59e8057dd00cd5cc96d8f73028031dd\"\u003e\u003ccode\u003e944257d\u003c/code\u003e\u003c/a\u003e Updated pre-commit modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/087975f44599471a84bea2077731143a346c276a\"\u003e\u003ccode\u003e087975f\u003c/code\u003e\u003c/a\u003e Fixed a documentation style (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/976\"\u003e#976\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/agronholm/anyio/compare/4.9.0...4.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `argon2-cffi-bindings` from 21.2.0 to 25.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hynek/argon2-cffi-bindings/releases\"\u003eargon2-cffi-bindings's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.1.0\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cp\u003eFree-threading for Python 3.14!\u003c/p\u003e\n\u003cp\u003eCurrently, it's a bit complicated, because it requires CFFI 2.0 which is only available as a pre-release.\u003c/p\u003e\n\u003cp\u003eTherefore, when installing with \u003cem\u003euv\u003c/em\u003e, it's necessary to pass like this:\u003c/p\u003e\n\u003cpre lang=\"console\"\u003e\u003ccode\u003e$ uv pip install --prerelease=allow argon2-cffi\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eFull changelog below!\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eSpecial Thanks\u003c/h2\u003e\n\u003cp\u003eThis release would not be possible without my generous sponsors! Thank you to all of you making sustainable maintenance possible! If \u003cem\u003eyou\u003c/em\u003e would like to join them, go to \u003ca href=\"https://github.com/sponsors/hynek\"\u003ehttps://github.com/sponsors/hynek\u003c/a\u003e and check out the sweet perks!\u003c/p\u003e\n\u003ch3\u003eAbove and Beyond\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://www.variomedia.de/\"\u003eVariomedia AG\u003c/a\u003e (@\u003ca href=\"https://github.com/variomedia\"\u003evariomedia\u003c/a\u003e), \u003ca href=\"https://www.tidelift.com/\"\u003eTidelift\u003c/a\u003e (@\u003ca href=\"https://github.com/tidelift\"\u003etidelift\u003c/a\u003e), \u003ca href=\"https://www.klaviyo.com\"\u003eKlaviyo\u003c/a\u003e (@\u003ca href=\"https://github.com/klaviyo\"\u003eklaviyo\u003c/a\u003e), \u003ca href=\"https://privacy-solutions.org\"\u003ePrivacy Solutions GmbH\u003c/a\u003e (@\u003ca href=\"https://github.com/privacy-solutions\"\u003eprivacy-solutions\u003c/a\u003e), \u003ca href=\"http://filepreviews.io/\"\u003eFilePreviews\u003c/a\u003e (@\u003ca href=\"https://github.com/filepreviews\"\u003efilepreviews\u003c/a\u003e), \u003ca href=\"https://doist.com/\"\u003eDoist\u003c/a\u003e (@\u003ca href=\"https://github.com/Doist\"\u003eDoist\u003c/a\u003e), Daniel Fortunov (@\u003ca href=\"https://github.com/asqui\"\u003easqui\u003c/a\u003e), and Kevin P. Fleming (@\u003ca href=\"https://github.com/kpfleming\"\u003ekpfleming\u003c/a\u003e).\u003c/p\u003e\n\u003ch3\u003eMaintenance Sustainers\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://buttondown.com\"\u003eButtondown\u003c/a\u003e (@\u003ca href=\"https://github.com/buttondown\"\u003ebuttondown\u003c/a\u003e), \u003ca href=\"https://christopher.xyz\"\u003eChristopher Dignam\u003c/a\u003e (@\u003ca href=\"https://github.com/chdsbd\"\u003echdsbd\u003c/a\u003e), Magnus Watn (@\u003ca href=\"https://github.com/magnuswatn\"\u003emagnuswatn\u003c/a\u003e), \u003ca href=\"https://cra.mr\"\u003eDavid Cramer\u003c/a\u003e (@\u003ca href=\"https://github.com/dcramer\"\u003edcramer\u003c/a\u003e), Jesse Snyder (@\u003ca href=\"https://github.com/jessesnyder\"\u003ejessesnyder\u003c/a\u003e), \u003ca href=\"https://rivolaks.com\"\u003eRivo Laks\u003c/a\u003e (@\u003ca href=\"https://github.com/rivol\"\u003erivol\u003c/a\u003e), \u003ca href=\"https://polar.sh\"\u003ePolar\u003c/a\u003e (@\u003ca href=\"https://github.com/polarsource\"\u003epolarsource\u003c/a\u003e), \u003ca href=\"https://www.miketheman.net\"\u003eMike Fiedler\u003c/a\u003e (@\u003ca href=\"https://github.com/miketheman\"\u003emiketheman\u003c/a\u003e), Duncan Hill (@\u003ca href=\"https://github.com/cricalix\"\u003ecricalix\u003c/a\u003e), Colin Marquardt (@\u003ca href=\"https://github.com/cmarqu\"\u003ecmarqu\u003c/a\u003e), \u003ca href=\"https://blog.journeythatcounts.nl\"\u003ePieter Swinkels\u003c/a\u003e (@\u003ca href=\"https://github.com/swinkels\"\u003eswinkels\u003c/a\u003e), Nick Libertini (@\u003ca href=\"https://github.com/libertininick\"\u003elibertininick\u003c/a\u003e), \u003ca href=\"https://mpr.crossjam.net/\"\u003eBrian M. Dennis\u003c/a\u003e (@\u003ca href=\"https://github.com/crossjam\"\u003ecrossjam\u003c/a\u003e), Ordinary Hobbit (@\u003ca href=\"https://github.com/grillazz\"\u003egrillazz\u003c/a\u003e), Moving Content AG (@\u003ca href=\"https://github.com/moving-content\"\u003emoving-content\u003c/a\u003e), \u003ca href=\"https://westervelt.com\"\u003eThe Westervelt Company\u003c/a\u003e (@\u003ca href=\"https://github.com/westerveltco\"\u003ewesterveltco\u003c/a\u003e), \u003ca href=\"https://slafs.net\"\u003eSławomir Ehlert\u003c/a\u003e (@\u003ca href=\"https://github.com/slafs\"\u003eslafs\u003c/a\u003e), Mostafa Khalil (@\u003ca href=\"https://github.com/khadrawy\"\u003ekhadrawy\u003c/a\u003e), \u003ca href=\"https://fmularczyk.pl\"\u003eFilip Mularczyk\u003c/a\u003e (@\u003ca href=\"https://github.com/mukiblejlok\"\u003emukiblejlok\u003c/a\u003e), Thomas Klinger (@\u003ca href=\"https://github.com/thmsklngr\"\u003ethmsklngr\u003c/a\u003e), \u003ca href=\"https://poehlmann.io\"\u003eAndreas Poehlmann\u003c/a\u003e (@\u003ca href=\"https://github.com/ap--\"\u003eap--\u003c/a\u003e), \u003ca href=\"https://atbigelow.com\"\u003eAugust Trapper Bigelow\u003c/a\u003e (@\u003ca href=\"https://github.com/atbigelow\"\u003eatbigelow\u003c/a\u003e), \u003ca href=\"https://noumenal.es/\"\u003eCarlton Gibson\u003c/a\u003e (@\u003ca href=\"https://github.com/carltongibson\"\u003ecarltongibson\u003c/a\u003e), and \u003ca href=\"https://roboflow.com\"\u003eRoboflow\u003c/a\u003e (@\u003ca href=\"https://github.com/roboflow\"\u003eroboflow\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eFull Changelog\u003c/h2\u003e\n\u003cp\u003eVendoring Argon2 @ \u003ca href=\"https://github.com/P-H-C/phc-winner-argon2/commit/f57e61e19229e23c4445b85494dbf7c07de721cb\"\u003e\u003cstrong\u003e\u003ccode\u003ef57e61e\u003c/code\u003e\u003c/strong\u003e\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOfficial Python 3.12, 3.13, and 3.14 support. No code or packaging changes were necessary.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport for free-threading (aka nogil) on Python 3.14. \u003ca href=\"https://redirect.github.com/hynek/argon2-cffi-bindings/pull/93\"\u003e#93\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWheels for Windows on ARM64. \u003ca href=\"https://redirect.github.com/hynek/argon2-cffi-bindings/pull/83\"\u003e#83\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.6, 3.7, and 3.8 support. There is very little activity on the bindings repo, so it doesn't make sense to carry around the build complexity of those ancient Python versions. The \u003ca href=\"https://pypi.org/project/argon2-cffi-bindings/21.2.0/\"\u003e21.2.0 wheels on PyPI\u003c/a\u003e include support for Python 3.6 and are based on the same Argon2 version.\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hynek/argon2-cffi-bindings/blob/main/CHANGELOG.md\"\u003eargon2-cffi-bindings's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/hynek/argon2-cffi-bindings/compare/21.2.0...25.1.0\"\u003e25.1.0\u003c/a\u003e - 2025-07-30\u003c/h2\u003e\n\u003cp\u003eVendoring Argon2 @ \u003ca href=\"https://github.com/P-H-C/phc-winner-argon2/commit/f57e61e19229e23c4445b85494dbf7c07de721cb\"\u003e\u003cstrong\u003e\u003ccode\u003ef57e61e\u003c/code\u003e\u003c/strong\u003e\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOfficial Python 3.12, 3.13, and 3.14 support.\nNo code or packaging changes were necessary.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport for free-threading (aka nogil) on Python 3.14.\n\u003ca href=\"https://redirect.github.com/hynek/argon2-cffi-bindings/pull/70\"\u003e#70\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/hynek/argon2-cffi-bindings/pull/93\"\u003e#93\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWheels for Windows on ARM64.\n\u003ca href=\"https://redirect.github.com/hynek/argon2-cffi-bindings/pull/83\"\u003e#83\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.6, 3.7, and 3.8 support.\nThere is very little activity on the bindings repo, so it doesn't make sense to carry around the build complexity of those ancient Python versions.\nThe \u003ca href=\"https://pypi.org/project/argon2-cffi-bindings/21.2.0/\"\u003e21.2.0 wheels on PyPI\u003c/a\u003e include support for Python 3.6 and are based on the same Argon2 version.\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/hynek/argon2-cffi-bindings/commit/66f5b2340ef25699504bcc0f08eadcbefaf219aa\"\u003e\u003ccode\u003e66f5b23\u003c/code\u003e\u003c/a\u003e Prepare 25.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/argon2-cffi-bindings/commit/d2c80c05dc12079b7bce081df13a12251281a136\"\u003e\u003ccode\u003ed2c80c0\u003c/code\u003e\u003c/a\u003e Consistency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/argon2-cffi-bindings/commit/cc7181e7de500e5acf8277c6b7abcf1946bbb6bb\"\u003e\u003ccode\u003ecc7181e\u003c/code\u003e\u003c/a\u003e Use dependency groups (\u003ca href=\"https://redirect.github.com/hynek/argon2-cffi-bindings/issues/94\"\u003e#94\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/argon2-cffi-bindings/commit/41aecc197493d627e43ab36e8d30c52811c834d7\"\u003e\u003ccode\u003e41aecc1\u003c/code\u003e\u003c/a\u003e Update metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/argon2-cffi-bindings/commit/1276da7784ff9375842d22c66a8812e3ac51c5e2\"\u003e\u003ccode\u003e1276da7\u003c/code\u003e\u003c/a\u003e Mention new wheels\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/argon2-cffi-bindings/commit/1aad4747f9b73b549f39894a27118037ba484c20\"\u003e\u003ccode\u003e1aad474\u003c/code\u003e\u003c/a\u003e Add support for free-threaded builds (\u003ca href=\"https://redirect.github.com/hynek/argon2-cffi-bindings/issues/70\"\u003e#70\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/argon2-cffi-bindings/commit/3ed973484763dd8084d54cff47d5121653d9ff9b\"\u003e\u003ccode\u003e3ed9734\u003c/code\u003e\u003c/a\u003e Bump pypa/cibuildwheel from 2.23 to 3.0 (\u003ca href=\"https://redirect.github.com/hynek/argon2-cffi-bindings/issues/91\"\u003e#91\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/argon2-cffi-bindings/commit/c2bc26268c939436d8b1584a51dfdeacefb5b6c8\"\u003e\u003ccode\u003ec2bc262\u003c/code\u003e\u003c/a\u003e update Ruff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/argon2-cffi-bindings/commit/e5d69b7ef5690819ae21ab6deb24a49dcf9c1aec\"\u003e\u003ccode\u003ee5d69b7\u003c/code\u003e\u003c/a\u003e Zizmor: clarify trust\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/argon2-cffi-bindings/commit/4bb1e3bad074c923a14892c754a5fa5e41d3d398\"\u003e\u003ccode\u003e4bb1e3b\u003c/code\u003e\u003c/a\u003e Update + rename Ruff\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hynek/argon2-cffi-bindings/compare/21.2.0...25.1.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 `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 `beautifulsoup4` from 4.13.4 to 4.14.2\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 `certifi` from 2025.6.15 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.06.15...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://github.com/python-cffi/cffi/commit/92645ec9329feb03e3fa86240b40fe0fc37469d1\"\u003e\u003ccode\u003e92645ec\u003c/code\u003e\u003c/a\u003e Add Python 3.14 support/testing (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/177\"\u003e#177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-cffi/cffi/commit/2b81170583a898478a6996c9705d8c38ab7f73a1\"\u003e\u003ccode\u003e2b81170\u003c/code\u003e\u003c/a\u003e doc: update test commands in Section Testing/development tips (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/158\"\u003e#158\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-cffi/cffi/commit/25172b84cf51cf58241f074ccd1efd9c7648cb43\"\u003e\u003ccode\u003e25172b8\u003c/code\u003e\u003c/a\u003e doc: update year (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/153\"\u003e#153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-cffi/cffi/commit/b57a92c03eb2078a99c900519a37d18b4d52324f\"\u003e\u003ccode\u003eb57a92c\u003c/code\u003e\u003c/a\u003e issue 147: force-compute nested structs before parent structs.  Occurs mainly...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-cffi/cffi/compare/v1.17.1...v2.0.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.2 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\u003ch2\u003eVersion 3.4.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.2...3.4.3\"\u003e3.4.3\u003c/a\u003e (2025-08-09)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emypy(c) is no longer a required dependency at build time if \u003ccode\u003eCHARSET_NORMALIZER_USE_MYPYC\u003c/code\u003e isn't set to \u003ccode\u003e1\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/595\"\u003e#595\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/583\"\u003e#583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eautomatically lower confidence on small bytes samples that are not Unicode in \u003ccode\u003edetect\u003c/code\u003e output legacy function. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCustom build backend to overcome inability to mark mypy as an optional dependency in the build phase.\u003c/li\u003e\n\u003cli\u003eSupport for Python 3.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esdist archive contained useless directories.\u003c/li\u003e\n\u003cli\u003eautomatically fallback on valid UTF-16 or UTF-32 even if the md says it's noisy. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/633\"\u003e#633\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSBOM are automatically published to the relevant GitHub release to comply with regulatory changes.\nEach published wheel comes with its SBOM. We choose CycloneDX as the format.\u003c/li\u003e\n\u003cli\u003ePrebuilt optimized wheel are no longer distributed by default for CPython 3.7 due to a change in cibuildwheel.\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\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.2...3.4.3\"\u003e3.4.3\u003c/a\u003e (2025-08-09)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emypy(c) is no longer a required dependency at build time if \u003ccode\u003eCHARSET_NORMALIZER_USE_MYPYC\u003c/code\u003e isn't set to \u003ccode\u003e1\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/595\"\u003e#595\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/583\"\u003e#583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eautomatically lower confidence on small bytes samples that are not Unicode in \u003ccode\u003edetect\u003c/code\u003e output legacy function. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCustom build backend to overcome inability to mark mypy as an optional dependency in the build phase.\u003c/li\u003e\n\u003cli\u003eSupport for Python 3.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esdist archive contained useless directories.\u003c/li\u003e\n\u003cli\u003eautomatically fallback on valid UTF-16 or UTF-32 even if the md says it's noisy. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/633\"\u003e#633\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSBOM are automatically published to the relevant GitHub release to comply with regulatory changes.\nEach published wheel comes with its SBOM. We choose CycloneDX as the format.\u003c/li\u003e\n\u003cli\u003ePrebuilt optimized wheel are no longer distributed by default for CPython 3.7 due to a change in cibuildwheel.\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.2...3.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.1.8 to 8.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/releases\"\u003eclick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.1\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.1/\"\u003ehttps://pypi.org/project/click/8.3.1/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-1\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-1\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/28\"\u003ehttps://github.com/pallets/click/milestone/28\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3039\"\u003e#3039\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3055\"\u003e#3055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through the \u003ccode\u003eContext.invoke()\u003c/code\u003e method. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3066\"\u003e#3066\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3065\"\u003e#3065\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3068\"\u003e#3068\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect behavior for multiple parameters using the same name. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3071\"\u003e#3071\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3079\"\u003e#3079\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix rendering when \u003ccode\u003eprompt\u003c/code\u003e and \u003ccode\u003econfirm\u003c/code\u003e parameter \u003ccode\u003eprompt_suffix\u003c/code\u003e is empty. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3019\"\u003e#3019\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3021\"\u003e#3021\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eSentinel.UNSET\u003c/code\u003e is found during parsing, it will skip calls to \u003ccode\u003etype_cast_value\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3069\"\u003e#3069\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3090\"\u003e#3090\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when looking up for other parameters through the context inside parameter callbacks. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3136\"\u003e#3136\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3137\"\u003e#3137\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.3.0\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes.\u003c/p\u003e\n\u003cp\u003eWe encourage everyone to upgrade. You can read more about our \u003ca href=\"https://palletsprojects.com/versions\"\u003eVersion Support Policy\u003c/a\u003e on our website.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.3.0/\"\u003ehttps://pypi.org/project/click/8.3.0/\u003c/a\u003e\nChanges:  \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-0\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-0\u003c/a\u003e\nMilestone \u003ca href=\"https://github.com/pallets/click/milestone/27\"\u003ehttps://github.com/pallets/click/milestone/27\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eImproved flag option handling\u003c/strong\u003e: Reworked the relationship between \u003ccode\u003eflag_value\u003c/code\u003e\nand \u003ccode\u003edefault\u003c/code\u003e parameters for better consistency:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter value is now preserved as-is and passed directly\nto CLI functions (no more unexpected transformations)\u003c/li\u003e\n\u003cli\u003eException: flag options with \u003ccode\u003edefault=True\u003c/code\u003e maintain backward compatibility\nby defaulting to their \u003ccode\u003eflag_value\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003edefault\u003c/code\u003e parameter can now be any type (\u003ccode\u003ebool\u003c/code\u003e, \u003ccode\u003eNone\u003c/code\u003e, etc.)\u003c/li\u003e\n\u003cli\u003eFixes inconsistencies reported in: \u003ca href=\"https://redirect.github.com/pallets/click/issues/1992\"\u003e#1992\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2514\"\u003e#2514\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2610\"\u003e#2610\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3024\"\u003e#3024\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow \u003ccode\u003edefault\u003c/code\u003e to be set on \u003ccode\u003eArgument\u003c/code\u003e for \u003ccode\u003enargs = -1\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2164\"\u003e#2164\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3030\"\u003e#3030\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for \u003ccode\u003enargs\u003c/code\u003e option in combination with flag\noption \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eShow correct auto complete value for nargs option in combination with flag option \u003ca href=\"https://redirect.github.com/pallets/click/issues/2813\"\u003e#2813\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix handling of quoted and escaped parameters in Fish autocompletion. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2995\"\u003e#2995\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3013\"\u003e#3013\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLazily import \u003ccode\u003eshutil\u003c/code\u003e.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3023\"\u003e#3023\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eProperly forward exception information to resources registered with\n\u003ccode\u003eclick.core.Context.with_resource()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2447\"\u003e#2447\u003c/a\u003e  \u003ca href=\"https://redirect.github.com/pallets/click/issues/3058\"\u003e#3058\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix regression related to EOF handling in CliRunner.  \u003ca href=\"https://redirect.github.com/pallets/click/issues/2939\"\u003e#2939\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2940\"\u003e#2940\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.\u003c/p\u003e\n\u003cp\u003ePyPI: \u003ca href=\"https://pypi.org/project/click/8.2.2/\"\u003ehttps://pypi.org/project/click/8.2.2/\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pallets/click/blob/8.3.1/CHANGES.rst\"\u003eclick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 8.3.1\u003c/h2\u003e\n\u003cp\u003eReleased 2025-11-15\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDon't discard pager arguments by correctly using \u003ccode\u003esubprocess.Popen\u003c/code\u003e. :issue:\u003ccode\u003e3039\u003c/code\u003e\n:pr:\u003ccode\u003e3055\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eSentinel.UNSET\u003c/code\u003e default values by \u003ccode\u003eNone\u003c/code\u003e as they're passed through\nthe \u003ccode\u003eContext.invoke()\u003c/code\u003e method. :issue:\u003ccode\u003e3066\u003c/code\u003e :issue:\u003ccode\u003e3065\u003c/code\u003e :pr:\u003ccode\u003e3068\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eSentinel.UNSET\u003c/code\u003e happening too early, which caused incorrect\nbehavior for multiple parameters using the same name. :issue:\u003ccode\u003e3071\u003c/code\u003e :pr:\u003ccode\u003e3079\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNo...\n\n_Description has been truncated_","html_url":"https://github.com/manulthanura/ReviewClassifier/pull/72","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/manulthanura%2FReviewClassifier/issues/72","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/72/packages"}}]}