{"id":12128,"name":"optuna","ecosystem":"pip","repository_url":"https://github.com/optuna/optuna","issues_count":101,"created_at":"2025-06-06T23:11:49.589Z","updated_at":"2025-06-06T23:11:49.589Z","purl":"pkg:pypi/optuna","metadata":{"id":2841592,"name":"optuna","ecosystem":"pypi","description":"A hyperparameter optimization framework","homepage":null,"licenses":"MIT License","normalized_licenses":["MIT"],"repository_url":"https://github.com/optuna/optuna","keywords_array":[],"namespace":null,"versions_count":71,"first_release_published_at":"2018-10-19T03:24:34.000Z","latest_release_published_at":"2025-04-14T05:07:40.000Z","latest_release_number":"4.3.0","last_synced_at":"2025-06-06T14:32:07.354Z","created_at":"2022-04-10T11:57:47.941Z","updated_at":"2025-06-06T14:32:07.355Z","registry_url":"https://pypi.org/project/optuna/","install_command":"pip install optuna --index-url https://pypi.org/simple","documentation_url":"https://optuna.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Development Status :: 5 - Production/Stable","Intended Audience :: Developers","Intended Audience :: Science/Research","License :: OSI Approved :: MIT License","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.8","Programming Language :: Python :: 3.9","Topic :: Scientific/Engineering","Topic :: Scientific/Engineering :: Artificial Intelligence","Topic :: Scientific/Engineering :: Mathematics","Topic :: Software Development","Topic :: Software Development :: Libraries","Topic :: Software Development :: Libraries :: Python Modules"],"normalized_name":"optuna"},"repo_metadata":{"id":37382528,"uuid":"122299416","full_name":"optuna/optuna","owner":"optuna","description":"A hyperparameter optimization framework","archived":false,"fork":false,"pushed_at":"2024-10-29T09:40:45.000Z","size":19746,"stargazers_count":10795,"open_issues_count":68,"forks_count":1027,"subscribers_count":117,"default_branch":"master","last_synced_at":"2024-10-29T11:46:59.589Z","etag":null,"topics":["distributed","hacktoberfest","hyperparameter-optimization","machine-learning","parallel","python"],"latest_commit_sha":null,"homepage":"https://optuna.org","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/optuna.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","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},"funding":{"github":"optuna"}},"created_at":"2018-02-21T06:12:56.000Z","updated_at":"2024-10-29T09:40:50.000Z","dependencies_parsed_at":"2024-05-31T09:58:00.643Z","dependency_job_id":"3f6954f3-1b7b-4a32-b401-594ec22e8011","html_url":"https://github.com/optuna/optuna","commit_stats":{"total_commits":12819,"total_committers":310,"mean_commits":"41.351612903225806","dds":0.9141118652000936,"last_synced_commit":"0253dea2f8f6c82f5e5b115ef3f92d452b701bb9"},"previous_names":["pfnet/optuna"],"tags_count":64,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/optuna","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222130487,"owners_count":16936299,"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":"optuna","name":"optuna","uuid":"57251745","kind":"organization","description":"","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/57251745?v=4","repositories_count":11,"last_synced_at":"2024-05-20T15:02:56.752Z","metadata":{"has_sponsors_listing":true},"html_url":"https://github.com/optuna","funding_links":["https://github.com/sponsors/optuna"],"total_stars":10966,"followers":191,"following":0,"created_at":"2022-11-02T16:35:16.392Z","updated_at":"2024-05-20T15:03:02.748Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/optuna","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/optuna/repositories"},"tags":[{"name":"v3.6.1","sha":"39f83f7eda0979af27d5e9dd6acc7a08fa1c63ec","kind":"commit","published_at":"2024-03-29T05:44:23.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v3.6.1","html_url":"https://github.com/optuna/optuna/releases/tag/v3.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.6.1/manifests"},{"name":"v3.6.0","sha":"0f320d45d14c5cb7988507d1e85d896b79eeb037","kind":"commit","published_at":"2024-03-18T05:56:36.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v3.6.0","html_url":"https://github.com/optuna/optuna/releases/tag/v3.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.6.0/manifests"},{"name":"v3.5.0","sha":"b51db34ab61e52a8256d085212de68d10e55e6f1","kind":"commit","published_at":"2023-12-08T06:05:08.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v3.5.0","html_url":"https://github.com/optuna/optuna/releases/tag/v3.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.5.0/manifests"},{"name":"v3.4.0","sha":"4ea580fca08dfbf5525692d857893770cb4e7208","kind":"commit","published_at":"2023-10-13T05:59:41.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v3.4.0","html_url":"https://github.com/optuna/optuna/releases/tag/v3.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.4.0/manifests"},{"name":"v3.3.0","sha":"da305057280c71b26d6647737908e4af3d448e50","kind":"commit","published_at":"2023-08-04T06:57:18.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v3.3.0","html_url":"https://github.com/optuna/optuna/releases/tag/v3.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.3.0/manifests"},{"name":"v3.2.0","sha":"311de0b2b831d91861916c87cfdfca7cf64e75c3","kind":"commit","published_at":"2023-05-26T07:21:15.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v3.2.0","html_url":"https://github.com/optuna/optuna/releases/tag/v3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.2.0/manifests"},{"name":"v3.1.1","sha":"340851e4b742a91e41efabcee9a8e1ca6d8ebc8b","kind":"commit","published_at":"2023-04-06T07:02:22.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v3.1.1","html_url":"https://github.com/optuna/optuna/releases/tag/v3.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.1.1/manifests"},{"name":"v3.0.6","sha":"003848e89618d741a7fc9a1b2a31a80816e3429f","kind":"commit","published_at":"2023-03-09T07:02:07.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v3.0.6","html_url":"https://github.com/optuna/optuna/releases/tag/v3.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.0.6/manifests"},{"name":"v3.1.0","sha":"6adfe8cd953b3b8d85aad3a6c0b0991cbdc6ad40","kind":"commit","published_at":"2023-01-17T07:30:54.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v3.1.0","html_url":"https://github.com/optuna/optuna/releases/tag/v3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.1.0/manifests"},{"name":"v3.1.0-b0","sha":"cdc35d7e5cdab59d5d9235abf6ee76063e9512b0","kind":"commit","published_at":"2022-12-21T05:53:38.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v3.1.0-b0","html_url":"https://github.com/optuna/optuna/releases/tag/v3.1.0-b0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.1.0-b0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.1.0-b0/manifests"},{"name":"v3.0.5","sha":"0d521314a51de7e9d66406b3ab50d55aed06e3b3","kind":"commit","published_at":"2022-12-19T07:35:02.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v3.0.5","html_url":"https://github.com/optuna/optuna/releases/tag/v3.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.0.5/manifests"},{"name":"v3.0.4","sha":"a204e6c25cefbddcff8cc9f547ad54df60c73a63","kind":"commit","published_at":"2022-12-01T06:05:22.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v3.0.4","html_url":"https://github.com/optuna/optuna/releases/tag/v3.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.0.4/manifests"},{"name":"v3.0.3","sha":"dafd0ccdc85f5b2d185264a4b9debf3643db64fe","kind":"commit","published_at":"2022-10-11T04:09:10.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v3.0.3","html_url":"https://github.com/optuna/optuna/releases/tag/v3.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.0.3/manifests"},{"name":"v3.0.2","sha":"5000dbe185aed6c65a7a07dff41a4c9f000ec52a","kind":"commit","published_at":"2022-09-15T06:53:49.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v3.0.2","html_url":"https://github.com/optuna/optuna/releases/tag/v3.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.0.2/manifests"},{"name":"v3.0.1","sha":"b69714e9631506a89494a034c541573a60389dfe","kind":"commit","published_at":"2022-09-08T08:04:17.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v3.0.1","html_url":"https://github.com/optuna/optuna/releases/tag/v3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.0.1/manifests"},{"name":"v3.0.0","sha":"cf09ea9327ce764afe8991fabcc65e7bfbd6d76c","kind":"commit","published_at":"2022-08-26T06:42:06.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v3.0.0","html_url":"https://github.com/optuna/optuna/releases/tag/v3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.0.0/manifests"},{"name":"v3.0.0-rc0","sha":"c12b9b1b254d3e4db1fb64ca45bde9987edcd0de","kind":"commit","published_at":"2022-08-05T05:59:29.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v3.0.0-rc0","html_url":"https://github.com/optuna/optuna/releases/tag/v3.0.0-rc0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.0.0-rc0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.0.0-rc0/manifests"},{"name":"v2.10.1","sha":"cca4adc0b9000b659d0d0df2b36f13888a61cba3","kind":"commit","published_at":"2022-06-08T08:53:16.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v2.10.1","html_url":"https://github.com/optuna/optuna/releases/tag/v2.10.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v2.10.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v2.10.1/manifests"},{"name":"v3.0.0-b1","sha":"69363f60a41d48bf35f5ec57e092409a278295c8","kind":"commit","published_at":"2022-06-06T06:58:16.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v3.0.0-b1","html_url":"https://github.com/optuna/optuna/releases/tag/v3.0.0-b1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.0.0-b1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.0.0-b1/manifests"},{"name":"v3.0.0-b0","sha":"c8f5b4fe8779970cd67b6ae8aea8b8982e0571e3","kind":"commit","published_at":"2022-04-08T06:05:01.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v3.0.0-b0","html_url":"https://github.com/optuna/optuna/releases/tag/v3.0.0-b0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.0.0-b0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.0.0-b0/manifests"},{"name":"v3.0.0-a2","sha":"50ceeff88f8a04b7c30e1b5789398c47dc8b2373","kind":"commit","published_at":"2022-02-09T05:57:58.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v3.0.0-a2","html_url":"https://github.com/optuna/optuna/releases/tag/v3.0.0-a2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.0.0-a2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.0.0-a2/manifests"},{"name":"v3.0.0-a1","sha":"187b011ce23ab91d66e14b812da9a1fa6c6665fd","kind":"commit","published_at":"2022-02-04T05:50:44.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v3.0.0-a1","html_url":"https://github.com/optuna/optuna/releases/tag/v3.0.0-a1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.0.0-a1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.0.0-a1/manifests"},{"name":"v3.0.0-a0","sha":"ca289d926ebb49baea9180c59118a84187aabc27","kind":"commit","published_at":"2021-12-03T06:08:42.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v3.0.0-a0","html_url":"https://github.com/optuna/optuna/releases/tag/v3.0.0-a0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.0.0-a0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v3.0.0-a0/manifests"},{"name":"v2.10.0","sha":"40b097650d312913989b5825aa9c9adf4b15c396","kind":"commit","published_at":"2021-10-01T05:37:35.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v2.10.0","html_url":"https://github.com/optuna/optuna/releases/tag/v2.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v2.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v2.10.0/manifests"},{"name":"v2.9.1","sha":"baf687cdc70e98107e2eebf5c2933d33992b7665","kind":"commit","published_at":"2021-08-03T05:45:23.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v2.9.1","html_url":"https://github.com/optuna/optuna/releases/tag/v2.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v2.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v2.9.1/manifests"},{"name":"v2.9.0","sha":"da236185e70994276a319808460c76646dcc7c88","kind":"commit","published_at":"2021-08-01T23:33:04.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v2.9.0","html_url":"https://github.com/optuna/optuna/releases/tag/v2.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v2.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v2.9.0/manifests"},{"name":"v2.8.0","sha":"cbfefe350d38aa47afff49094be0da1a60ee3d3f","kind":"commit","published_at":"2021-06-07T05:44:57.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v2.8.0","html_url":"https://github.com/optuna/optuna/releases/tag/v2.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v2.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v2.8.0/manifests"},{"name":"v2.7.0","sha":"cfa9011cfc809ad35801e91ff529564bc9b367e1","kind":"commit","published_at":"2021-04-05T02:41:27.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v2.7.0","html_url":"https://github.com/optuna/optuna/releases/tag/v2.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v2.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v2.7.0/manifests"},{"name":"v2.6.0","sha":"d8a1a58b68e11ab9ea01631693bdbb0173204942","kind":"commit","published_at":"2021-03-05T06:58:42.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v2.6.0","html_url":"https://github.com/optuna/optuna/releases/tag/v2.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v2.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v2.6.0/manifests"},{"name":"v2.5.0","sha":"f3b868c7b6139826496c2fdf9ca57088a20cca22","kind":"commit","published_at":"2021-01-29T05:18:00.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v2.5.0","html_url":"https://github.com/optuna/optuna/releases/tag/v2.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v2.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v2.5.0/manifests"},{"name":"v2.4.0","sha":"bf60fab2473599188c2722fff1f743d372412331","kind":"commit","published_at":"2021-01-12T07:32:01.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v2.4.0","html_url":"https://github.com/optuna/optuna/releases/tag/v2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v2.4.0/manifests"},{"name":"v2.3.0","sha":"8ef763023e5ad858284566b3de2fa5eca7fd19b2","kind":"commit","published_at":"2020-10-30T07:05:54.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v2.3.0","html_url":"https://github.com/optuna/optuna/releases/tag/v2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v2.3.0/manifests"},{"name":"v2.2.0","sha":"131d916f46acdace6cf0963d2f2bd80d76969dd7","kind":"commit","published_at":"2020-10-02T05:25:45.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v2.2.0","html_url":"https://github.com/optuna/optuna/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v2.2.0/manifests"},{"name":"v2.1.0","sha":"c06e7d610b12984c53e1347a064667bead4a77fa","kind":"commit","published_at":"2020-09-07T04:23:09.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v2.1.0","html_url":"https://github.com/optuna/optuna/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v2.1.0/manifests"},{"name":"v2.0.0","sha":"bb91b3c36278c05a58594d96767b2baf08ac0e43","kind":"commit","published_at":"2020-07-27T09:07:09.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v2.0.0","html_url":"https://github.com/optuna/optuna/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v2.0.0/manifests"},{"name":"v2.0.0-rc0","sha":"61c6a0acb22338789a83a02bb147326159f41d1e","kind":"commit","published_at":"2020-07-03T06:31:25.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v2.0.0-rc0","html_url":"https://github.com/optuna/optuna/releases/tag/v2.0.0-rc0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v2.0.0-rc0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v2.0.0-rc0/manifests"},{"name":"v1.5.0","sha":"69ee3ae5477dc6526b5c62320e4ad0393674cfd5","kind":"commit","published_at":"2020-06-01T08:33:19.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v1.5.0","html_url":"https://github.com/optuna/optuna/releases/tag/v1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v1.5.0/manifests"},{"name":"v1.4.0","sha":"24300dc57661bff7961499a2d52534fcd41ad258","kind":"commit","published_at":"2020-05-11T04:03:11.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v1.4.0","html_url":"https://github.com/optuna/optuna/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v1.4.0/manifests"},{"name":"v1.3.0","sha":"387fb2119110cd7d74c6f00e3896f168a3459115","kind":"commit","published_at":"2020-04-02T01:12:57.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v1.3.0","html_url":"https://github.com/optuna/optuna/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v1.3.0/manifests"},{"name":"v1.2.0","sha":"ad5411b2011200eff6df21d7dd875f33ab6312b2","kind":"commit","published_at":"2020-03-05T01:07:59.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v1.2.0","html_url":"https://github.com/optuna/optuna/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v1.2.0/manifests"},{"name":"v1.1.0","sha":"f7fb69bc49ef534cdbaeb16597e86043bf3b0bce","kind":"commit","published_at":"2020-02-06T00:54:06.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v1.1.0","html_url":"https://github.com/optuna/optuna/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v1.1.0/manifests"},{"name":"v1.0.0","sha":"08db265181cb02bc469021b69e2342e219774cf2","kind":"commit","published_at":"2020-01-14T01:11:13.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v1.0.0","html_url":"https://github.com/optuna/optuna/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v1.0.0/manifests"},{"name":"v0.19.0","sha":"5e1d1e5ea824007b20ea403365a1f1ab68979b77","kind":"commit","published_at":"2019-11-18T02:00:29.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v0.19.0","html_url":"https://github.com/optuna/optuna/releases/tag/v0.19.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.19.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.19.0/manifests"},{"name":"v0.18.1","sha":"f9d46faa5e3e806bb57794be84f79abc80562860","kind":"commit","published_at":"2019-11-08T04:59:27.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v0.18.1","html_url":"https://github.com/optuna/optuna/releases/tag/v0.18.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.18.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.18.1/manifests"},{"name":"v0.18.0","sha":"c37450be489c1d09d8bb543626e966146bd9a10e","kind":"commit","published_at":"2019-11-07T01:20:36.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v0.18.0","html_url":"https://github.com/optuna/optuna/releases/tag/v0.18.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.18.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.18.0/manifests"},{"name":"v0.17.1","sha":"b30aca2ef3b843d6a2939aa7abc212e4c090157c","kind":"commit","published_at":"2019-10-15T01:51:00.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v0.17.1","html_url":"https://github.com/optuna/optuna/releases/tag/v0.17.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.17.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.17.1/manifests"},{"name":"v0.17.0","sha":"d7b1e6208d7036f56f932b20d3957db0fab94985","kind":"commit","published_at":"2019-10-11T01:44:08.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v0.17.0","html_url":"https://github.com/optuna/optuna/releases/tag/v0.17.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.17.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.17.0/manifests"},{"name":"v0.16.0","sha":"15d31fd0ccd6a7bf4b90de1b4d17a94c5f031b33","kind":"commit","published_at":"2019-09-12T01:04:54.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v0.16.0","html_url":"https://github.com/optuna/optuna/releases/tag/v0.16.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.16.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.16.0/manifests"},{"name":"v0.15.0","sha":"d33a1946153737bb8b51469805eccddb8da0a37a","kind":"commit","published_at":"2019-08-29T01:03:08.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v0.15.0","html_url":"https://github.com/optuna/optuna/releases/tag/v0.15.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.15.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.15.0/manifests"},{"name":"v0.14.0","sha":"a602cabb9dddc30889088ad34f1aec6c16e4b583","kind":"commit","published_at":"2019-08-01T01:02:57.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v0.14.0","html_url":"https://github.com/optuna/optuna/releases/tag/v0.14.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.14.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.14.0/manifests"},{"name":"v0.13.0","sha":"9fbcef8c23346bbf6e134314673250faac646c2c","kind":"commit","published_at":"2019-07-04T01:44:25.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v0.13.0","html_url":"https://github.com/optuna/optuna/releases/tag/v0.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.13.0/manifests"},{"name":"v0.12.0","sha":"aab0fd77eac86b8ac804693ae6256cdcbdeff53b","kind":"commit","published_at":"2019-06-06T01:30:34.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v0.12.0","html_url":"https://github.com/optuna/optuna/releases/tag/v0.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.12.0/manifests"},{"name":"v0.11.0","sha":"2646be6eb716d8f1b4ec44e9ca71abd5ef7051fc","kind":"commit","published_at":"2019-05-23T01:57:03.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v0.11.0","html_url":"https://github.com/optuna/optuna/releases/tag/v0.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.11.0/manifests"},{"name":"v0.10.0","sha":"9cdba112dab115f403574cc861b55fe88e59badd","kind":"commit","published_at":"2019-04-22T05:18:47.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v0.10.0","html_url":"https://github.com/optuna/optuna/releases/tag/v0.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.10.0/manifests"},{"name":"v0.9.0","sha":"1c2b0dfabf64153fa14de3d5160921a9fb6a9e09","kind":"commit","published_at":"2019-03-19T07:32:10.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v0.9.0","html_url":"https://github.com/optuna/optuna/releases/tag/v0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.9.0/manifests"},{"name":"v0.8.0","sha":"a8a31696ad575aee84c2f8811d714afcc801a89b","kind":"commit","published_at":"2019-02-26T01:15:23.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v0.8.0","html_url":"https://github.com/optuna/optuna/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.8.0/manifests"},{"name":"v0.7.0","sha":"ccc9f479a276c48437d52154655b60d5c3ec5f96","kind":"commit","published_at":"2019-01-24T01:57:01.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v0.7.0","html_url":"https://github.com/optuna/optuna/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"69f97ce2dd18e4ce4e2d4608934022fb966c3d7a","kind":"commit","published_at":"2019-01-10T01:12:49.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v0.6.0","html_url":"https://github.com/optuna/optuna/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"c531e61f096cce4adecdaaf4585dc69046e41f7b","kind":"commit","published_at":"2018-12-14T01:40:40.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v0.5.0","html_url":"https://github.com/optuna/optuna/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"b07b0c04dec9300cea3d4222701cfe35e58680b5","kind":"commit","published_at":"2018-12-03T02:51:51.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v0.4.0","html_url":"https://github.com/optuna/optuna/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"9f4fbcfc435e071eb84b29a5e4ac39a8f9842922","kind":"commit","published_at":"2018-11-14T08:20:36.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v0.3.0","html_url":"https://github.com/optuna/optuna/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.3.0/manifests"},{"name":"v0.2.1","sha":"def0cf6931a492ca18381efbc412b1e51cd7c5ca","kind":"commit","published_at":"2018-09-06T10:53:29.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v0.2.1","html_url":"https://github.com/optuna/optuna/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"8b7caba979894d770b4320090295cd8e33e505ad","kind":"commit","published_at":"2018-08-15T08:08:16.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v0.2.0","html_url":"https://github.com/optuna/optuna/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.2.0/manifests"},{"name":"v0.1.0","sha":"d33695416a5813b494cd09597f118202782b2ad3","kind":"commit","published_at":"2018-05-10T08:41:56.000Z","download_url":"https://codeload.github.com/optuna/optuna/tar.gz/v0.1.0","html_url":"https://github.com/optuna/optuna/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optuna%2Foptuna/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2024-10-29T23:10:15.890Z","dependent_packages_count":386,"downloads":4517927,"downloads_period":"last-month","dependent_repos_count":2141,"rankings":{"downloads":0.22468895670545624,"dependent_repos_count":0.23751141692130756,"dependent_packages_count":0.07618476186340822,"stargazers_count":null,"forks_count":null,"docker_downloads_count":0.6966591935331081,"average":0.30876108225582005},"purl":"pkg:pypi/optuna","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/optuna","docker_dependents_count":261,"docker_downloads_count":25080105,"usage_url":"https://repos.ecosyste.ms/usage/pypi/optuna","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/optuna/dependencies","status":null,"funding_links":["https://github.com/sponsors/optuna"],"critical":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/optuna/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/optuna/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/optuna/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/optuna/related_packages","maintainers":[{"uuid":"c-bata","login":"c-bata","name":null,"email":null,"url":null,"packages_count":22,"html_url":"https://pypi.org/user/c-bata/","role":"Owner","created_at":"2023-12-13T16:20:50.166Z","updated_at":"2023-12-13T16:20:50.166Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/c-bata/packages"},{"uuid":"toshihikoyanase","login":"toshihikoyanase","name":null,"email":null,"url":null,"packages_count":10,"html_url":"https://pypi.org/user/toshihikoyanase/","role":null,"created_at":"2022-12-20T09:08:42.053Z","updated_at":"2022-12-20T09:08:42.053Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/toshihikoyanase/packages"},{"uuid":"mamu","login":"mamu","name":null,"email":null,"url":null,"packages_count":8,"html_url":"https://pypi.org/user/mamu/","role":null,"created_at":"2022-12-20T09:08:42.027Z","updated_at":"2022-12-20T09:08:42.027Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/mamu/packages"},{"uuid":"nabenabe0928","login":"nabenabe0928","name":null,"email":null,"url":null,"packages_count":20,"html_url":"https://pypi.org/user/nabenabe0928/","role":"Owner","created_at":"2023-12-13T16:20:50.281Z","updated_at":"2023-12-13T16:20:50.281Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/nabenabe0928/packages"},{"uuid":"not","login":"not","name":null,"email":null,"url":null,"packages_count":9,"html_url":"https://pypi.org/user/not/","role":"Owner","created_at":"2023-12-13T16:20:50.326Z","updated_at":"2023-12-13T16:20:50.326Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/not/packages"},{"uuid":"contramundum53","login":"contramundum53","name":null,"email":null,"url":null,"packages_count":6,"html_url":"https://pypi.org/user/contramundum53/","role":"Owner","created_at":"2023-12-13T16:20:50.202Z","updated_at":"2023-12-13T16:20:50.202Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/contramundum53/packages"},{"uuid":"knshnb","login":"knshnb","name":null,"email":null,"url":null,"packages_count":6,"html_url":"https://pypi.org/user/knshnb/","role":"Owner","created_at":"2023-12-13T16:20:50.245Z","updated_at":"2023-12-13T16:20:50.245Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/knshnb/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":690419,"maintainers_count":292811,"namespaces_count":0,"keywords_count":228590,"github":"pypi","metadata":{"funded_packages_count":48950},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-06-06T05:32:09.692Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}},"unique_repositories_count":70,"unique_repositories_count_past_30_days":4,"recent_issues":[{"uuid":"4637339102","node_id":"PR_kwDOFBt0FM7lKKx_","number":956,"state":"open","title":"chore(deps)(deps): bump the python-versions group across 1 directory with 11 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-11T04:54:54.000Z","updated_at":"2026-06-11T04:55:37.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps): bump","group_name":"python-versions","update_count":11,"packages":[{"name":"huggingface-hub","old_version":"1.17.0","new_version":"1.18.0","repository_url":"https://github.com/huggingface/huggingface_hub"},{"name":"ruff","old_version":"0.15.15","new_version":"0.15.16","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ipython","old_version":"9.14.0","new_version":"9.14.1","repository_url":"https://github.com/ipython/ipython"},{"name":"optuna","old_version":"4.8.0","new_version":"4.9.0","repository_url":"https://github.com/optuna/optuna"},{"name":"sphinx-autodoc-typehints","old_version":"3.10.4","new_version":"3.10.5","repository_url":"https://github.com/tox-dev/sphinx-autodoc-typehints"},{"name":"dagster","old_version":"1.13.7","new_version":"1.13.8","repository_url":"https://github.com/dagster-io/dagster"},{"name":"plotly","old_version":"6.7.0","new_version":"6.8.0","repository_url":"https://github.com/plotly/plotly.py"},{"name":"tqdm","old_version":"4.67.3","new_version":"4.68.1","repository_url":"https://github.com/tqdm/tqdm"},{"name":"holidays","old_version":"0.97","new_version":"0.98","repository_url":"https://github.com/vacanza/holidays"},{"name":"mlflow-skinny","old_version":"3.12.0","new_version":"3.13.0","repository_url":"https://github.com/mlflow/mlflow"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-versions group with 10 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [huggingface-hub](https://github.com/huggingface/huggingface_hub) | `1.17.0` | `1.18.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.15` | `0.15.16` |\n| [ipython](https://github.com/ipython/ipython) | `9.14.0` | `9.14.1` |\n| [optuna](https://github.com/optuna/optuna) | `4.8.0` | `4.9.0` |\n| [sphinx-autodoc-typehints](https://github.com/tox-dev/sphinx-autodoc-typehints) | `3.10.4` | `3.10.5` |\n| [dagster](https://github.com/dagster-io/dagster) | `1.13.7` | `1.13.8` |\n| [plotly](https://github.com/plotly/plotly.py) | `6.7.0` | `6.8.0` |\n| [tqdm](https://github.com/tqdm/tqdm) | `4.67.3` | `4.68.1` |\n| [holidays](https://github.com/vacanza/holidays) | `0.97` | `0.98` |\n| [mlflow-skinny](https://github.com/mlflow/mlflow) | `3.12.0` | `3.13.0` |\n\n\nUpdates `huggingface-hub` from 1.17.0 to 1.18.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/huggingface/huggingface_hub/releases\"\u003ehuggingface-hub's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v1.18.0] Unified file copying, web URL support, and storage usage\u003c/h2\u003e\n\u003ch2\u003e🖥️ Unified \u003ccode\u003ehf cp\u003c/code\u003e command\u003c/h2\u003e\n\u003cp\u003eA single \u003ccode\u003ehf cp\u003c/code\u003e command now handles all file-copy workflows (upload a local file, download from the Hub, or copy between two remote locations) with consistent \u003ccode\u003ehf://\u003c/code\u003e URI syntax for both repositories and buckets. It is also available as \u003ccode\u003ehf repos cp\u003c/code\u003e and \u003ccode\u003ehf buckets cp\u003c/code\u003e; all three aliases are identical, so you can use whichever reads best for your workflow. You can stream from stdin (\u003ccode\u003e-\u003c/code\u003e) or to stdout (\u003ccode\u003e-\u003c/code\u003e), and a trailing \u003ccode\u003e/\u003c/code\u003e on the source path gives you rsync-style semantics (copy the folder contents, not the folder itself). Note that remote-to-remote copies only work within the same \u003ca href=\"https://huggingface.co/docs/hub/storage-regions\"\u003estorage region\u003c/a\u003e, and bucket-to-repo is not yet supported.\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003e# Upload a local file to a repo\r\nhf cp ./model.safetensors hf://username/my-model/model.safetensors\r\n\u003ch1\u003eDownload a file to stdout\u003c/h1\u003e\n\u003cp\u003ehf cp hf://username/my-model/config.json - | jq .\u003c/p\u003e\n\u003ch1\u003eCopy between two Hub repos\u003c/h1\u003e\n\u003cp\u003ehf cp hf://username/source-model/config.json hf://username/dest-model/config.json\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e📚 \u003cstrong\u003eDocumentation:\u003c/strong\u003e \u003ca href=\"https://huggingface.co/docs/huggingface_hub/main/en/guides/cli#copy-files\"\u003eCLI guide — Copy files\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[CLI] Add unified \u003ccode\u003ehf cp\u003c/code\u003e command (aliased as \u003ccode\u003ehf repos cp\u003c/code\u003e and \u003ccode\u003ehf buckets cp\u003c/code\u003e) by \u003ca href=\"https://github.com/Wauplin\"\u003e\u003ccode\u003e@​Wauplin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/4295\"\u003e#4295\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:egg: Easter egg:explore your storage usage\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003e[CLI] Easter egg: city skyline in \u003ccode\u003ehf repos ls\u003c/code\u003e by \u003ca href=\"https://github.com/Wauplin\"\u003e\u003ccode\u003e@​Wauplin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/4287\"\u003e#4287\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🔗 Paste web URLs directly\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003eparse_hf_uri\u003c/code\u003e now accepts Hugging Face \u003cstrong\u003eweb URLs\u003c/strong\u003e so you can paste a link straight into the CLI or the library and it \u0026quot;just works\u0026quot;.\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003e# Copy-paste a URL from the website\r\nhf cp https://huggingface.co/nvidia/LocateAnything-3B/blob/main/config.json - | jq '.architectures'\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e📚 \u003cstrong\u003eDocumentation:\u003c/strong\u003e \u003ca href=\"https://huggingface.co/docs/huggingface_hub/main/en/package_reference/hf_uris#web-urls\"\u003eHF URIs — Web URLs\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[URIs] Parse web URLs in \u003ccode\u003eparse_hf_uri\u003c/code\u003e + add \u003ccode\u003eHfUri.to_url\u003c/code\u003e by \u003ca href=\"https://github.com/Wauplin\"\u003e\u003ccode\u003e@​Wauplin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/4296\"\u003e#4296\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🚨 Breaking change\u003c/h2\u003e\n\u003cp\u003eOn Lustre, GPFS, and some NFS mounts, \u003ccode\u003eflock(2)\u003c/code\u003e silently succeeds for every caller, which means \u003ccode\u003efilelock\u003c/code\u003e provides no mutual exclusion. When multiple \u003ccode\u003ehf_hub_download\u003c/code\u003e calls race for the same file, they can append to the same \u003ccode\u003e.incomplete\u003c/code\u003e file and silently corrupt the blob cache. This release fixes that by always downloading to a fresh temporary file instead of resuming an incomplete one, making the download path safe even when file locking is broken. \u003ccode\u003efilelock\u003c/code\u003e is still used as a \u0026quot;best-effort\u0026quot; hint to avoid unnecessary duplicate downloads, but correctness no longer depends on it. \u003cstrong\u003eThis is a breaking change: resuming a previously failed partial download is no longer possible. However, file resumability was already a niche use case only applicable when \u003ccode\u003ehf_xet\u003c/code\u003e is disabled.\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Fix] Make concurrent downloads safe even when file locking is broken by \u003ca href=\"https://github.com/Wauplin\"\u003e\u003ccode\u003e@​Wauplin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/4306\"\u003e#4306\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🖥️ CLI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[CLI] inline enum choices in the generated CLI skill by \u003ca href=\"https://github.com/hanouticelina\"\u003e\u003ccode\u003e@​hanouticelina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/4299\"\u003e#4299\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/huggingface/huggingface_hub/commit/64e53566ec136eb8e2a30d02639d6407e95d746f\"\u003e\u003ccode\u003e64e5356\u003c/code\u003e\u003c/a\u003e Release: v1.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/huggingface_hub/commit/b1c4c20a24d2246cad2b209c83ea854ebbe317ea\"\u003e\u003ccode\u003eb1c4c20\u003c/code\u003e\u003c/a\u003e Release: v1.18.0.rc0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/huggingface_hub/commit/c505f7755a780c9be9e9764b350575ddff460baa\"\u003e\u003ccode\u003ec505f77\u003c/code\u003e\u003c/a\u003e [Fix] Make concurrent downloads safe even when file locking is broken (\u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/4306\"\u003e#4306\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/huggingface_hub/commit/d04c3b2083a07e34cbb6914c366edca0fd00a8ab\"\u003e\u003ccode\u003ed04c3b2\u003c/code\u003e\u003c/a\u003e [URIs] Parse web URLs in \u003ccode\u003eparse_hf_uri\u003c/code\u003e + add \u003ccode\u003eHfUri.to_url\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/4296\"\u003e#4296\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/huggingface_hub/commit/0e57086dcefff2d6939cfb29e93d34a9cb57441e\"\u003e\u003ccode\u003e0e57086\u003c/code\u003e\u003c/a\u003e Bump the actions group with 2 updates (\u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/4309\"\u003e#4309\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/huggingface_hub/commit/e628f153cd3ddc528f2f4211908de950571eff1d\"\u003e\u003ccode\u003ee628f15\u003c/code\u003e\u003c/a\u003e [Download] Probe umask next to incomplete file instead of two levels above de...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/huggingface_hub/commit/f4a91c2e3da71fc9c49dfc479ded07433466a1d3\"\u003e\u003ccode\u003ef4a91c2\u003c/code\u003e\u003c/a\u003e [CLI] inline enum choices in the generated CLI skill (\u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/4299\"\u003e#4299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/huggingface_hub/commit/1138933105930098fbd4d51a384e1baafb0b90ec\"\u003e\u003ccode\u003e1138933\u003c/code\u003e\u003c/a\u003e [Docs] Mention storage region limitation for server-side copy (\u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/4302\"\u003e#4302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/huggingface_hub/commit/26a6df1abfdca37ddd380a1e3c926db20ee35477\"\u003e\u003ccode\u003e26a6df1\u003c/code\u003e\u003c/a\u003e [Docs] Document missing parameters in hf_hub_url and preupload_lfs_files (\u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/4300\"\u003e#4300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/huggingface_hub/commit/c6dfc6d86a061566542287f1a2d35f30982ae371\"\u003e\u003ccode\u003ec6dfc6d\u003c/code\u003e\u003c/a\u003e [Docs] Document missing endpoint and template_str parameters (\u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/huggingface/huggingface_hub/compare/v1.17.0...v1.18.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.15.15 to 0.15.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.16\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eyield-in-context-manager-in-async-generator\u003c/code\u003e (\u003ccode\u003eASYNC119\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24644\"\u003e#24644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Narrow diagnostic range and exclude cases without exception handlers (\u003ccode\u003ePLW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25440\"\u003e#25440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Treat \u003ccode\u003eyield\u003c/code\u003e before \u003ccode\u003ebreak\u003c/code\u003e from a terminal loop as terminal (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25447\"\u003e#25447\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Avoid flagging \u003ccode\u003eruff:ignore\u003c/code\u003e comments as code (\u003ccode\u003eERA001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25537\"\u003e#25537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Fix \u003ccode\u003eERA001\u003c/code\u003e/\u003ccode\u003eRUF100\u003c/code\u003e conflict when \u003ccode\u003enoqa\u003c/code\u003e is on commented-out code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25414\"\u003e#25414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Avoid removing the \u003ccode\u003eformat\u003c/code\u003e call when it would change behavior (\u003ccode\u003eF523\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25320\"\u003e#25320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid syntax errors in invalid character replacements in f-strings before Python 3.12 (\u003ccode\u003ePLE2510\u003c/code\u003e, \u003ccode\u003ePLE2512\u003c/code\u003e, \u003ccode\u003ePLE2513\u003c/code\u003e, \u003ccode\u003ePLE2514\u003c/code\u003e, \u003ccode\u003ePLE2515\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25544\"\u003e#25544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Avoid converting \u003ccode\u003eformat\u003c/code\u003e calls with more kinds of side effects (\u003ccode\u003eUP032\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25484\"\u003e#25484\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-pytest-style\u003c/code\u003e] Avoid fixes for ambiguous \u003ccode\u003eargnames\u003c/code\u003e and \u003ccode\u003eargvalues\u003c/code\u003e combinations (\u003ccode\u003ePT006\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24776\"\u003e#24776\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop excess capacity from statement suites during parsing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25368\"\u003e#25368\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epydocstyle\u003c/code\u003e] Improve discoverability of rules enabled for each convention (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24973\"\u003e#24973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Restore example code for Python versions before 3.15 (\u003ccode\u003eRUF017\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25439\"\u003e#25439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix typo \u003ccode\u003ebin/active\u003c/code\u003e → \u003ccode\u003ebin/activate\u003c/code\u003e in tutorial (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25473\"\u003e#25473\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShrink additional parser AST collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25465\"\u003e#25465\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/Redslayer112\"\u003e\u003ccode\u003e@​Redslayer112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/koriyoshi2041\"\u003e\u003ccode\u003e@​koriyoshi2041\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/George-Ogden\"\u003e\u003ccode\u003e@​George-Ogden\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TejasAmle\"\u003e\u003ccode\u003e@​TejasAmle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\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\u003cli\u003e\u003ca href=\"https://github.com/loganrosen\"\u003e\u003ccode\u003e@​loganrosen\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RafaelJohn9\"\u003e\u003ccode\u003e@​RafaelJohn9\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.16\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eyield-in-context-manager-in-async-generator\u003c/code\u003e (\u003ccode\u003eASYNC119\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24644\"\u003e#24644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Narrow diagnostic range and exclude cases without exception handlers (\u003ccode\u003ePLW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25440\"\u003e#25440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Treat \u003ccode\u003eyield\u003c/code\u003e before \u003ccode\u003ebreak\u003c/code\u003e from a terminal loop as terminal (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25447\"\u003e#25447\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Avoid flagging \u003ccode\u003eruff:ignore\u003c/code\u003e comments as code (\u003ccode\u003eERA001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25537\"\u003e#25537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Fix \u003ccode\u003eERA001\u003c/code\u003e/\u003ccode\u003eRUF100\u003c/code\u003e conflict when \u003ccode\u003enoqa\u003c/code\u003e is on commented-out code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25414\"\u003e#25414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Avoid removing the \u003ccode\u003eformat\u003c/code\u003e call when it would change behavior (\u003ccode\u003eF523\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25320\"\u003e#25320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid syntax errors in invalid character replacements in f-strings before Python 3.12 (\u003ccode\u003ePLE2510\u003c/code\u003e, \u003ccode\u003ePLE2512\u003c/code\u003e, \u003ccode\u003ePLE2513\u003c/code\u003e, \u003ccode\u003ePLE2514\u003c/code\u003e, \u003ccode\u003ePLE2515\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25544\"\u003e#25544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Avoid converting \u003ccode\u003eformat\u003c/code\u003e calls with more kinds of side effects (\u003ccode\u003eUP032\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25484\"\u003e#25484\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-pytest-style\u003c/code\u003e] Avoid fixes for ambiguous \u003ccode\u003eargnames\u003c/code\u003e and \u003ccode\u003eargvalues\u003c/code\u003e combinations (\u003ccode\u003ePT006\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24776\"\u003e#24776\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop excess capacity from statement suites during parsing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25368\"\u003e#25368\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epydocstyle\u003c/code\u003e] Improve discoverability of rules enabled for each convention (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24973\"\u003e#24973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Restore example code for Python versions before 3.15 (\u003ccode\u003eRUF017\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25439\"\u003e#25439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix typo \u003ccode\u003ebin/active\u003c/code\u003e → \u003ccode\u003ebin/activate\u003c/code\u003e in tutorial (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25473\"\u003e#25473\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShrink additional parser AST collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25465\"\u003e#25465\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/Redslayer112\"\u003e\u003ccode\u003e@​Redslayer112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/koriyoshi2041\"\u003e\u003ccode\u003e@​koriyoshi2041\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/George-Ogden\"\u003e\u003ccode\u003e@​George-Ogden\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TejasAmle\"\u003e\u003ccode\u003e@​TejasAmle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\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\u003cli\u003e\u003ca href=\"https://github.com/loganrosen\"\u003e\u003ccode\u003e@​loganrosen\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RafaelJohn9\"\u003e\u003ccode\u003e@​RafaelJohn9\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/6c498ab5394edc5622d7f348e12956bf86203716\"\u003e\u003ccode\u003e6c498ab\u003c/code\u003e\u003c/a\u003e Bump 0.15.16 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25635\"\u003e#25635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e51e132831c4e1c4a5ac00fca4c9256354ab99bf\"\u003e\u003ccode\u003ee51e132\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eyield-in-context-manager-in-async-generator\u003c/code\u003e (`AS...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7c6dcd9f2611999c449143d241c582dedf287964\"\u003e\u003ccode\u003e7c6dcd9\u003c/code\u003e\u003c/a\u003e [ty] Add caching for pattern match narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25613\"\u003e#25613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/27058fc071b542bf06395ba89cabed061d313ca6\"\u003e\u003ccode\u003e27058fc\u003c/code\u003e\u003c/a\u003e [ty] Compact retained definition and expression identities (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25606\"\u003e#25606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/bf80d05f007c939799f530c9e775ed9449f5b2eb\"\u003e\u003ccode\u003ebf80d05\u003c/code\u003e\u003c/a\u003e Fix CODEOWNERS syntax (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25622\"\u003e#25622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/10ccd511e94a81d1e836b174f1c553a73ff3f1b3\"\u003e\u003ccode\u003e10ccd51\u003c/code\u003e\u003c/a\u003e Shrink additional parser AST collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25465\"\u003e#25465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/0d7135f4d23e7f4d8404daed16b9ef11d14f3fb9\"\u003e\u003ccode\u003e0d7135f\u003c/code\u003e\u003c/a\u003e [ty] Upgrade Salsa (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25545\"\u003e#25545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/49493a3cea83a08fa9aa143695017c816a540f1d\"\u003e\u003ccode\u003e49493a3\u003c/code\u003e\u003c/a\u003e [ty] Show type alias value on hover (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25381\"\u003e#25381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/85207d3b7657a84252f266766cb0d56034dc21cc\"\u003e\u003ccode\u003e85207d3\u003c/code\u003e\u003c/a\u003e [ty] sys.implementation.version is not sys.version_info (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25608\"\u003e#25608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a8a0614348c1fcf47fc9b666eff61a103914d520\"\u003e\u003ccode\u003ea8a0614\u003c/code\u003e\u003c/a\u003e [ty] Avoid retaining duplicate function signatures (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25609\"\u003e#25609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.15...0.15.16\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ipython` from 9.14.0 to 9.14.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/352c35b9e841fe20c2a0dc09af67e180e6854322\"\u003e\u003ccode\u003e352c35b\u003c/code\u003e\u003c/a\u003e release 9.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/df72b1f8d94e874947f6425dbbcca614942aa3f5\"\u003e\u003ccode\u003edf72b1f\u003c/code\u003e\u003c/a\u003e Add forward compatibility for pdb.Pdb's mode argument (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/15235\"\u003e#15235\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/a957d81c3177d33fc9d0b5fe123e58dd8cbf87e7\"\u003e\u003ccode\u003ea957d81\u003c/code\u003e\u003c/a\u003e Handle pdb.Pdb \u003ccode\u003emode\u003c/code\u003e argument and test signature compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/3e1c0544e141d55cd232259d4828a633e952f5fc\"\u003e\u003ccode\u003e3e1c054\u003c/code\u003e\u003c/a\u003e ci: add zizmor GitHub Actions security analysis and harden workflows (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/15238\"\u003e#15238\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/0181ae38b68b929f464c349ad139e1080ee60a93\"\u003e\u003ccode\u003e0181ae3\u003c/code\u003e\u003c/a\u003e ci: add zizmor GitHub Actions security analysis and harden workflows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/fb831cc06fe27a12f5d52f6608fa90857428748c\"\u003e\u003ccode\u003efb831cc\u003c/code\u003e\u003c/a\u003e back to dev\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ipython/ipython/compare/9.14.0...9.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `optuna` from 4.8.0 to 4.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.9.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/74?closed=1\"\u003ev4.9.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch3\u003eEnhance Multi-Objective Constrained Parallel Optimization in GPSampler\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sawa3030\"\u003e\u003ccode\u003e@​sawa3030\u003c/code\u003e\u003c/a\u003e introduces parallelization enhancements to \u003ccode\u003eGPSampler\u003c/code\u003e, leveraging the \u003cstrong\u003eKriging Believer\u003c/strong\u003e approach for constrained and multi-objective optimization (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6481\"\u003e#6481\u003c/a\u003e). This improvement allows for more efficient exploration when multiple trials are running concurrently.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003eThe GP surrogate is updated by assigning temporary objective function values ​​to the running trials.\u003c/p\u003e\n\u003cp\u003eFor more technical details and benchmarks, please check out our blog post: \u003ca href=\"https://medium.com/optuna/improving-optunas-gpsampler-parallelization-by-considering-running-trials-10d42aeb5d49\"\u003eImproving Optuna’s GPSampler Parallelization by Considering Running Trials\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eDeprecate Several Features\u003c/h3\u003e\n\u003cp\u003eThe following features are deprecated in v4.9.0 and scheduled for removal in v6.0.0.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eoptuna\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSeveral arguments in \u003ccode\u003eTPESampler\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6635\"\u003e#6635\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eprior_weight\u003c/code\u003e, \u003ccode\u003econsider_magic_clip\u003c/code\u003e, \u003ccode\u003econsider_endpoints\u003c/code\u003e, \u003ccode\u003egamma\u003c/code\u003e, \u003ccode\u003eweights\u003c/code\u003e, \u003ccode\u003ehyperopt_parameters\u003c/code\u003e: These internal parameters are being deprecated to simplify the interface, as the default settings are optimal for most use cases.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ewarn_independent_sampling\u003c/code\u003e: Deprecated because \u003ccode\u003eTPESampler\u003c/code\u003e now robustly supports both independent and joint sampling, making this warning obsolete.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecategorical_distance_func\u003c/code\u003e: This advanced feature will be migrated to OptunaHub in the future.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ex0\u003c/code\u003e and \u003ccode\u003esigma0\u003c/code\u003e options in \u003ccode\u003eCmaEsSampler\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6624\"\u003e#6624\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThese options have been deprecated because they require a deep understanding of \u003ccode\u003eCmaEsSampler\u003c/code\u003e's internals to be configured effectively.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eoptuna.terminator\u003c/code\u003e module\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6668\"\u003e#6668\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis feature will be migrated to OptunaHub in the future.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eRetryFailedTrialCallback\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6670\"\u003e#6670\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis class has been renamed to \u003ccode\u003eRetryHeartbeatStaleTrialCallback\u003c/code\u003e to better reflect its behavior and avoid confusion with general trial retries (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6085\"\u003e#6085\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eoptuna.integration\u003c/code\u003e module\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003eoptuna.integration\u003c/code\u003e module currently acts as a shortcut to the external \u003ccode\u003eoptuna_integration\u003c/code\u003e package for backward compatibility. Please import directly from the \u003ccode\u003eoptuna_integration\u003c/code\u003e package going forward.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eoptuna-integration\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ePyCmaSampler\u003c/code\u003e: Please use Optuna's native \u003ccode\u003eCmaEsSampler\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCometCallback\u003c/code\u003e: This feature will be migrated to OptunaHub in the future.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMLflowCallback\u003c/code\u003e: This feature will be migrated to OptunaHub in the future.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTensorBoardCallback\u003c/code\u003e: This feature will be migrated to OptunaHub in the future.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTrackioCallback\u003c/code\u003e: This feature will be migrated to OptunaHub in the future.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eWeightsAndBiasesCallback\u003c/code\u003e: This class has already been migrated to OptunaHub.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBreaking Changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003ePyCmaSampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/276\"\u003eoptuna/optuna-integration#276\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd deprecation message for \u003ccode\u003eCometCallback\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/280\"\u003eoptuna/optuna-integration#280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd deprecation message for MLflowCallback (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/281\"\u003eoptuna/optuna-integration#281\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/optuna/optuna/commit/4db42e31c24b200e52595df9d4c00e2cdeefea2b\"\u003e\u003ccode\u003e4db42e3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6691\"\u003e#6691\u003c/a\u003e from c-bata/backport-v4.9-attestations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/6a15cf0906c5e92e9dbe70d3ee320eb3db5d08b7\"\u003e\u003ccode\u003e6a15cf0\u003c/code\u003e\u003c/a\u003e Add attestations: false to fix release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/a592e6c0d6604fa678201ecddbcc53a0d232cc65\"\u003e\u003ccode\u003ea592e6c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6684\"\u003e#6684\u003c/a\u003e from c-bata/bump-up-to-v4.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/490cfd6de52377acbec1d6f709b0189026575af2\"\u003e\u003ccode\u003e490cfd6\u003c/code\u003e\u003c/a\u003e Bump up to version number v4.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/6135d5469152a3f14a41202d2c065e823f3dd24c\"\u003e\u003ccode\u003e6135d54\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6651\"\u003e#6651\u003c/a\u003e from nabenabe0928/add-brute-force-info-to-grid-sampler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/c41ec2df70ba2c4957aa96f524733d1e488d9e85\"\u003e\u003ccode\u003ec41ec2d\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'upstream/master' into add-brute-force-info-to-g...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/f845a8fccfc0c6d64d419b27ab3076bb1b7caf32\"\u003e\u003ccode\u003ef845a8f\u003c/code\u003e\u003c/a\u003e Fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/574749e6a8ae2b93fc0a61908ad90da92495e8e5\"\u003e\u003ccode\u003e574749e\u003c/code\u003e\u003c/a\u003e Fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/af7fe8b01791a8ddbb368ce9e77d922296da30b1\"\u003e\u003ccode\u003eaf7fe8b\u003c/code\u003e\u003c/a\u003e Add note to best trial\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/b200bfbb312595c07d0e0c1265754096843091af\"\u003e\u003ccode\u003eb200bfb\u003c/code\u003e\u003c/a\u003e Update the NSGA-III doc\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/optuna/optuna/compare/v4.8.0...v4.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sphinx-autodoc-typehints` from 3.10.4 to 3.10.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/sphinx-autodoc-typehints/releases\"\u003esphinx-autodoc-typehints's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.10.5\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eprocess_signature: don't skip the first arg on bound instance methods by \u003ca href=\"https://github.com/ilia-kats\"\u003e\u003ccode\u003e@​ilia-kats\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/sphinx-autodoc-typehints/pull/705\"\u003etox-dev/sphinx-autodoc-typehints#705\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(annotations): use class role for Ellipsis/NotImplementedType on 3.13+ by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/sphinx-autodoc-typehints/pull/707\"\u003etox-dev/sphinx-autodoc-typehints#707\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/ilia-kats\"\u003e\u003ccode\u003e@​ilia-kats\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/sphinx-autodoc-typehints/pull/705\"\u003etox-dev/sphinx-autodoc-typehints#705\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/sphinx-autodoc-typehints/compare/3.10.4...3.10.5\"\u003ehttps://github.com/tox-dev/sphinx-autodoc-typehints/compare/3.10.4...3.10.5\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/sphinx-autodoc-typehints/commit/bf535f668d3f6652c8c3d93dcc35ced6f01d293b\"\u003e\u003ccode\u003ebf535f6\u003c/code\u003e\u003c/a\u003e 🐛 fix(annotations): use class role for Ellipsis/NotImplementedType on 3.13+ (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/sphinx-autodoc-typehints/commit/9f50d8dbf2b676cbf5b52659d9f2234757dd87d6\"\u003e\u003ccode\u003e9f50d8d\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/sphinx-autodoc-typehints/issues/706\"\u003e#706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/sphinx-autodoc-typehints/commit/ac8ff5fecbe4db9ed30723221fa7afaa3efce74d\"\u003e\u003ccode\u003eac8ff5f\u003c/code\u003e\u003c/a\u003e process_signature: don't skip the first arg on bound instance methods (\u003ca href=\"https://redirect.github.com/tox-dev/sphinx-autodoc-typehints/issues/705\"\u003e#705\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tox-dev/sphinx-autodoc-typehints/compare/3.10.4...3.10.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dagster` from 1.13.7 to 1.13.8\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dagster-io/dagster/blob/master/CHANGES.md\"\u003edagster's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.13.8 (core) / 0.29.8 (libraries)\u003c/h2\u003e\n\u003ch3\u003eNew\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpecial characters are now allowed in team \u003ccode\u003eowners\u003c/code\u003e for jobs, schedules, and sensors. (Thanks, \u003ca href=\"https://github.com/dragos-pop\"\u003e\u003ccode\u003e@​dragos-pop\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ekinds\u003c/code\u003e tags and icons for Microsoft Fabric and OneLake. (Thanks, \u003ca href=\"https://github.com/MartyP233\"\u003e\u003ccode\u003e@​MartyP233\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eThe BigQuery, Snowflake, and DuckDB I/O managers now skip the table write when an asset returns an empty DataFrame, logging a warning instead. This prevents incorrect type inference and degenerate tables for empty partitions.\u003c/li\u003e\n\u003cli\u003e[ui] The per-code-location \u0026quot;Docs\u0026quot; tab is now \u0026quot;Components\u0026quot;, with its content available under a \u0026quot;Library\u0026quot; subtab. Existing \u003ccode\u003e/docs\u003c/code\u003e links continue to work via redirect.\u003c/li\u003e\n\u003cli\u003e[dagster-aws] The EMR PySpark step launcher now honors a configured S3 job package path.\u003c/li\u003e\n\u003cli\u003e[dagster-cloud] \u003ccode\u003ecode_server.*\u003c/code\u003e metrics now carry a \u003ccode\u003eserver_instance_id\u003c/code\u003e tag identifying the underlying gRPC server process. For multi-replica code locations, the tag identifies whichever replica answered the most recent metrics ping.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eInstigationLogger\u003c/code\u003e now stringifies log record attributes that are not JSON-serializable instead of failing to emit the log. (Thanks, \u003ca href=\"https://github.com/jonaslb\"\u003e\u003ccode\u003e@​jonaslb\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFixed a SQL injection vulnerability in \u003ccode\u003edagster-clickhouse\u003c/code\u003e, \u003ccode\u003edagster-clickhouse-pandas\u003c/code\u003e, and \u003ccode\u003edagster-clickhouse-polars\u003c/code\u003e when using dynamic partition keys. ClickHouse partition queries now bind partition key values as driver parameters instead of interpolating them into SQL strings.\u003c/li\u003e\n\u003cli\u003eFixed an issue where tag values in component YAML files were not coerced correctly.\u003c/li\u003e\n\u003cli\u003e[dg] \u003ccode\u003edg labs ai dispatch\u003c/code\u003e no longer writes a \u003ccode\u003eplan.md\u003c/code\u003e artifact into version control.\u003c/li\u003e\n\u003cli\u003e[dg] Fixed an error that occurred when using \u003ccode\u003eTypedDict\u003c/code\u003e-typed fields in component configuration.\u003c/li\u003e\n\u003cli\u003e[ui] Fixed partition step status labels and squares that rendered incorrectly after the CSS Modules migration.\u003c/li\u003e\n\u003cli\u003e[ui] Fixed backfill progress not reaching 100% until all runs had completed.\u003c/li\u003e\n\u003cli\u003e[dagster-databricks] Fixed Databricks workspace job list pagination and added retries for rate-limit responses.\u003c/li\u003e\n\u003cli\u003e[dagster-dbt] Fixed \u003ccode\u003eDbtProject.prepare()\u003c/code\u003e to always run \u003ccode\u003edbt deps\u003c/code\u003e when dependency files are present.\u003c/li\u003e\n\u003cli\u003e[dagster-dbt] Fixed YAML-based translation in \u003ccode\u003eDbtProjectComponent\u003c/code\u003e subclasses to also translate dependency keys.\u003c/li\u003e\n\u003cli\u003e[dagster-dbt] Fixed an issue where dbt unit tests could be ignored unexpectedly.\u003c/li\u003e\n\u003cli\u003e[dagster-dbt] Fixed incorrect asset key translation when generating column lineage with \u003ccode\u003eDbtProjectComponent\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e[dagster-dbt] Fixed unbounded recursive copying of the \u003ccode\u003e.local_defs_state()\u003c/code\u003e directory when a dbt project was located at the repository root.\u003c/li\u003e\n\u003cli\u003e[dagster-cloud-cli] Fixed \u003ccode\u003edg plus deploy\u003c/code\u003e failing with \u003ccode\u003eNo module named pip\u003c/code\u003e in \u003ccode\u003euv\u003c/code\u003e-managed environments.\u003c/li\u003e\n\u003cli\u003e[dagster-cloud-cli] Removed an overly strict dependency-file check from the Docker deploy path.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an integration reference for \u003ccode\u003edagster-elasticsearch\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded documentation for the OpenLineage integration.\u003c/li\u003e\n\u003cli\u003eAdded documentation for \u003ccode\u003edagster-hf-datasets\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded an example covering deployment strategies.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/37f0140a321d1437f01af0cc2b3461d13d228014\"\u003e\u003ccode\u003e37f0140\u003c/code\u003e\u003c/a\u003e 1.13.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/e1eb62555a13eab248f7a844d8978dfccb6154da\"\u003e\u003ccode\u003ee1eb625\u003c/code\u003e\u003c/a\u003e Authenticate release changelog branch-tip fetch with devtools PAT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/85b74f5cb3193c499c8db8835f878a8a68197268\"\u003e\u003ccode\u003e85b74f5\u003c/code\u003e\u003c/a\u003e Fix release changelog check on k8s buildkite agents (\u003ca href=\"https://redirect.github.com/dagster-io/dagster/issues/24807\"\u003e#24807\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/cb5263359b7c4b3543fa84b7794493f54a0e9464\"\u003e\u003ccode\u003ecb52633\u003c/code\u003e\u003c/a\u003e 1.13.8 changelog (\u003ca href=\"https://redirect.github.com/dagster-io/dagster/issues/25255\"\u003e#25255\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/bea738d8750154f182ea4422b09433efd31cc9a1\"\u003e\u003ccode\u003ebea738d\u003c/code\u003e\u003c/a\u003e fix(dagster-rest-resources): relock to capture pytest conditional deps for py...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/8df28a8058d798314bf158d1ae72fe642b59a676\"\u003e\u003ccode\u003e8df28a8\u003c/code\u003e\u003c/a\u003e fix(dagster-shared): match_type Required/NotRequired support for TypedDict on...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/b443d0f40367f13425c392b5a059822c37a10b4b\"\u003e\u003ccode\u003eb443d0f\u003c/code\u003e\u003c/a\u003e [ui] Fix partition step status labels/squares broken by CSS Modules migration...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/9765c988d6aa18aabcc88133116bc447c178eb3d\"\u003e\u003ccode\u003e9765c98\u003c/code\u003e\u003c/a\u003e [ui] Replace all \u003ccode\u003eCaption\u003c/code\u003e typography components with \u003ccode\u003eText\u003c/code\u003e component (\u003ca href=\"https://redirect.github.com/dagster-io/dagster/issues/25200\"\u003e#25200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/05e07d20750462e70fa9204ad4e74cde9cff1033\"\u003e\u003ccode\u003e05e07d2\u003c/code\u003e\u003c/a\u003e [ui] Replace all \u003ccode\u003eMono\u003c/code\u003e typography components with \u003ccode\u003eText\u003c/code\u003e component (\u003ca href=\"https://redirect.github.com/dagster-io/dagster/issues/25199\"\u003e#25199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/2ff035297321613e0a3416f33e8c16f251a94205\"\u003e\u003ccode\u003e2ff0352\u003c/code\u003e\u003c/a\u003e fix(dagster-test): poll for dg dev child-process exit instead of fixed sleep ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dagster-io/dagster/compare/1.13.7...1.13.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dagster-webserver` from 1.13.7 to 1.13.8\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dagster-io/dagster/blob/master/CHANGES.md\"\u003edagster-webserver's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.13.8 (core) / 0.29.8 (libraries)\u003c/h2\u003e\n\u003ch3\u003eNew\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpecial characters are now allowed in team \u003ccode\u003eowners\u003c/code\u003e for jobs, schedules, and sensors. (Thanks, \u003ca href=\"https://github.com/dragos-pop\"\u003e\u003ccode\u003e@​dragos-pop\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ekinds\u003c/code\u003e tags and icons for Microsoft Fabric and OneLake. (Thanks, \u003ca href=\"https://github.com/MartyP233\"\u003e\u003ccode\u003e@​MartyP233\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eThe BigQuery, Snowflake, and DuckDB I/O managers now skip the table write when an asset returns an empty DataFrame, logging a warning instead. This prevents incorrect type inference and degenerate tables for empty partitions.\u003c/li\u003e\n\u003cli\u003e[ui] The per-code-location \u0026quot;Docs\u0026quot; tab is now \u0026quot;Components\u0026quot;, with its content available under a \u0026quot;Library\u0026quot; subtab. Existing \u003ccode\u003e/docs\u003c/code\u003e links continue to work via redirect.\u003c/li\u003e\n\u003cli\u003e[dagster-aws] The EMR PySpark step launcher now honors a configured S3 job package path.\u003c/li\u003e\n\u003cli\u003e[dagster-cloud] \u003ccode\u003ecode_server.*\u003c/code\u003e metrics now carry a \u003ccode\u003eserver_instance_id\u003c/code\u003e tag identifying the underlying gRPC server process. For multi-replica code locations, the tag identifies whichever replica answered the most recent metrics ping.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eInstigationLogger\u003c/code\u003e now stringifies log record attributes that are not JSON-serializable instead of failing to emit the log. (Thanks, \u003ca href=\"https://github.com/jonaslb\"\u003e\u003ccode\u003e@​jonaslb\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFixed a SQL injection vulnerability in \u003ccode\u003edagster-clickhouse\u003c/code\u003e, \u003ccode\u003edagster-clickhouse-pandas\u003c/code\u003e, and \u003ccode\u003edagster-clickhouse-polars\u003c/code\u003e when using dynamic partition keys. ClickHouse partition queries now bind partition key values as driver parameters instead of interpolating them into SQL strings.\u003c/li\u003e\n\u003cli\u003eFixed an issue where tag values in component YAML files were not coerced correctly.\u003c/li\u003e\n\u003cli\u003e[dg] \u003ccode\u003edg labs ai dispatch\u003c/code\u003e no longer writes a \u003ccode\u003eplan.md\u003c/code\u003e artifact into version control.\u003c/li\u003e\n\u003cli\u003e[dg] Fixed an error that occurred when using \u003ccode\u003eTypedDict\u003c/code\u003e-typed fields in component configuration.\u003c/li\u003e\n\u003cli\u003e[ui] Fixed partition step status labels and squares that rendered incorrectly after the CSS Modules migration.\u003c/li\u003e\n\u003cli\u003e[ui] Fixed backfill progress not reaching 100% until all runs had completed.\u003c/li\u003e\n\u003cli\u003e[dagster-databricks] Fixed Databricks workspace job list pagination and added retries for rate-limit responses.\u003c/li\u003e\n\u003cli\u003e[dagster-dbt] Fixed \u003ccode\u003eDbtProject.prepare()\u003c/code\u003e to always run \u003ccode\u003edbt deps\u003c/code\u003e when dependency files are present.\u003c/li\u003e\n\u003cli\u003e[dagster-dbt] Fixed YAML-based translation in \u003ccode\u003eDbtProjectComponent\u003c/code\u003e subclasses to also translate dependency keys.\u003c/li\u003e\n\u003cli\u003e[dagster-dbt] Fixed an issue where dbt unit tests could be ignored unexpectedly.\u003c/li\u003e\n\u003cli\u003e[dagster-dbt] Fixed incorrect asset key translation when generating column lineage with \u003ccode\u003eDbtProjectComponent\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e[dagster-dbt] Fixed unbounded recursive copying of the \u003ccode\u003e.local_defs_state()\u003c/code\u003e directory when a dbt project was located at the repository root.\u003c/li\u003e\n\u003cli\u003e[dagster-cloud-cli] Fixed \u003ccode\u003edg plus deploy\u003c/code\u003e failing with \u003ccode\u003eNo module named pip\u003c/code\u003e in \u003ccode\u003euv\u003c/code\u003e-managed environments.\u003c/li\u003e\n\u003cli\u003e[dagster-cloud-cli] Removed an overly strict dependency-file check from the Docker deploy path.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an integration reference for \u003ccode\u003edagster-elasticsearch\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded documentation for the OpenLineage integration.\u003c/li\u003e\n\u003cli\u003eAdded documentation for \u003ccode\u003edagster-hf-datasets\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded an example covering deployment strategies.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/37f0140a321d1437f01af0cc2b3461d13d228014\"\u003e\u003ccode\u003e37f0140\u003c/code\u003e\u003c/a\u003e 1.13.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/e1eb62555a13eab248f7a844d8978dfccb6154da\"\u003e\u003ccode\u003ee1eb625\u003c/code\u003e\u003c/a\u003e Authenticate release changelog branch-tip fetch with devtools PAT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/85b74f5cb3193c499c8db8835f878a8a68197268\"\u003e\u003ccode\u003e85b74f5\u003c/code\u003e\u003c/a\u003e Fix release changelog check on k8s buildkite agents (\u003ca href=\"https://redirect.github.com/dagster-io/dagster/issues/24807\"\u003e#24807\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/cb5263359b7c4b3543fa84b7794493f54a0e9464\"\u003e\u003ccode\u003ecb52633\u003c/code\u003e\u003c/a\u003e 1.13.8 changelog (\u003ca href=\"https://redirect.github.com/dagster-io/dagster/issues/25255\"\u003e#25255\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/bea738d8750154f182ea4422b09433efd31cc9a1\"\u003e\u003ccode\u003ebea738d\u003c/code\u003e\u003c/a\u003e fix(dagster-rest-resources): relock to capture pytest conditional deps for py...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/8df28a8058d798314bf158d1ae72fe642b59a676\"\u003e\u003ccode\u003e8df28a8\u003c/code\u003e\u003c/a\u003e fix(dagster-shared): match_type Required/NotRequired support for TypedDict on...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/b443d0f40367f13425c392b5a059822c37a10b4b\"\u003e\u003ccode\u003eb443d0f\u003c/code\u003e\u003c/a\u003e [ui] Fix partition step status labels/squares broken by CSS Modules migration...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/9765c988d6aa18aabcc88133116bc447c178eb3d\"\u003e\u003ccode\u003e9765c98\u003c/code\u003e\u003c/a\u003e [ui] Replace all \u003ccode\u003eCaption\u003c/code\u003e typography components with \u003ccode\u003eText\u003c/code\u003e component (\u003ca href=\"https://redirect.github.com/dagster-io/dagster/issues/25200\"\u003e#25200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/05e07d20750462e70fa9204ad4e74cde9cff1033\"\u003e\u003ccode\u003e05e07d2\u003c/code\u003e\u003c/a\u003e [ui] Replace all \u003ccode\u003eMono\u003c/code\u003e typography components with \u003ccode\u003eText\u003c/code\u003e component (\u003ca href=\"https://redirect.github.com/dagster-io/dagster/issues/25199\"\u003e#25199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/2ff035297321613e0a3416f33e8c16f251a94205\"\u003e\u003ccode\u003e2ff0352\u003c/code\u003e\u003c/a\u003e fix(dagster-test): poll for dg dev child-process exit instead of fixed sleep ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dagster-io/dagster/compare/1.13.7...1.13.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `plotly` from 6.7.0 to 6.8.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.8.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd optional \u003ccode\u003efont\u003c/code\u003e parameter for \u003ccode\u003emake_subplots\u003c/code\u003e [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5393\"\u003e#5393\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/Zomtir\"\u003e\u003ccode\u003e@​Zomtir\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 user-specified \u003ccode\u003ecolor_continuous_scale\u003c/code\u003e was ignored when template had \u003ccode\u003eautocolorscale=True\u003c/code\u003e [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5439\"\u003e#5439\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/antonymilne\"\u003e\u003ccode\u003e@​antonymilne\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eUse presence of \u003ccode\u003eCOLAB_NOTEBOOK_ID\u003c/code\u003e env var to enable Colab renderer instead of testing import of \u003ccode\u003egoogle.colab\u003c/code\u003e [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5473\"\u003e#5473\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/kevineger\"\u003e\u003ccode\u003e@​kevineger\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eFix incorrect annotation placement for \u003ccode\u003eadd_vline\u003c/code\u003e, \u003ccode\u003eadd_hline\u003c/code\u003e, \u003ccode\u003eadd_vrect\u003c/code\u003e, and \u003ccode\u003eadd_hrect\u003c/code\u003e on datetime axes [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5508\"\u003e#5508\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/mosh3eb\"\u003e\u003ccode\u003e@​mosh3eb\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eUpdate tests to be compatible with numpy 2.4 [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5522\"\u003e#5522\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/thunze\"\u003e\u003ccode\u003e@​thunze\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eFix issue where \u003ccode\u003ejs/\u003c/code\u003e directory was unintentionally installed as a top-level Python package when installing \u003ccode\u003eplotly\u003c/code\u003e [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5587\"\u003e#5587\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd default headers to be passed in to Kaleido v1.3.0 to avoid blocked Open Street Map tiles [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5588\"\u003e#5588\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003ePropagate the requested \u003ccode\u003edefault_height\u003c/code\u003e/\u003ccode\u003edefault_width\u003c/code\u003e to the outer wrapper div produced by \u003ccode\u003eto_html\u003c/code\u003e so that responsive (percentage) dimensions inherit from a sized parent container instead of collapsing to the plotly.js 450px fallback [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5591\"\u003e#5591\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/SharadhNaidu\"\u003e\u003ccode\u003e@​SharadhNaidu\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003e__eq__\u003c/code\u003e method for  \u003ccode\u003egraph_objects\u003c/code\u003e classes now returns \u003ccode\u003eNotImplemented\u003c/code\u003e to give the other operand an opportunity to handle the comparison [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5547\"\u003e#5547\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/RazerM\"\u003e\u003ccode\u003e@​RazerM\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eUpdate plotly.js from version 3.5.0 to version 3.6.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.6.0\"\u003erelease notes\u003c/a\u003e for more information [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5608\"\u003e#5608\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd support for arrays for the pie property \u003ccode\u003elegendrank\u003c/code\u003e, so that it can be configured per slice [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7723\"\u003e#7723\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ehoversort\u003c/code\u003e layout attribute to sort unified hover label items by value [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7734\"\u003e#7734\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/plotly/plotly.py/blob/main/CHANGELOG.md\"\u003eplotly's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[6.8.0] - 2026-06-03\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd optional \u003ccode\u003efont\u003c/code\u003e parameter for \u003ccode\u003emake_subplots\u003c/code\u003e [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5393\"\u003e#5393\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/Zomtir\"\u003e\u003ccode\u003e@​Zomtir\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 user-specified \u003ccode\u003ecolor_continuous_scale\u003c/code\u003e was ignored when template had \u003ccode\u003eautocolorscale=True\u003c/code\u003e [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5439\"\u003e#5439\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/antonymilne\"\u003e\u003ccode\u003e@​antonymilne\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eUse presence of \u003ccode\u003eCOLAB_NOTEBOOK_ID\u003c/code\u003e env var to enable Colab renderer instead of testing import of \u003ccode\u003egoogle.colab\u003c/code\u003e [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5473\"\u003e#5473\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/kevineger\"\u003e\u003ccode\u003e@​kevineger\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eFix incorrect annotation placement for \u003ccode\u003eadd_vline\u003c/code\u003e, \u003ccode\u003eadd_hline\u003c/code\u003e, \u003ccode\u003eadd_vrect\u003c/code\u003e, and \u003ccode\u003eadd_hrect\u003c/code\u003e on datetime axes [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5508\"\u003e#5508\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/mosh3eb\"\u003e\u003ccode\u003e@​mosh3eb\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eUpdate tests to be compatible with numpy 2.4 [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5522\"\u003e#5522\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/thunze\"\u003e\u003ccode\u003e@​thunze\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eFix issue where \u003ccode\u003ejs/\u003c/code\u003e directory was unintentionally installed as a top-level Python package when installing \u003ccode\u003eplotly\u003c/code\u003e [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5587\"\u003e#5587\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd default headers to be passed in to Kaleido v1.3.0 to avoid blocked Open Street Map tiles [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5588\"\u003e#5588\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003ePropagate the requested \u003ccode\u003edefault_height\u003c/code\u003e/\u003ccode\u003edefault_width\u003c/code\u003e to the outer wrapper div produced by \u003ccode\u003eto_html\u003c/code\u003e so that responsive (percentage) dimensions inherit from a sized parent container instead of collapsing to the plotly.js 450px fallback [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5591\"\u003e#5591\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/SharadhNaidu\"\u003e\u003ccode\u003e@​SharadhNaidu\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003e__eq__\u003c/code\u003e method for  \u003ccode\u003egraph_objects\u003c/code\u003e classes now returns \u003ccode\u003eNotImplemented\u003c/code\u003e to give the other operand an opportunity to handle the comparison [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5547\"\u003e#5547\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/RazerM\"\u003e\u003ccode\u003e@​RazerM\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eUpdate plotly.js from version 3.5.0 to version 3.6.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.6.0\"\u003erelease notes\u003c/a\u003e for more information [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5608\"\u003e#5608\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd support for arrays for the pie property \u003ccode\u003elegendrank\u003c/code\u003e, so that it can be configured per slice [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7723\"\u003e#7723\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ehoversort\u003c/code\u003e layout attribute to sort unified hover label items by value [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7734\"\u003e#7734\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/ea4eca89c48f9549f5073607b22a4490a49954f7\"\u003e\u003ccode\u003eea4eca8\u003c/code\u003e\u003c/a\u003e Address PR feedback\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/e57adbd447d35912e95e77b121907cb1ce053a59\"\u003e\u003ccode\u003ee57adbd\u003c/code\u003e\u003c/a\u003e Fix broken example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/b8c2bf44bc9961419527f0af27c132ca077de524\"\u003e\u003ccode\u003eb8c2bf4\u003c/code\u003e\u003c/a\u003e Update Jupyter Lab extension files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/2de1059a2eb00487f6cb86575f85ffabc35ab38a\"\u003e\u003ccode\u003e2de1059\u003c/code\u003e\u003c/a\u003e Update docs for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/f94e304fcd5106bfca6c6c5a13367dfb3f79e969\"\u003e\u003ccode\u003ef94e304\u003c/code\u003e\u003c/a\u003e Version changes for v6.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/7f2eb35237d99b9cef779fa26740d8420cecce32\"\u003e\u003ccode\u003e7f2eb35\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5608\"\u003e#5608\u003c/a\u003e from plotly/cam/update-plotly.js-3.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/f57cf960db23faf1a42fad57e55b870fbb463ca5\"\u003e\u003ccode\u003ef57cf96\u003c/code\u003e\u003c/a\u003e Update command to run \u003ccode\u003enpm install\u003c/code\u003e for \u003ccode\u003eupdateplotlyjs\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/1f268208ed820e402fa7f84df1b822f91d201981\"\u003e\u003ccode\u003e1f26820\u003c/code\u003e\u003c/a\u003e Update lock file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/8f699a303ab8ad575b756828dd365138b63f7fdb\"\u003e\u003ccode\u003e8f699a3\u003c/code\u003e\u003c/a\u003e chore: Update plotly.js to v3.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/f0755e59dc42697a6d4b053ca2ecb8f7970ae1fd\"\u003e\u003ccode\u003ef0755e5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5605\"\u003e#5605\u003c/a\u003e from plotly/cam/pin-python-frontmatter\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/plotly/plotly.py/compare/v6.7.0...v6.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tqdm` from 4.67.3 to 4.68.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tqdm/tqdm/releases\"\u003etqdm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etqdm v4.68.1 stable\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eset name of monitor thread (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1669\"\u003e#1669\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1752\"\u003e#1752\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1435\"\u003e#1435\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix monitor thread \u003ccode\u003eatexit\u003c/code\u003e deadlock (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1751\"\u003e#1751\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/528\"\u003e#528\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/627\"\u003e#627\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1435\"\u003e#1435\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1564\"\u003e#1564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: minor copyediting\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etqdm v4.68.0 stable\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eutils\u003c/code\u003e: simplify terminal size detection (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1760\"\u003e#1760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtrib\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eitertools\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1760\"\u003e#1760\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eadd \u003ccode\u003echain\u003c/code\u003e, \u003ccode\u003epermutations\u003c/code\u003e, \u003ccode\u003ecombinations\u003c/code\u003e, \u003ccode\u003ecombinations_with_replacement\u003c/code\u003e, \u003ccode\u003ebatched\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003eproduct(repeat=1)\u003c/code\u003e keyword argument (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1428\"\u003e#1428\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003efix \u003ccode\u003ediscord\u003c/code\u003e, \u003ccode\u003etelegram\u003c/code\u003e error handling\u003c/li\u003e\n\u003cli\u003efix \u003ccode\u003ediscord\u003c/code\u003e, \u003ccode\u003eslack\u003c/code\u003e, \u003ccode\u003etelegram\u003c/code\u003e format for \u003ccode\u003etotal=None\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003esoft-deprecate \u003ccode\u003etqdm.utils.envwrap\u003c/code\u003e -\u0026gt; \u003ca href=\"https://github.com/tqdm/envwrap\"\u003e\u003ccode\u003eenvwrap\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebenchmarks: fix \u003ccode\u003easv\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003emisc linting\u003c/li\u003e\n\u003cli\u003emisc framework updates\n\u003cul\u003e\n\u003cli\u003eCI: migrate manual job to \u003ccode\u003epre-commit.ci\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ebump workflow actions \u0026amp; pre-commit hooks\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/67cf355f96dfc3e459d18193d68a98a7abb6e08e\"\u003e\u003ccode\u003e67cf355\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1751\"\u003e#1751\u003c/a\u003e from jaltmayerpizzorno/fix-atexit-monitor-deadlock\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/cfa4a8522e8915e5f3f29dec9cedf7a75e366e1a\"\u003e\u003ccode\u003ecfa4a85\u003c/code\u003e\u003c/a\u003e minor docstring updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/f83290ce32f424e0562d47efe2304cdb90d244d5\"\u003e\u003ccode\u003ef83290c\u003c/code\u003e\u003c/a\u003e Fix TMonitor deadlock at interpreter shutdown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/59029c37ad6af57df7b49d31c0f48728280ae824\"\u003e\u003ccode\u003e59029c3\u003c/code\u003e\u003c/a\u003e Set name for tqdm monitor thread (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1752\"\u003e#1752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/ef4a142ebd53f05b8765b969590e9a888498ab57\"\u003e\u003ccode\u003eef4a142\u003c/code\u003e\u003c/a\u003e bump version, merge pull request \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1760\"\u003e#1760\u003c/a\u003e from tqdm/devel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/17f246b77dcfc29bfeaaa8bfa12ddb45557606bc\"\u003e\u003ccode\u003e17f246b\u003c/code\u003e\u003c/a\u003e lint warning suppression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/c682c7b73142b1b469e698e0cf62e2963cdfb7d1\"\u003e\u003ccode\u003ec682c7b\u003c/code\u003e\u003c/a\u003e benchmarks: fix asv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/fc69588dc219f30c4c59adad98355cc09933f271\"\u003e\u003ccode\u003efc69588\u003c/code\u003e\u003c/a\u003e CI: migrate to pre-commit.ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/a31d97f821d9bf33f1b7e0a9738a3ea62baa68ca\"\u003e\u003ccode\u003ea31d97f\u003c/code\u003e\u003c/a\u003e more contrib.itertools\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/e4d97426d6c6df91bbd681f3fe9ac98b1d704011\"\u003e\u003ccode\u003ee4d9742\u003c/code\u003e\u003c/a\u003e soft-deprecate tqdm.utils.envwrap -\u0026gt; envwrap\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tqdm/tqdm/compare/v4.67.3...v4.68.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `holidays` from 0.97 to 0.98\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vacanza/holidays/releases\"\u003eholidays's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.98\u003c/h2\u003e\n\u003ch2\u003eVersion 0.98\u003c/h2\u003e\n\u003cp\u003eReleased June 1, 2026\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd NASDAQ (XNAS) holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3586\"\u003e#3586\u003c/a\u003e by \u003ca href=\"https://github.com/pareshjoshij\"\u003e\u003ccode\u003e@​pareshjoshij\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate United Arab Emirates holidays: fix Thai localization (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3596\"\u003e#3596\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Bhutan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3590\"\u003e#3590\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate l10n test: check .po files for missing entries comments (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3594\"\u003e#3594\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd 2025-2026 Islamic holidays exact dates for Indonesia and Philippines (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3591\"\u003e#3591\u003c/a\u003e by \u003ca href=\"https://github.com/akshiDhi\"\u003e\u003ccode\u003e@​akshiDhi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Tibetan calendar generator (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3330\"\u003e#3330\u003c/a\u003e by \u003ca href=\"https://github.com/Abiram08\"\u003e\u003ccode\u003e@​Abiram08\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd pre-commit cache (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3589\"\u003e#3589\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eNew Contributors\u003c/strong\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/akshiDhi\"\u003e\u003ccode\u003e@​akshiDhi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vacanza/holidays/pull/3591\"\u003evacanza/holidays#3591\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/vacanza/holidays/compare/v0.97...v0.98\"\u003ehttps://github.com/vacanza/holidays/compare/v0.97...v0.98\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/vacanza/holidays/blob/dev/CHANGES.md\"\u003eholidays's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.98\u003c/h2\u003e\n\u003cp\u003eReleased June 1, 2026\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd NASDAQ (XNAS) holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3586\"\u003e#3586\u003c/a\u003e by \u003ca href=\"https://github.com/pareshjoshij\"\u003e\u003ccode\u003e@​pareshjoshij\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate United Arab Emirates holidays: fix Thai localization (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3596\"\u003e#3596\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Bhutan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3590\"\u003e#3590\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate l10n test: check .po files for missing entries comments (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3594\"\u003e#3594\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd 2025-2026 Islamic holidays exact dates for Indonesia and Philippines (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3591\"\u003e#3591\u003c/a\u003e by \u003ca href=\"https://github.com/akshiDhi\"\u003e\u003ccode\u003e@​akshiDhi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Tibetan calendar generator (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3330\"\u003e#3330\u003c/a\u003e by \u003ca href=\"https://github.com/Abiram08\"\u003e\u003ccode\u003e@​Abiram08\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd pre-commit cache (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3589\"\u003e#3589\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\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/vacanza/holidays/commit/cf5b848f6b2cf519d919ba5a5d7f8cfb328556c7\"\u003e\u003ccode\u003ecf5b848\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3597\"\u003e#3597\u003c/a\u003e from vacanza/dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/2c33c619ca9a525c1ac431a7f661ef93f9c87587\"\u003e\u003ccode\u003e2c33c61\u003c/code\u003e\u003c/a\u003e Finalize v0.98\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/af83976ad137be04c5943bee63878259b9416e0a\"\u003e\u003ccode\u003eaf83976\u003c/code\u003e\u003c/a\u003e Update United Arab Emirates holidays: fix Thai localization (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3596\"\u003e#3596\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/85511bf733fcdfccd77503860ed5d7dcf0ba6b72\"\u003e\u003ccode\u003e85511bf\u003c/code\u003e\u003c/a\u003e Update l10n test: check .po files for missing entries comments (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3594\"\u003e#3594\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/414f9dbaf3cb1e448e7b0051e65c12fca97c9ec1\"\u003e\u003ccode\u003e414f9db\u003c/code\u003e\u003c/a\u003e Update Bhutan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3590\"\u003e#3590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/eaf32f861ead6d8f29fbbdb1feb18192b5388c0f\"\u003e\u003ccode\u003eeaf32f8\u003c/code\u003e\u003c/a\u003e chore: Update snapshots (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3592\"\u003e#3592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/75b2d70b44f26a4902c3f8e99e6c936952f33046\"\u003e\u003ccode\u003e75b2d70\u003c/code\u003e\u003c/a\u003e Add NASDAQ (XNAS) holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3586\"\u003e#3586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/98b5213ee3deebf4923afc486eb6d5dbff60e615\"\u003e\u003ccode\u003e98b5213\u003c/code\u003e\u003c/a\u003e Add Tibetan calendar generator (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3330\"\u003e#3330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/f06e031b3dfae5fa24c54cfa1070ffd10bd8d4f5\"\u003e\u003ccode\u003ef06e031\u003c/code\u003e\u003c/a\u003e Add 2025-2026 Islamic holidays exact dates for Indonesia and Philippines (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3591\"\u003e#3591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/54203e2b0671abe5cc799437cd1ca7144ecafb17\"\u003e\u003ccode\u003e54203e2\u003c/code\u003e\u003c/a\u003e Add pre-commit cache (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3589\"\u003e#3589\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vacanza/holidays/compare/v0.97...v0.98\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mlflow-skinny` from 3.12.0 to 3.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mlflow/mlflow/releases\"\u003emlflow-skinny's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.13.0\u003c/h2\u003e\n\u003cp\u003eMLflow 3.13.0 includes several major features and improvements\u003c/p\u003e\n\u003ch3\u003eMajor New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e🔐 \u003ca href=\"https://mlflow.org/docs/latest/self-hosting/security/role-based-access-control\"\u003eRole-Based Access Control \u0026amp; Admin UI\u003c/a\u003e\u003c/strong\u003e: A full RBAC system with reusable roles and workspace-scoped grants, plus a new web Admin UI for managing users, roles, and permissions on self-hosted MLflow.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e🗄️ \u003ca href=\"https://mlflow.org/docs/latest/genai/tracing/observe-with-traces/archive-traces\"\u003eTrace Retention \u0026amp; Auto Archival\u003c/a\u003e\u003c/strong\u003e: Automatically move aged trace span data out of your SQL backend into object storage (e.g. S3) while keeping every trace fully readable in the UI and APIs.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e🤖 \u003ca href=\"https://mlflow.org/docs/latest/genai/governance/ai-gateway/coding-agents/\"\u003eOne-click observability \u0026amp; governance for coding agents\u003c/a\u003e\u003c/strong\u003e: Onboard Claude Code, OpenAI Codex, or Gemini CLI to the AI Gateway in one click for tracing, usage tracking, budgets, and guardrails.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e✨ \u003ca href=\"https://mlflow.org/docs/latest/genai/getting-started/try-assistant/\"\u003eNew engines for MLflow Assistant\u003c/a\u003e\u003c/strong\u003e: Run MLflow Assistant on a local Ollama model, the OpenAI Codex CLI, or any MLflow AI Gateway endpoint, in addition to Claude Code.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e☸️ \u003ca href=\"https://mlflow.org/docs/latest/self-hosting/kubernetes-helm\"\u003eHelm chart for Kubernetes\u003c/a\u003e\u003c/strong\u003e: An official, production-ready Helm chart for deploying the MLflow tracking server to any Kubernetes cluster.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e🌐 \u003ca href=\"https://mlflow.org/docs/latest/genai/governance/ai-gateway/coding-agents/hermes-agent\"\u003eHermes Agent support\u003c/a\u003e\u003c/strong\u003e: Route the Hermes Agent runtime through the AI Gateway and capture its end-to-end traces in MLflow over OpenTelemetry.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e🪵 \u003ca href=\"https://mlflow.org/docs/latest/genai/tracing/app-instrumentation/logging\"\u003eSpan log levels\u003c/a\u003e\u003c/strong\u003e: Python-\u003ccode\u003elogging\u003c/code\u003e-style severity levels on spans, with a \u0026quot;Minimum log level\u0026quot; filter in the trace UI to hide low-level noise.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe permission system has been overhauled into a unified Role-Based Access Control model. The legacy per-resource permission tables, REST endpoints, and client methods are removed and replaced by roles backed by \u003ccode\u003erole_permissions\u003c/code\u003e, \u003ccode\u003edefault_permission\u003c/code\u003e now acts as a floor rather than an override, and a workspace \u003ccode\u003eUSE\u003c/code\u003e grant is sufficient to create experiments and registered models. Code that relied on the old per-resource permission APIs must migrate to the new role-based APIs. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/22855\"\u003e#22855\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/22859\"\u003e#22859\u003c/a\u003e, \u003ca hre...\n\n_Description has been truncated_","html_url":"https://github.com/OpenSTEF/openstef/pull/956","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenSTEF%2Fopenstef/issues/956","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/956/packages"},{"uuid":"4616816099","node_id":"PR_kwDOPFo1N87kG1rg","number":228,"state":"open","title":":dependabot: uv(deps): Bump the all-uv group across 1 directory with 4 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-08T21:36:45.000Z","updated_at":"2026-06-08T21:39:48.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":":dependabot: uv(deps): Bump","group_name":"all-uv","update_count":4,"packages":[{"name":"boto3","old_version":"1.43.14","new_version":"1.43.25","repository_url":"https://github.com/boto/boto3"},{"name":"snowballstemmer","old_version":"3.1.0","new_version":"3.1.1","repository_url":"https://github.com/snowballstem/snowball"},{"name":"optuna","old_version":"4.8.0","new_version":"4.9.0","repository_url":"https://github.com/optuna/optuna"},{"name":"moto","old_version":"5.2.1","new_version":"5.2.2","repository_url":"https://github.com/getmoto/moto"}],"path":null,"ecosystem":"pip"},"body":"Bumps the all-uv group with 4 updates in the / directory: [boto3](https://github.com/boto/boto3), [snowballstemmer](https://github.com/snowballstem/snowball), [optuna](https://github.com/optuna/optuna) and [moto](https://github.com/getmoto/moto).\n\nUpdates `boto3` from 1.43.14 to 1.43.25\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/7cb97d3726d5b1dde7f5e867da7252c73ebe8511\"\u003e\u003ccode\u003e7cb97d3\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.25'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/100e4d14cc2ef5b728e3381210ff48cd08f56596\"\u003e\u003ccode\u003e100e4d1\u003c/code\u003e\u003c/a\u003e Bumping version to 1.43.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/74bfd8111fba157d760d47b0d56263210e9ad43a\"\u003e\u003ccode\u003e74bfd81\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/b2b302b072044a376279adcb7a4791f424027ad1\"\u003e\u003ccode\u003eb2b302b\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.24'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/0622bb598bfed6eba5df0dc2908f2406f1d2b914\"\u003e\u003ccode\u003e0622bb5\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.24' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/02fd3ca9aab5ae0e8e1e9e88e80b56e5a3e3755c\"\u003e\u003ccode\u003e02fd3ca\u003c/code\u003e\u003c/a\u003e Bumping version to 1.43.24\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/fcaf9ff50cea0eff6ce965e97fc4b23c941d1cb5\"\u003e\u003ccode\u003efcaf9ff\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/f2106e0d34cb87a89f066f06373d337da503b0d5\"\u003e\u003ccode\u003ef2106e0\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.23'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/5f983267ce19c9461f9da5ef19105b46879a440e\"\u003e\u003ccode\u003e5f98326\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.23' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/d7e5b7c20dfad5465df92d55541638ecfc09e981\"\u003e\u003ccode\u003ed7e5b7c\u003c/code\u003e\u003c/a\u003e Bumping version to 1.43.23\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.43.14...1.43.25\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `snowballstemmer` from 3.1.0 to 3.1.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/snowballstem/snowball/blob/main/NEWS\"\u003esnowballstemmer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eSnowball 3.1.1 (2026-06-03)\u003c/h1\u003e\n\u003ch2\u003eCompiler changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix a segmentation fault after reporting an error for a string command\nnot followed by a string variable name or string literal.  Bug introduced\nin 3.1.0.  Patch from Jerry James (\u003ca href=\"https://redirect.github.com/snowballstem/snowball/issues/287\"\u003e#287\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCompiler command-line options:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEmit an error for \u003ccode\u003e-o -\u003c/code\u003e/\u003ccode\u003e-output -\u003c/code\u003e.  Output to stdout is not supported\nbecause we need to generate multiple files for some target languages.\nWe were interpreting \u003ccode\u003e-\u003c/code\u003e as a base filename to append extensions to, so\nwe'd create \u003ccode\u003e-.c\u003c/code\u003e and \u003ccode\u003e-.h\u003c/code\u003e for C, but creating filenames that start with\n\u003ccode\u003e-\u003c/code\u003e seems unhelpful.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGeneric code generation changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVariable localisation was failing to check the expression on the RHS of an\ninteger test for uses of a variable, so could incorrectly localise an\ninteger variable whose value should have persisted between calls to a\nfunction.  This bug won't realistically manifest in real world Snowball\ncode.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eOptimisations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eInline some routines which are only used once.  This is done for routines\nconsisting of a single non-compound command (or cases such as \u003ccode\u003enot \u0026lt;boolean\u0026gt;\u003c/code\u003e and \u003ccode\u003egoto \u0026lt;grouping\u0026gt;\u003c/code\u003e which we internally synthesise a\nnon-compound command for).  Localisation of variables happens after\ninlining, so variables can now be localised in more cases.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003etest next\u003c/code\u003e and \u003ccode\u003enot next\u003c/code\u003e are both now simplified to a comparison between\n\u003ccode\u003ecursor\u003c/code\u003e and \u003ccode\u003elimit\u003c/code\u003e (like \u003ccode\u003enot atlimit\u003c/code\u003e and \u003ccode\u003eatlimit\u003c/code\u003e).  We already\nnormalise \u003ccode\u003ehop 1\u003c/code\u003e to \u003ccode\u003enext\u003c/code\u003e, so \u003ccode\u003etest hop 1\u003c/code\u003e and \u003ccode\u003enot hop 1\u003c/code\u003e are also\nsimplified in this way.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSimplify \u003ccode\u003enot\u003c/code\u003e applied to an integer test by removing the \u003ccode\u003enot\u003c/code\u003e and\nflipping the sense of the test (e.g. \u003ccode\u003enot $(x \u0026gt; y)\u003c/code\u003e becomes \u003ccode\u003e$(x \u0026lt;= y)\u003c/code\u003e)\nwhich results in simpler generated code.  More usefully in real world code,\nthis also results in simpler generated code for \u003ccode\u003enot atlimit\u003c/code\u003e (since\n\u003ccode\u003eatlimit\u003c/code\u003e is converted \u003ccode\u003e$(cursor \u0026gt;= limit)\u003c/code\u003e or \u003ccode\u003e$(cursor \u0026lt;= limit)\u003c/code\u003e\n(depending on the current direction).\u003c/p\u003e\n\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/snowballstem/snowball/commit/cd195b51e948a902a4312f023f4a14392516a543\"\u003e\u003ccode\u003ecd195b5\u003c/code\u003e\u003c/a\u003e Update for 3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/snowballstem/snowball/commit/80d885c983019967339bbea003e0a8f724ba0f58\"\u003e\u003ccode\u003e80d885c\u003c/code\u003e\u003c/a\u003e NEWS: Update draft entry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/snowballstem/snowball/commit/5346c74eaedfdd9495ccc8afd5d6957da9e95258\"\u003e\u003ccode\u003e5346c74\u003c/code\u003e\u003c/a\u003e C++: Compile runtime as C++\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/snowballstem/snowball/commit/537f9702e635f8dad03441775aebe53565492ed7\"\u003e\u003ccode\u003e537f970\u003c/code\u003e\u003c/a\u003e python: Add classifier for 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/snowballstem/snowball/commit/3aeb013c9ffd2f2df15c6ef9cc956a7f825e4fd2\"\u003e\u003ccode\u003e3aeb013\u003c/code\u003e\u003c/a\u003e python: Skip Natural Language :: Sesotho classifier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/snowballstem/snowball/commit/91fa20b842db0f422ea02d26d59f518dbae72c63\"\u003e\u003ccode\u003e91fa20b\u003c/code\u003e\u003c/a\u003e NEWS: Update draft entry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/snowballstem/snowball/commit/a04abeb4f95eed8757b5107694fa0424c7026a79\"\u003e\u003ccode\u003ea04abeb\u003c/code\u003e\u003c/a\u003e Don't use extern \u0026quot;C\u0026quot; for functions which can throw\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/snowballstem/snowball/commit/49bb623cb9b0ca05267d939c2e2f56c10b63dc6c\"\u003e\u003ccode\u003e49bb623\u003c/code\u003e\u003c/a\u003e C++: Hook up properly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/snowballstem/snowball/commit/7ab50ed5f4ed99f08d897100633345e488e07a05\"\u003e\u003ccode\u003e7ab50ed\u003c/code\u003e\u003c/a\u003e CI: Fix coverage job\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/snowballstem/snowball/commit/5f0a33cc278f0973f5c987fdcf8aa1d1afa6ba95\"\u003e\u003ccode\u003e5f0a33c\u003c/code\u003e\u003c/a\u003e NEWS: Add draft entry\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/snowballstem/snowball/compare/v3.1.0...v3.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `optuna` from 4.8.0 to 4.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.9.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/74?closed=1\"\u003ev4.9.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch3\u003eEnhance Multi-Objective Constrained Parallel Optimization in GPSampler\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sawa3030\"\u003e\u003ccode\u003e@​sawa3030\u003c/code\u003e\u003c/a\u003e introduces parallelization enhancements to \u003ccode\u003eGPSampler\u003c/code\u003e, leveraging the \u003cstrong\u003eKriging Believer\u003c/strong\u003e approach for constrained and multi-objective optimization (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6481\"\u003e#6481\u003c/a\u003e). This improvement allows for more efficient exploration when multiple trials are running concurrently.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003eThe GP surrogate is updated by assigning temporary objective function values ​​to the running trials.\u003c/p\u003e\n\u003cp\u003eFor more technical details and benchmarks, please check out our blog post: \u003ca href=\"https://medium.com/optuna/improving-optunas-gpsampler-parallelization-by-considering-running-trials-10d42aeb5d49\"\u003eImproving Optuna’s GPSampler Parallelization by Considering Running Trials\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eDeprecate Several Features\u003c/h3\u003e\n\u003cp\u003eThe following features are deprecated in v4.9.0 and scheduled for removal in v6.0.0.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eoptuna\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSeveral arguments in \u003ccode\u003eTPESampler\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6635\"\u003e#6635\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eprior_weight\u003c/code\u003e, \u003ccode\u003econsider_magic_clip\u003c/code\u003e, \u003ccode\u003econsider_endpoints\u003c/code\u003e, \u003ccode\u003egamma\u003c/code\u003e, \u003ccode\u003eweights\u003c/code\u003e, \u003ccode\u003ehyperopt_parameters\u003c/code\u003e: These internal parameters are being deprecated to simplify the interface, as the default settings are optimal for most use cases.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ewarn_independent_sampling\u003c/code\u003e: Deprecated because \u003ccode\u003eTPESampler\u003c/code\u003e now robustly supports both independent and joint sampling, making this warning obsolete.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecategorical_distance_func\u003c/code\u003e: This advanced feature will be migrated to OptunaHub in the future.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ex0\u003c/code\u003e and \u003ccode\u003esigma0\u003c/code\u003e options in \u003ccode\u003eCmaEsSampler\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6624\"\u003e#6624\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThese options have been deprecated because they require a deep understanding of \u003ccode\u003eCmaEsSampler\u003c/code\u003e's internals to be configured effectively.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eoptuna.terminator\u003c/code\u003e module\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6668\"\u003e#6668\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis feature will be migrated to OptunaHub in the future.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eRetryFailedTrialCallback\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6670\"\u003e#6670\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis class has been renamed to \u003ccode\u003eRetryHeartbeatStaleTrialCallback\u003c/code\u003e to better reflect its behavior and avoid confusion with general trial retries (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6085\"\u003e#6085\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eoptuna.integration\u003c/code\u003e module\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003eoptuna.integration\u003c/code\u003e module currently acts as a shortcut to the external \u003ccode\u003eoptuna_integration\u003c/code\u003e package for backward compatibility. Please import directly from the \u003ccode\u003eoptuna_integration\u003c/code\u003e package going forward.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eoptuna-integration\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ePyCmaSampler\u003c/code\u003e: Please use Optuna's native \u003ccode\u003eCmaEsSampler\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCometCallback\u003c/code\u003e: This feature will be migrated to OptunaHub in the future.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMLflowCallback\u003c/code\u003e: This feature will be migrated to OptunaHub in the future.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTensorBoardCallback\u003c/code\u003e: This feature will be migrated to OptunaHub in the future.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTrackioCallback\u003c/code\u003e: This feature will be migrated to OptunaHub in the future.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eWeightsAndBiasesCallback\u003c/code\u003e: This class has already been migrated to OptunaHub.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBreaking Changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003ePyCmaSampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/276\"\u003eoptuna/optuna-integration#276\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd deprecation message for \u003ccode\u003eCometCallback\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/280\"\u003eoptuna/optuna-integration#280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd deprecation message for MLflowCallback (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/281\"\u003eoptuna/optuna-integration#281\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/optuna/optuna/commit/4db42e31c24b200e52595df9d4c00e2cdeefea2b\"\u003e\u003ccode\u003e4db42e3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6691\"\u003e#6691\u003c/a\u003e from c-bata/backport-v4.9-attestations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/6a15cf0906c5e92e9dbe70d3ee320eb3db5d08b7\"\u003e\u003ccode\u003e6a15cf0\u003c/code\u003e\u003c/a\u003e Add attestations: false to fix release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/a592e6c0d6604fa678201ecddbcc53a0d232cc65\"\u003e\u003ccode\u003ea592e6c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6684\"\u003e#6684\u003c/a\u003e from c-bata/bump-up-to-v4.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/490cfd6de52377acbec1d6f709b0189026575af2\"\u003e\u003ccode\u003e490cfd6\u003c/code\u003e\u003c/a\u003e Bump up to version number v4.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/6135d5469152a3f14a41202d2c065e823f3dd24c\"\u003e\u003ccode\u003e6135d54\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6651\"\u003e#6651\u003c/a\u003e from nabenabe0928/add-brute-force-info-to-grid-sampler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/c41ec2df70ba2c4957aa96f524733d1e488d9e85\"\u003e\u003ccode\u003ec41ec2d\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'upstream/master' into add-brute-force-info-to-g...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/f845a8fccfc0c6d64d419b27ab3076bb1b7caf32\"\u003e\u003ccode\u003ef845a8f\u003c/code\u003e\u003c/a\u003e Fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/574749e6a8ae2b93fc0a61908ad90da92495e8e5\"\u003e\u003ccode\u003e574749e\u003c/code\u003e\u003c/a\u003e Fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/af7fe8b01791a8ddbb368ce9e77d922296da30b1\"\u003e\u003ccode\u003eaf7fe8b\u003c/code\u003e\u003c/a\u003e Add note to best trial\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/b200bfbb312595c07d0e0c1265754096843091af\"\u003e\u003ccode\u003eb200bfb\u003c/code\u003e\u003c/a\u003e Update the NSGA-III doc\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/optuna/optuna/compare/v4.8.0...v4.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `moto` from 5.2.1 to 5.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getmoto/moto/blob/master/CHANGELOG.md\"\u003emoto's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.2.2\u003c/h2\u003e\n\u003cp\u003eDocker Digest for 5.2.2: \u003cem\u003esha256:d8ae5edc2bf080e7e4c13f9bd4b29b53ac3b4427e92956318db3dbe23ec43eb7\u003c/em\u003e\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eNew Methods:\n    * DS:\n        * disable_radius()\n        * enable_radius()\n\u003cpre\u003e\u003ccode\u003e* KinesisAnalyticsV2:\n    * untag_resource()\n\n* Logs:\n    * start_live_tail()\n\n* SESv2:\n    * update_contact()\n    * update_contact_list()\n\n* SWF:\n    * tag_resource()\n    * untag_resource()\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eMiscellaneous:\u003cbr /\u003e\n* ACM: import_certificate() now accepts certificates without a CN\u003cbr /\u003e\n* ACM: request_certificate() now preserves the default options when not all are provided\u003cbr /\u003e\n* CloudFormation: Created Lambda resources now take the \u003ccode\u003euse_docker\u003c/code\u003e-configuration into account\u003cbr /\u003e\n* CloudFormation: update_stack_instances() now validates that a StackInstance exists\u003cbr /\u003e\n* Events: create_partner_event_source() now returns the EventSourceArn-attribute\u003cbr /\u003e\n* Route53: list_resource_record_sets() no longer returns a TTL for aliases\u003cbr /\u003e\n* S3: completed_multipart_upload() is now compatible with external tools like PyArrow\u003cbr /\u003e\n* S3: get_object() now supports all Response* headers\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getmoto/moto/commit/837595545cc4a4bb8fede2cff84b2b2373443981\"\u003e\u003ccode\u003e8375955\u003c/code\u003e\u003c/a\u003e Pre-Release: Up Version Number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getmoto/moto/commit/325f8599bf7c9cdc3dfbf92ff911616e1955bb3f\"\u003e\u003ccode\u003e325f859\u003c/code\u003e\u003c/a\u003e Prepare release 5.2.2 (\u003ca href=\"https://redirect.github.com/getmoto/moto/issues/10059\"\u003e#10059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getmoto/moto/commit/a3ced98f8ce0e57eab3d29925630708c5d0e654d\"\u003e\u003ccode\u003ea3ced98\u003c/code\u003e\u003c/a\u003e S3: get_object() now honors ResponseContentDisposition etc headers (\u003ca href=\"https://redirect.github.com/getmoto/moto/issues/10057\"\u003e#10057\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getmoto/moto/commit/d0cf348a92ded5e372380e47ca8f0ea1f43386bd\"\u003e\u003ccode\u003ed0cf348\u003c/code\u003e\u003c/a\u003e ACM: support certs without CN (\u003ca href=\"https://redirect.github.com/getmoto/moto/issues/9912\"\u003e#9912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getmoto/moto/commit/cbd409ae21d1537f958ffaa2d9a687fd0245c61b\"\u003e\u003ccode\u003ecbd409a\u003c/code\u003e\u003c/a\u003e Bump the go-deps group in /other_langs/tests_go with 6 updates (\u003ca href=\"https://redirect.github.com/getmoto/moto/issues/10054\"\u003e#10054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getmoto/moto/commit/f47b7b19cdf1b5d511e395c2a7ddd4488c92ef21\"\u003e\u003ccode\u003ef47b7b1\u003c/code\u003e\u003c/a\u003e Bump the java-deps group in /other_langs/tests_java with 5 updates (\u003ca href=\"https://redirect.github.com/getmoto/moto/issues/10053\"\u003e#10053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getmoto/moto/commit/33c406f384e8764642b7414e8272ac03c23d2603\"\u003e\u003ccode\u003e33c406f\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.306.0 to 1.310.0 (\u003ca href=\"https://redirect.github.com/getmoto/moto/issues/10052\"\u003e#10052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getmoto/moto/commit/be0341c15c0a785ec5dec00270b3eeef40e61922\"\u003e\u003ccode\u003ebe0341c\u003c/code\u003e\u003c/a\u003e S3: fix CompleteMultipartUpload root level XML tag (\u003ca href=\"https://redirect.github.com/getmoto/moto/issues/10056\"\u003e#10056\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getmoto/moto/commit/0f171e36dc61aaf0a1f123f36c0fa635461af287\"\u003e\u003ccode\u003e0f171e3\u003c/code\u003e\u003c/a\u003e chore: update SSM default parameters (\u003ca href=\"https://redirect.github.com/getmoto/moto/issues/10051\"\u003e#10051\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getmoto/moto/commit/2329a6267b854c0824757739b0b46766ce0e277d\"\u003e\u003ccode\u003e2329a62\u003c/code\u003e\u003c/a\u003e chore: update EC2 Instance Offerings (\u003ca href=\"https://redirect.github.com/getmoto/moto/issues/10048\"\u003e#10048\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getmoto/moto/compare/5.2.1...5.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/ministryofjustice/cica-review-case-documents-airflow/pull/228","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Fcica-review-case-documents-airflow/issues/228","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/228/packages"},{"uuid":"4606812334","node_id":"PR_kwDOSCHeqs7jmRgN","number":964,"state":"closed","title":"chore(deps): bump the python-deps group across 2 directories with 14 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-06-07T10:05:44.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-07T09:23:00.000Z","updated_at":"2026-06-07T10:06:07.000Z","time_to_close":2564,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-deps","update_count":14,"packages":[{"name":"numpy","old_version":"2.4.4","new_version":"2.4.6","repository_url":"https://github.com/numpy/numpy"},{"name":"pandas","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"pyarrow","old_version":"23.0.1","new_version":"24.0.0","repository_url":"https://github.com/apache/arrow"},{"name":"polars","old_version":"1.41.1","new_version":"1.41.2","repository_url":"https://github.com/pola-rs/polars"},{"name":"gunicorn","old_version":"25.3.0","new_version":"26.0.0","repository_url":"https://github.com/benoitc/gunicorn"},{"name":"boto3","old_version":"1.42.89","new_version":"1.43.24","repository_url":"https://github.com/boto/boto3"},{"name":"markdown","old_version":"3.8.1","new_version":"3.10.2","repository_url":"https://github.com/Python-Markdown/markdown"},{"name":"bleach","old_version":"6.1.0","new_version":"6.4.0","repository_url":"https://github.com/mozilla/bleach"},{"name":"torch","old_version":"2.12.0","new_version":"2.12.0+cu130"},{"name":"optuna","old_version":"4.8.0","new_version":"4.9.0","repository_url":"https://github.com/optuna/optuna"}],"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\nUpdates the requirements on [numpy](https://github.com/numpy/numpy), [pandas](https://github.com/pandas-dev/pandas), [pyarrow](https://github.com/apache/arrow), [polars](https://github.com/pola-rs/polars), [gunicorn](https://github.com/benoitc/gunicorn), [shap](https://github.com/shap/shap), [boto3](https://github.com/boto/boto3), [markdown](https://github.com/Python-Markdown/markdown), [bleach](https://github.com/mozilla/bleach), torch, [pytest-timeout](https://github.com/pytest-dev/pytest-timeout), [pytest-cov](https://github.com/pytest-dev/pytest-cov), [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) and [optuna](https://github.com/optuna/optuna) to permit the latest version.\nUpdates `numpy` from 2.4.4 to 2.4.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.4.6 (May 18, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.6 Release Notes\u003c/h1\u003e\n\u003cp\u003eNumPy 2.4.6 is a quick release that fixes a regression discovered in the 2.4.5\nrelease.\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 4 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\u003e!EarlMilktea\u003c/li\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eSebastian Berg\u003c/li\u003e\n\u003cli\u003eWarren Weckesser\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 4 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/31444\"\u003e#31444\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/31453\"\u003e#31453\u003c/a\u003e: BUG: Fix regression in \u003ccode\u003earr.conj()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31459\"\u003e#31459\u003c/a\u003e: BUG: \u003ccode\u003enp.linalg.svd(..., hermitian=True)\u003c/code\u003e returns non-unitary...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31460\"\u003e#31460\u003c/a\u003e: BUG: Don't call INCREF/DECREF on descr in NpyStringAcquireAllocator...\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.4.5 (May 15, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.5 Release Notes\u003c/h1\u003e\n\u003cp\u003eNumPy 2.4.5 is a patch release that fixes bugs discovered after the 2.4.4\nrelease, has some typing improvements, and maintains infrastructure.\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 17 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\u003eAleksei Nikiforov\u003c/li\u003e\n\u003cli\u003eAnarion Zuo +\u003c/li\u003e\n\u003cli\u003eAnkit Ahlawat\u003c/li\u003e\n\u003cli\u003eBreno Favaretto +\u003c/li\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eIgor Krivenko +\u003c/li\u003e\n\u003cli\u003eIjtihed Kilani +\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eMaarten Baert +\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/b832a09cf2a169c833dd2371e7c07aa00b293242\"\u003e\u003ccode\u003eb832a09\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31462\"\u003e#31462\u003c/a\u003e from charris/prepare-2.4.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/57cc147d2ceacffc6534642bfbdebb3a80428e1e\"\u003e\u003ccode\u003e57cc147\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.6 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/0c72b0b53b6b83c004e434b2c7855e73c000d21e\"\u003e\u003ccode\u003e0c72b0b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31459\"\u003e#31459\u003c/a\u003e from charris/backport-31347\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/9778d26e0475d381ccb7817c3b4dd8cacef2b9eb\"\u003e\u003ccode\u003e9778d26\u003c/code\u003e\u003c/a\u003e BUG: core: Don't call INCREF/DECREF on descr in NpyStringAcquireAllocator. (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/e0e38767d5d0f848ab44befeedcad71e8ef589c7\"\u003e\u003ccode\u003ee0e3876\u003c/code\u003e\u003c/a\u003e BUG: core: Don't call INCREF/DECREF on descr in NpyStringAcquireAllocator. (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/d1bffeb9ec4ec0bf029c94ea35abffa92d5c30f2\"\u003e\u003ccode\u003ed1bffeb\u003c/code\u003e\u003c/a\u003e BUG: \u003ccode\u003enp.linalg.svd(..., hermitian=True)\u003c/code\u003e returns non-unitary \u003ccode\u003evh\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31347\"\u003e#31347\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/8d8d7e5a14a1da0bfb0faf609a7a7610c431e6e9\"\u003e\u003ccode\u003e8d8d7e5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31453\"\u003e#31453\u003c/a\u003e from seberg/issue-31452\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/bddaab7ace45f90148d8f2bb6e67daab2d45ec76\"\u003e\u003ccode\u003ebddaab7\u003c/code\u003e\u003c/a\u003e BUG: Fix regression in \u003ccode\u003earr.conj()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/37a1ecca8dff09b2c579a991194ac55b9971f3a7\"\u003e\u003ccode\u003e37a1ecc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31444\"\u003e#31444\u003c/a\u003e from charris/begin-2.4.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/3c0e043217a759a8a948ade158fec14348c3b459\"\u003e\u003ccode\u003e3c0e043\u003c/code\u003e\u003c/a\u003e MAINT: Prepare 2.4.x for further development\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.4.4...v2.4.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pandas` from 3.0.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/pandas-dev/pandas/releases\"\u003epandas's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epandas 3.0.3\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 3.0.3.\nThis is a patch release in the 3.0.x series and includes some regression fixes and bug fixes. We recommend that all users of the 3.0.x series upgrade to this version.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/docs/whatsnew/v3.0.3.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\u003c/p\u003e\n\u003cp\u003ePandas 3.0 supports Python 3.11 and higher.\nThe release can be installed from PyPI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython -m pip install --upgrade pandas==3.0.*\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr from conda-forge\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install -c conda-forge pandas=3.0\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/72f2fea91530b5abb3cf2100cb22d84e504695c0\"\u003e\u003ccode\u003e72f2fea\u003c/code\u003e\u003c/a\u003e RLS: 3.0.3 (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/65590\"\u003e#65590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/2897590094c2b6e3962d01a82665936f30be563d\"\u003e\u003ccode\u003e2897590\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/65436\"\u003e#65436\u003c/a\u003e on branch 3.0.x (Account for privatization of matplotlib `...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/49894b5b6037c50f6444504070d9b1e8e514001a\"\u003e\u003ccode\u003e49894b5\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/65499\"\u003e#65499\u003c/a\u003e on branch 3.0.x (BUG: fix check if pyarrow is installed in...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/1c6d1e30cc4b80bedb769a8b3731b0788f69c9dc\"\u003e\u003ccode\u003e1c6d1e3\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] PERF: remove special casing for zoneinfo in tz_localize_to_u...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/2a547116afc46d88d4e6584670fd793949222a1e\"\u003e\u003ccode\u003e2a54711\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64379\"\u003e#64379\u003c/a\u003e on branch 3.0.x (PERF: improve performance with ZoneInfo t...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/036bb7c0e7160b9d5a7f6bd26a9fc00921fa6977\"\u003e\u003ccode\u003e036bb7c\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/65482\"\u003e#65482\u003c/a\u003e on branch 3.0.x (PERF: don't call unique on dtypes for che...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/bf4c182b09251f5b469e8e246ae3ea3e1ae07164\"\u003e\u003ccode\u003ebf4c182\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/65410\"\u003e#65410\u003c/a\u003e on branch 3.0.x (TST: also convert str index to object in ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/dd02d75ce219135f9f3f65c13644d4be35585d42\"\u003e\u003ccode\u003edd02d75\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: keep fsspec OpenFile alive for chained URL reads (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/6547\"\u003e#6547\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/aef3d0f6698667262c6d6ffc69180b280b0fa86a\"\u003e\u003ccode\u003eaef3d0f\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] CI: lowercase types-pymysql/types-pyyaml to fix mamba 2.6.0 ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/bb8e24876273a14322047f4b89e648f6a4abebae\"\u003e\u003ccode\u003ebb8e248\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/65399\"\u003e#65399\u003c/a\u003e on branch 3.0.x (DOC: fix source link for classes in the r...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandas-dev/pandas/compare/v3.0.2...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyarrow` from 23.0.1 to 24.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 24.0.0\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/24.0.0.html\"\u003ehttps://arrow.apache.org/release/24.0.0.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 24.0.0 RC0\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 24.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/31b4b6c0a0a7e7c117312d285541a21446675ec6\"\u003e\u003ccode\u003e31b4b6c\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update versions for 24.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/06dbc179b4d4af4d8fcd2eb7365e4f0ccc37fcb5\"\u003e\u003ccode\u003e06dbc17\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update .deb/.rpm changelogs for 24.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/a021d80fffbcaa17959aa3cf491328cc389865aa\"\u003e\u003ccode\u003ea021d80\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update CHANGELOG.md for 24.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/2d6b12c9caced34a70207d2a303b2a00470e4388\"\u003e\u003ccode\u003e2d6b12c\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49716\"\u003eGH-49716\u003c/a\u003e: [C++] FixedShapeTensorType::Deserialize should strictly validate se...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/a74cb6aad96d3c7e7fbfad36ceb8e7f637229f54\"\u003e\u003ccode\u003ea74cb6a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49697\"\u003eGH-49697\u003c/a\u003e: [C++][CI] Check IPC file body bounds are in sync with decoder outco...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/871a0c665647200b1ad1837ccebe64bfa703a5d3\"\u003e\u003ccode\u003e871a0c6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49676\"\u003eGH-49676\u003c/a\u003e: [Python][Packaging] Fix gRPC docker image layer being too big for h...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/f9203b34e308a5ab67042fd9ddd5e7ab528896a2\"\u003e\u003ccode\u003ef9203b3\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49586\"\u003eGH-49586\u003c/a\u003e: [C++][CI] StructToStructSubset test failure with libc++ 22.1.1 (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49\"\u003e#49\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/fe298b424f4c7e33cdc9331221ece9302f6abb26\"\u003e\u003ccode\u003efe298b4\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49628\"\u003eGH-49628\u003c/a\u003e: [Python][Interchange protocol] Suppress warnings for pandas 4.0.0 a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/1f94910cdd840a84c2007b5837e577d517be7984\"\u003e\u003ccode\u003e1f94910\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49252\"\u003eGH-49252\u003c/a\u003e: [GLib] Deprecate Feather features (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49673\"\u003e#49673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/5ba5c3ca1af2d540f17bd1db91c103d40abefd1b\"\u003e\u003ccode\u003e5ba5c3c\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49671\"\u003eGH-49671\u003c/a\u003e: [CI][Docs] Don't run jobs for push by Dependabot (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49672\"\u003e#49672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/arrow/compare/apache-arrow-23.0.1...apache-arrow-24.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `polars` from 1.41.1 to 1.41.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pola-rs/polars/releases\"\u003epolars's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePython Polars 1.41.2\u003c/h2\u003e\n\u003ch2\u003e🚀 Performance improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to new jemalloc (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27797\"\u003e#27797\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not materialize \u003ccode\u003eScalarColumn\u003c/code\u003e in Column \u003ccode\u003esplit_at\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27782\"\u003e#27782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid materializing broadcast in \u003ccode\u003earray.shift\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27740\"\u003e#27740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid materializing broadcast list in \u003ccode\u003elist.sample(n)\u003c/code\u003e and \u003ccode\u003elist.sample(frac)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27679\"\u003e#27679\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e✨ Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to new jemalloc (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27797\"\u003e#27797\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐞 Bug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBroken link to AI Policy corrected (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27793\"\u003e#27793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate to new jemalloc (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27797\"\u003e#27797\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📖 Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Polars On-Prem version stamp (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27799\"\u003e#27799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBroken link to AI Policy corrected (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27793\"\u003e#27793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd release dates to the On-Prem releases page (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27787\"\u003e#27787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove on-prem docs (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27788\"\u003e#27788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd query profiler video to On-Prem user guide (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27786\"\u003e#27786\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd EKS/AKS/GKE guides (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27774\"\u003e#27774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Polars On-Prem 0.4.2 (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27780\"\u003e#27780\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠️ Other improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRun Pyrefly on \u003ccode\u003e_utils\u003c/code\u003e and \u003ccode\u003efunctions\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27789\"\u003e#27789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHarden against async blocking deadlocks (take 2) (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27767\"\u003e#27767\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThank you to all our contributors for making this release possible!\n\u003ca href=\"https://github.com/ButteryPaws\"\u003e\u003ccode\u003e@​ButteryPaws\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/EndPositive\"\u003e\u003ccode\u003e@​EndPositive\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Kevin-Patyk\"\u003e\u003ccode\u003e@​Kevin-Patyk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/MarcoGorelli\"\u003e\u003ccode\u003e@​MarcoGorelli\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/TNieuwdorp\"\u003e\u003ccode\u003e@​TNieuwdorp\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/azimafroozeh\"\u003e\u003ccode\u003e@​azimafroozeh\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/carnarez\"\u003e\u003ccode\u003e@​carnarez\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/kdn36\"\u003e\u003ccode\u003e@​kdn36\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lun3x\"\u003e\u003ccode\u003e@​lun3x\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/orlp\"\u003e\u003ccode\u003e@​orlp\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/ritchie46\"\u003e\u003ccode\u003e@​ritchie46\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/599a503a0997188a74750926a5cdaa47585cf8aa\"\u003e\u003ccode\u003e599a503\u003c/code\u003e\u003c/a\u003e Python Polars 1.41.2 (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27784\"\u003e#27784\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/46bb74ef18e44caabd2f86ed348d479189e19dc9\"\u003e\u003ccode\u003e46bb74e\u003c/code\u003e\u003c/a\u003e docs(python): Update Polars On-Prem version stamp (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27799\"\u003e#27799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/7dd39239a23b3fa782daef9e63d4a756d4ca0153\"\u003e\u003ccode\u003e7dd3923\u003c/code\u003e\u003c/a\u003e docs: Broken link to AI Policy corrected (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27793\"\u003e#27793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/18e9bf5cd912c901ee45d4214ee9366a7333add4\"\u003e\u003ccode\u003e18e9bf5\u003c/code\u003e\u003c/a\u003e fix: Update to new jemalloc (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27797\"\u003e#27797\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/d307ef1afdfe1496e72f9b509605ad927b9eb429\"\u003e\u003ccode\u003ed307ef1\u003c/code\u003e\u003c/a\u003e refactor(rust): Deduplicate thrift field-walk loops (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27790\"\u003e#27790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/2209281e97c75e499628a87883cd796ea809bbf2\"\u003e\u003ccode\u003e2209281\u003c/code\u003e\u003c/a\u003e chore(python): Run Pyrefly on \u003ccode\u003e_utils\u003c/code\u003e and \u003ccode\u003efunctions\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27789\"\u003e#27789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/0eb75181491a478f890d4b7f065c79e9653ce5d7\"\u003e\u003ccode\u003e0eb7518\u003c/code\u003e\u003c/a\u003e docs: Add release dates to the On-Prem releases page (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27787\"\u003e#27787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/81ce1447eaa4261b3addbca6ccda13191de4af7f\"\u003e\u003ccode\u003e81ce144\u003c/code\u003e\u003c/a\u003e docs: Improve on-prem docs (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27788\"\u003e#27788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/9881f803d078f15116534fcd479b3494ab1746ac\"\u003e\u003ccode\u003e9881f80\u003c/code\u003e\u003c/a\u003e fix(rust): Swap PlHashMap for PlIndexMap to make Multiplexer insertion order ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/295b191c306aba1a64b5f3f8691bcf811a20f77d\"\u003e\u003ccode\u003e295b191\u003c/code\u003e\u003c/a\u003e docs: Add query profiler video to On-Prem user guide (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27786\"\u003e#27786\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pola-rs/polars/compare/py-1.41.1...py-1.41.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gunicorn` from 25.3.0 to 26.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/benoitc/gunicorn/releases\"\u003egunicorn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.0.0\u003c/h2\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eEventlet worker removed\u003c/strong\u003e: The \u003ccode\u003eeventlet\u003c/code\u003e worker class has been dropped. Migrate to \u003ccode\u003egevent\u003c/code\u003e, \u003ccode\u003egthread\u003c/code\u003e, or \u003ccode\u003etornado\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eASGI Framework Compatibility Suite\u003c/strong\u003e: New end-to-end compatibility test harness covering Starlette, FastAPI, Litestar, Quart, Sanic, and BlackSheep. Current grid passes 438/444 tests (98%).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eASGI Test Suite Expansion\u003c/strong\u003e: 134 additional ASGI unit tests covering protocol semantics, lifespan, websockets, and chunked framing.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eHTTP/1.1 Request-Target Validation\u003c/strong\u003e (RFC 9112 sections 3.2.3, 3.2.4):\n\u003cul\u003e\n\u003cli\u003eReject \u003ccode\u003eauthority-form\u003c/code\u003e request-target outside \u003ccode\u003eCONNECT\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eReject \u003ccode\u003easterisk-form\u003c/code\u003e request-target outside \u003ccode\u003eOPTIONS\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eReject \u003ccode\u003erelative-reference\u003c/code\u003e request-targets\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHeader Field Hardening\u003c/strong\u003e (RFC 9110):\n\u003cul\u003e\n\u003cli\u003eReject control characters in header field-value (section 5.5)\u003c/li\u003e\n\u003cli\u003eReject forbidden trailer field-names (section 6.5.1)\u003c/li\u003e\n\u003cli\u003eReject \u003ccode\u003eContent-Length\u003c/code\u003e list form (RFC 9112 section 6.3)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRequest Smuggling Hardening\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eTighten keepalive gate and scope \u003ccode\u003efinish_body\u003c/code\u003e byte cap\u003c/li\u003e\n\u003cli\u003eKeep \u003ccode\u003e_body_receiver\u003c/code\u003e alive across the keepalive smuggling gate so pipelined requests cannot re-enter a closed body\u003c/li\u003e\n\u003cli\u003eAddress parser/protocol findings from a six-point WSGI/ASGI audit\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePROXY Protocol (ASGI)\u003c/strong\u003e: Enforce \u003ccode\u003eproxy_allow_ips\u003c/code\u003e and tighten v1/v2 parsing in the ASGI callback parser.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eConnection Draining\u003c/strong\u003e: Drain the connection on close per RFC 9112 section 9.6 to prevent reset-on-close truncation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBody Framing on HEAD/204/304\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eKeep \u003ccode\u003eContent-Length\u003c/code\u003e on HEAD and 304 responses (\u003ca href=\"https://redirect.github.com/benoitc/gunicorn/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop body framing on HEAD/204/304 even when the framework set it\u003c/li\u003e\n\u003cli\u003eWarn once when an ASGI app emits a body for a no-body response\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHTTP/2 ASGI\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003e_handle_stream_ended\u003c/code\u003e to set \u003ccode\u003e_body_complete\u003c/code\u003e in the async HTTP/2 handler so request bodies finalize correctly on stream end\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eInvalidChunkExtension\u003c/code\u003e mapping and fast-parser support in ASGI tests (\u003ca href=\"https://redirect.github.com/benoitc/gunicorn/issues/3565\"\u003e#3565\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHTTP/1.1 100-Continue\u003c/strong\u003e: Stop adding \u003ccode\u003eTransfer-Encoding: chunked\u003c/code\u003e to 100-Continue interim responses.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWebSocket Close Handshake\u003c/strong\u003e (RFC 6455):\n\u003cul\u003e\n\u003cli\u003eComply with the close handshake state machine\u003c/li\u003e\n\u003cli\u003eClose the transport after the close handshake completes\u003c/li\u003e\n\u003cli\u003eFix binary send when the \u003ccode\u003etext\u003c/code\u003e key is \u003ccode\u003eNone\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eEarly Hints\u003c/strong\u003e: Validate headers in the \u003ccode\u003eearly_hints\u003c/code\u003e callback to match \u003ccode\u003eprocess_headers\u003c/code\u003e; pass only the header name to \u003ccode\u003eInvalidHeader\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/benoitc/gunicorn/issues/3588\"\u003e#3588\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eASGI Framework Fixes\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eFix ASGI disconnect handling for Django-style apps\u003c/li\u003e\n\u003cli\u003eFix Litestar request handling (use raw ASGI receive for body/headers)\u003c/li\u003e\n\u003cli\u003eFix Litestar HTTP endpoints for compatibility tests\u003c/li\u003e\n\u003cli\u003eFix Quart headers endpoint to normalize keys to lowercase\u003c/li\u003e\n\u003cli\u003eFix Quart WebSocket close test app (missing \u003ccode\u003eaccept()\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix duplicate \u003ccode\u003eTransfer-Encoding\u003c/code\u003e header for BlackSheep streaming\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/benoitc/gunicorn/commit/5d819cf36040f6cc6175fcc804d703fb899509dd\"\u003e\u003ccode\u003e5d819cf\u003c/code\u003e\u003c/a\u003e release: 26.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benoitc/gunicorn/commit/b45c70df105f7d5dcbc5abfb732804d6464edc21\"\u003e\u003ccode\u003eb45c70d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/benoitc/gunicorn/issues/3611\"\u003e#3611\u003c/a\u003e from zc-mattcen/docs-typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benoitc/gunicorn/commit/99c8d48acf453deb5c49fe12e195dbc00d888d1e\"\u003e\u003ccode\u003e99c8d48\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/benoitc/gunicorn/issues/3623\"\u003e#3623\u003c/a\u003e from benoitc/chore/drop-eventlet-add-h2-uvloop-test-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benoitc/gunicorn/commit/5a655af50f20e005dd9e32e6078dc82fa45f3d4b\"\u003e\u003ccode\u003e5a655af\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/benoitc/gunicorn/issues/3622\"\u003e#3622\u003c/a\u003e from benoitc/test/docker-port-and-ipv4-fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benoitc/gunicorn/commit/201df19a8011c0a1d6a0e75ebe22e89d48eb935e\"\u003e\u003ccode\u003e201df19\u003c/code\u003e\u003c/a\u003e chore: remove eventlet worker; add h2 and uvloop to test deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benoitc/gunicorn/commit/f4ac8e1f1bf1d365e77f41915da55bec31873f84\"\u003e\u003ccode\u003ef4ac8e1\u003c/code\u003e\u003c/a\u003e test: pass action name to dirty client and stabilize after TTOU spam\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benoitc/gunicorn/commit/54d38afddf1f0db0c15b5f4ff63f3c7bfad96961\"\u003e\u003ccode\u003e54d38af\u003c/code\u003e\u003c/a\u003e test: unblock docker fixtures on macOS hosts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benoitc/gunicorn/commit/68843c8893dd938456f0a2da62085ab5776f8871\"\u003e\u003ccode\u003e68843c8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/benoitc/gunicorn/issues/3621\"\u003e#3621\u003c/a\u003e from benoitc/fix/asgi-preserve-content-length-on-hea...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benoitc/gunicorn/commit/31f2618f733cc0c78690df63f4e344aaf3f56b20\"\u003e\u003ccode\u003e31f2618\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/benoitc/gunicorn/issues/3620\"\u003e#3620\u003c/a\u003e from benoitc/fix/asgi-proxy-protocol-trust-and-parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benoitc/gunicorn/commit/41ec7527dbd8a9e52728477700707ad40e41d9dc\"\u003e\u003ccode\u003e41ec752\u003c/code\u003e\u003c/a\u003e fix: keep Content-Length on HEAD and 304 responses\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/benoitc/gunicorn/compare/25.3.0...26.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `shap` to 0.52.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/shap/shap/releases\"\u003eshap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.52.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNative bindings rewritten with \u003cstrong\u003enanobind\u003c/strong\u003e, and the build system migrated\nfrom \u003ccode\u003esetup.py\u003c/code\u003e to \u003cstrong\u003escikit-build-core + CMake\u003c/strong\u003e. The Cython\n\u003ccode\u003e_kernel_lib.pyx\u003c/code\u003e and the existing \u003ccode\u003e_cext\u003c/code\u003e / \u003ccode\u003e_cext_gpu\u003c/code\u003e modules are now\nbuilt as nanobind extensions, and \u003ccode\u003eMANIFEST.in\u003c/code\u003e / \u003ccode\u003esetup.py\u003c/code\u003e have been\nremoved in favor of a \u003ccode\u003epyproject.toml\u003c/code\u003e-driven build. (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4366\"\u003e#4366\u003c/a\u003e, by\n\u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/daidahao\"\u003e\u003ccode\u003e@​daidahao\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/claude\"\u003e\u003ccode\u003e@​claude\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMinimum dependency versions raised to follow SPEC 0. (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4310\"\u003e#4310\u003c/a\u003e, by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLog an \u003ccode\u003eINFO\u003c/code\u003e message when background data is sub-sampled (closes \u003ca href=\"https://redirect.github.com/shap/shap/issues/3461\"\u003e#3461\u003c/a\u003e).\n(\u003ca href=\"https://redirect.github.com/shap/shap/issues/4294\"\u003e#4294\u003c/a\u003e, by \u003ca href=\"https://github.com/Ebube22\"\u003e\u003ccode\u003e@​Ebube22\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd cross-links between the API Reference and API Examples pages.\n(\u003ca href=\"https://redirect.github.com/shap/shap/issues/4329\"\u003e#4329\u003c/a\u003e, by \u003ca href=\"https://github.com/Abhishek9639\"\u003e\u003ccode\u003e@​Abhishek9639\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop the unused \u003ccode\u003etyping-extensions\u003c/code\u003e dependency. (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4629\"\u003e#4629\u003c/a\u003e, by \u003ca href=\"https://github.com/samudraneel05\"\u003e\u003ccode\u003e@​samudraneel05\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove GPU TreeExplainer parity: preserve XGBoost default/missing child\nrouting so NaN values follow the same branch as the source model, preserve\nvector-valued XGBoost \u003ccode\u003ebase_score\u003c/code\u003e values (fixing multiclass additivity\noffsets), and tighten categorical handling so sklearn models with\n\u003ccode\u003eenable_categorical=True\u003c/code\u003e raise the existing unsupported-categorical error\neven when the booster does not expose \u003ccode\u003efeature_types\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4997\"\u003e#4997\u003c/a\u003e, by\n\u003ca href=\"https://github.com/RAMitchell\"\u003e\u003ccode\u003e@​RAMitchell\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreeExplainer no longer crashes with pandas nullable dtypes.\n(\u003ca href=\"https://redirect.github.com/shap/shap/issues/4298\"\u003e#4298\u003c/a\u003e, by \u003ca href=\"https://github.com/tudstudent\"\u003e\u003ccode\u003e@​tudstudent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003ewith_binary=False\u003c/code\u003e and \u003ccode\u003ewith_cuda=True\u003c/code\u003e by\ninitializing \u003ccode\u003ecompile_args\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4322\"\u003e#4322\u003c/a\u003e, by \u003ca href=\"https://github.com/mohityadav8\"\u003e\u003ccode\u003e@​mohityadav8\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eText plot colors render correctly by converting NumPy types to float.\n(\u003ca href=\"https://redirect.github.com/shap/shap/issues/4332\"\u003e#4332\u003c/a\u003e, by \u003ca href=\"https://github.com/Saloni-0465\"\u003e\u003ccode\u003e@​Saloni-0465\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAssign the result of \u003ccode\u003enp.flipud\u003c/code\u003e so it is no longer a no-op in\n\u003ccode\u003eAdditiveForceArrayVisualizer\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4343\"\u003e#4343\u003c/a\u003e, by \u003ca href=\"https://github.com/Mahaveerjain-18\"\u003e\u003ccode\u003e@​Mahaveerjain-18\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eisinstance()\u003c/code\u003e instead of \u003ccode\u003eis\u003c/code\u003e for type checks. (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4373\"\u003e#4373\u003c/a\u003e, by \u003ca href=\"https://github.com/divyam-jha123\"\u003e\u003ccode\u003e@​divyam-jha123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRecord \u003ccode\u003e'sample'\u003c/code\u003e in \u003ccode\u003eExplanation.op_history\u003c/code\u003e instead of \u003ccode\u003e'__getitem__'\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/shap/shap/issues/4376\"\u003e#4376\u003c/a\u003e, by \u003ca href=\"https://github.com/tarun-227\"\u003e\u003ccode\u003e@​tarun-227\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove the unreachable large-dataset warning into the interventional branch.\n(\u003ca href=\"https://redirect.github.com/shap/shap/issues/4392\"\u003e#4392\u003c/a\u003e, by \u003ca href=\"https://github.com/Mahaveerjain-18\"\u003e\u003ccode\u003e@​Mahaveerjain-18\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u0026quot;structure of inputs doesn't match the expected structure\u0026quot;.\n(\u003ca href=\"https://redirect.github.com/shap/shap/issues/4410\"\u003e#4410\u003c/a\u003e, by \u003ca href=\"https://github.com/shaivimalik\"\u003e\u003ccode\u003e@​shaivimalik\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix the return value from \u003ccode\u003eis_color_map()\u003c/code\u003e in \u003ccode\u003eplots/_beeswarm.py\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/shap/shap/issues/4421\"\u003e#4421\u003c/a\u003e, by \u003ca href=\"https://github.com/maniktyagi04\"\u003e\u003ccode\u003e@​maniktyagi04\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSuppress the \u003ccode\u003eUserWarning\u003c/code\u003e when \u003ccode\u003eLGBMRegressor\u003c/code\u003e was fitted with feature\nnames. (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4422\"\u003e#4422\u003c/a\u003e, by \u003ca href=\"https://github.com/shaivimalik\"\u003e\u003ccode\u003e@​shaivimalik\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/shap/shap/commit/8461059bd4e5db2d5d401472ef871c5d411984fe\"\u003e\u003ccode\u003e8461059\u003c/code\u003e\u003c/a\u003e FIX: Improve GPU TreeExplainer parity (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4997\"\u003e#4997\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/8549e6bc3516f71480f0c147265cf5577e4f7a6b\"\u003e\u003ccode\u003e8549e6b\u003c/code\u003e\u003c/a\u003e fix: use isinstance() instead of type() is tuple checks (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4508\"\u003e#4508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/3be70014c904649286a4211a2cb7155fcb79d89e\"\u003e\u003ccode\u003e3be7001\u003c/code\u003e\u003c/a\u003e remove webpack dependency for sickness scores (\u003ca href=\"https://redirect.github.com/shap/shap/issues/5018\"\u003e#5018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/6e9f9b8563fb63c37ae4f7a2af308444857cb20c\"\u003e\u003ccode\u003e6e9f9b8\u003c/code\u003e\u003c/a\u003e build(deps): bump qs and express in /javascript (\u003ca href=\"https://redirect.github.com/shap/shap/issues/5015\"\u003e#5015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/9be5435bb8523eba406147e8dcf3186008818bff\"\u003e\u003ccode\u003e9be5435\u003c/code\u003e\u003c/a\u003e build(deps): bump idna from 3.11 to 3.15 in /docs (\u003ca href=\"https://redirect.github.com/shap/shap/issues/5007\"\u003e#5007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/52dd763bd36603c39ce3a4fc68e7fd805380706e\"\u003e\u003ccode\u003e52dd763\u003c/code\u003e\u003c/a\u003e pin torch to \u0026lt;=2.11.0 in pyproject.toml (\u003ca href=\"https://redirect.github.com/shap/shap/issues/5017\"\u003e#5017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/d8f2e7656017d5f39e6c026852d1eb6caa2dc711\"\u003e\u003ccode\u003ed8f2e76\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump webpack-dev-server in /javascript (\u003ca href=\"https://redirect.github.com/shap/shap/issues/5009\"\u003e#5009\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/ac6e677d627d5458395e5a2925a3ff3297fafd7a\"\u003e\u003ccode\u003eac6e677\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump \u003ccode\u003e@​babel/plugin-transform-modules-systemjs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4991\"\u003e#4991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/679b2eefb00a96ac9b2741103baec27206b26154\"\u003e\u003ccode\u003e679b2ee\u003c/code\u003e\u003c/a\u003e FIX: warn when covariance matrix is singular in LinearExplainer (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4471\"\u003e#4471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/ce4abd76933cac06e1cedbd75bd8fcfc74238318\"\u003e\u003ccode\u003ece4abd7\u003c/code\u003e\u003c/a\u003e build(deps): bump mistune from 3.2.0 to 3.2.1 (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/shap/shap/compare/v0.47.0...v0.52.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.42.89 to 1.43.24\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/b2b302b072044a376279adcb7a4791f424027ad1\"\u003e\u003ccode\u003eb2b302b\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.24'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/02fd3ca9aab5ae0e8e1e9e88e80b56e5a3e3755c\"\u003e\u003ccode\u003e02fd3ca\u003c/code\u003e\u003c/a\u003e Bumping version to 1.43.24\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/fcaf9ff50cea0eff6ce965e97fc4b23c941d1cb5\"\u003e\u003ccode\u003efcaf9ff\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/f2106e0d34cb87a89f066f06373d337da503b0d5\"\u003e\u003ccode\u003ef2106e0\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.23'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/5f983267ce19c9461f9da5ef19105b46879a440e\"\u003e\u003ccode\u003e5f98326\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.23' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/d7e5b7c20dfad5465df92d55541638ecfc09e981\"\u003e\u003ccode\u003ed7e5b7c\u003c/code\u003e\u003c/a\u003e Bumping version to 1.43.23\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/86efe86a74067974ef06571cb101697a8afd66a5\"\u003e\u003ccode\u003e86efe86\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/83844402cce909b1ceded705ceb69cdcefec445b\"\u003e\u003ccode\u003e8384440\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.22'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/eea01a7257d0278255c8c20d7d303ca779135c3c\"\u003e\u003ccode\u003eeea01a7\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.22' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/eff8ee7efd00440fa4a9feb37371c35430cebe06\"\u003e\u003ccode\u003eeff8ee7\u003c/code\u003e\u003c/a\u003e Bumping version to 1.43.22\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.42.89...1.43.24\"\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.1 to 3.10.2\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.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a regression related to comment handling (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1590\"\u003e#1590\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMore reliable fix for \u003ccode\u003e\u0026lt;/\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1593\"\u003e#1593\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\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\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\u003ch2\u003e[3.10.2] - 2026-02-09\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a regression related to comment handling (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1590\"\u003e#1590\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMore reliable fix for \u003ccode\u003e\u0026lt;/\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1593\"\u003e#1593\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\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\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/e7a0efb3a7c36d6b8005403122705662bc17c904\"\u003e\u003ccode\u003ee7a0efb\u003c/code\u003e\u003c/a\u003e Bump version to 3.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/630183336bda57c258becc3ed229105481876a7e\"\u003e\u003ccode\u003e6301833\u003c/code\u003e\u003c/a\u003e Document HTML sanitation policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/7f29f1a69d236f5bb11645c2fa03fcf701487c8c\"\u003e\u003ccode\u003e7f29f1a\u003c/code\u003e\u003c/a\u003e More reliable fix for \u003ccode\u003e\u0026lt;/\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/c4386475a6b6daea43b7d7717add4271adc9a3c1\"\u003e\u003ccode\u003ec438647\u003c/code\u003e\u003c/a\u003e Fix regression of special comments\u003c/li\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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Python-Markdown/markdown/compare/3.8.1...3.10.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bleach` from 6.1.0 to 6.4.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.4.0 (June 5th, 2026)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNOTE: 2026-06-05: Bleach is no longer maintained. There will be no future\nreleases including for security issues.\u003c/strong\u003e\nSee issue: \u003ccode\u003e\u0026lt;https://github.com/mozilla/bleach/issues/698\u0026gt;\u003c/code\u003e__\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBackwards incompatible changes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for pypy 3.10. (\u003ca href=\"https://redirect.github.com/mozilla/bleach/issues/764\"\u003e#764\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix bug 2023812 / GHSA-8rfp-98v4-mmr6.\u003c/p\u003e\n\u003cp\u003eFix XSS issue with sanitize_uri_value where disallowed schemes with\nUnicode invisible characters wouldn't be rejected.\u003c/p\u003e\n\u003cp\u003eFor example::\u003c/p\u003e\n\u003cp\u003eimport bleach\npayload1 = '\u003c!-- raw HTML omitted --\u003eClick\u003c!-- raw HTML omitted --\u003e'\nresult1 = bleach.clean(payload1)\nprint(repr(result1))\u003c/p\u003e\n\u003cp\u003eoutputs::\u003c/p\u003e\n\u003cp\u003e'\u003c!-- raw HTML omitted --\u003eClick\u003c!-- raw HTML omitted --\u003e'\u003c/p\u003e\n\u003cp\u003eSee the advisory for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix GHSA-gj48-438w-jh9v.\u003c/p\u003e\n\u003cp\u003eFix issue where URI sanitization wasn't happening in formaction attributes.\u003c/p\u003e\n\u003cp\u003eSee the advisory for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for pypy 3.11. (\u003ca href=\"https://redirect.github.com/mozilla/bleach/issues/764\"\u003e#764\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDrop version max in tinycss2 pin. (\u003ca href=\"https://redirect.github.com/mozilla/bleach/issues/772\"\u003e#772\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eThis removes one of the things we had to keep checking and updating. Users\nnow own the responsibility for correctness with the version of tinycss2\nthey're using.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 6.3.0 (October 27th, 2025)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/f0355a7af00500482c5292c6c83290c6a178068d\"\u003e\u003ccode\u003ef0355a7\u003c/code\u003e\u003c/a\u003e fix: fix last release date in CHANGES\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/ae4e8a26706516ad01b92e66321b480208a440da\"\u003e\u003ccode\u003eae4e8a2\u003c/code\u003e\u003c/a\u003e chore: bleach 6.4.0 and final release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/970df58e9f0c55cc52244f3f0106e473a40d886d\"\u003e\u003ccode\u003e970df58\u003c/code\u003e\u003c/a\u003e fix: uri-sanitization in formaction attributes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/7c4867c32344d1c961107fae62240a6f0dc680dc\"\u003e\u003ccode\u003e7c4867c\u003c/code\u003e\u003c/a\u003e fix: xss bypass in allowed protocol test using unicode invisible characters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/913ab75992b845e2c9c060c41f24d46921db4693\"\u003e\u003ccode\u003e913ab75\u003c/code\u003e\u003c/a\u003e fix: reduce redundancy in workflow jobs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/218c15af455c8dec14f98fcb2e235f8680e93930\"\u003e\u003ccode\u003e218c15a\u003c/code\u003e\u003c/a\u003e fix: rework pip caching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/4f0b097bf80548a022050e2f71f024d755a9f154\"\u003e\u003ccode\u003e4f0b097\u003c/code\u003e\u003c/a\u003e fix: fix tox platform restrictions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/e95a79d07bb5d792425c2bc0ef5dd03f6614f3bb\"\u003e\u003ccode\u003ee95a79d\u003c/code\u003e\u003c/a\u003e chore: update pytest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/91539d4e80d4685b8f2bedc79076ff0ff6c1b911\"\u003e\u003ccode\u003e91539d4\u003c/code\u003e\u003c/a\u003e Bump actions/cache from 5.0.3 to 5.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/cd47b4ce495859065da23c2116f651e591e1e90d\"\u003e\u003ccode\u003ecd47b4c\u003c/code\u003e\u003c/a\u003e fix: handle left-angle-bracket that's not a tag (\u003ca href=\"https://redirect.github.com/mozilla/bleach/issues/733\"\u003e#733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mozilla/bleach/compare/v6.1.0...v6.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `torch` from 2.12.0 to 2.12.0+cu130\n\nUpdates `pytest-timeout` to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-timeout/commit/ddabc934535081a5bf9ba7c9ca5b494aeaf8f665\"\u003e\u003ccode\u003eddabc93\u003c/code\u003e\u003c/a\u003e Add python 3.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-timeout/commit/617b1b6f0ab74517b92a4966b6db9e509d987972\"\u003e\u003ccode\u003e617b1b6\u003c/code\u003e\u003c/a\u003e Prepare release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-timeout/commit/2e96621ee1b61057438c0f8c5b158eddc31654c5\"\u003e\u003ccode\u003e2e96621\u003c/code\u003e\u003c/a\u003e Change error message to clearly relate it to pytest-timeout (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-timeout/issues/180\"\u003e#180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-timeout/commit/733b26b5d3b6f1c86876339f336cd827dc7d1a0c\"\u003e\u003ccode\u003e733b26b\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-timeout/commit/fa5fd451afa3e7e676c7a31a9e7b058dabf0988b\"\u003e\u003ccode\u003efa5fd45\u003c/code\u003e\u003c/a\u003e Add support sys.monitoring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-timeout/commit/3d41ba8042ab1d07613572d95853dcc1c3602880\"\u003e\u003ccode\u003e3d41ba8\u003c/code\u003e\u003c/a\u003e Update README.rst with pytest-xdist 3.0.2 news\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-timeout/commit/935f51cf0931dbbee8162e89b53289f1f43df499\"\u003e\u003ccode\u003e935f51c\u003c/code\u003e\u003c/a\u003e Add missing Python 3.12 trove classifier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-timeout/commit/04432f5b10eec31433482e1b191c0d71f19acff5\"\u003e\u003ccode\u003e04432f5\u003c/code\u003e\u003c/a\u003e Some fixes to readme, bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-timeout/commit/48179d984d4a716b426dbf04e6b290d620518743\"\u003e\u003ccode\u003e48179d9\u003c/code\u003e\u003c/a\u003e Prep release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-timeout/commit/38c5f24e73cb73ea8a368024bf171921e8e500e7\"\u003e\u003ccode\u003e38c5f24\u003c/code\u003e\u003c/a\u003e Tweak docs a little\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-timeout/compare/2.0.0...2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-cov` to 7.1.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.1.0 (2026-03-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixed total coverage computation to always be consistent, regardless of reporting settings.\nPreviously some reports could produce different total counts, and consequently can make --cov-fail-under behave different depending on\nreporting options.\nSee \u003ccode\u003e[#641](https://github.com/pytest-dev/pytest-cov/issues/641) \u0026lt;https://github.com/pytest-dev/pytest-cov/issues/641\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImprove handling of ResourceWarning from sqlite3.\u003c/p\u003e\n\u003cp\u003eThe plugin adds warning filter for sqlite3 \u003ccode\u003eResourceWarning\u003c/code\u003e unclosed database (since 6.2.0).\nIt checks if there is already existing plugin for this message by comparing filter regular expression.\nWhen filter is specified on command line the message is escaped and does not match an expected message.\nA check for an escaped regular expression is added to handle this case.\u003c/p\u003e\n\u003cp\u003eWith this fix one can suppress \u003ccode\u003eResourceWarning\u003c/code\u003e from sqlite3 from command line::\u003c/p\u003e\n\u003cp\u003epytest -W \u0026quot;ignore:unclosed database in \u0026lt;sqlite3.Connection object at:ResourceWarning\u0026quot; ...\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eVarious improvements to documentation.\nContributed by Art Pelling in \u003ccode\u003e[#718](https://github.com/pytest-dev/pytest-cov/issues/718) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/718\u0026gt;\u003c/code\u003e_ and\n\u0026quot;vivodi\u0026quot; in \u003ccode\u003e[#738](https://github.com/pytest-dev/pytest-cov/issues/738) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/738\u0026gt;\u003c/code\u003e\u003cem\u003e.\nAlso closed \u003ccode\u003e[#736](https://github.com/pytest-dev/pytest-cov/issues/736) \u0026lt;https://github.com/pytest-dev/pytest-cov/issues/736\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed some assertions in tests.\nContributed by in Markéta Machová in \u003ccode\u003e[#722](https://github.com/pytest-dev/pytest-cov/issues/722) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/722\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemoved unnecessary coverage configuration copying (meant as a backup because reporting commands had configuration side-effects before coverage 5.0).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/66c8a526b1246b5eb8fb1bc218878131bc628622\"\u003e\u003ccode\u003e66c8a52\u003c/code\u003e\u003c/a\u003e Bump version: 7.0.0 → 7.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/f7076624784332594aa4cb3585d4757d295db15e\"\u003e\u003ccode\u003ef707662\u003c/code\u003e\u003c/a\u003e Make the examples use pypy 3.11.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/6049a7847872e3139e6c82e93787123df5dc8672\"\u003e\u003ccode\u003e6049a78\u003c/code\u003e\u003c/a\u003e Make context test use the old ctracer (seems the new sysmon tracer behaves di...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/8ebf20bbbc73478b3f8fd36d30237d9ea083f06b\"\u003e\u003ccode\u003e8ebf20b\u003c/code\u003e\u003c/a\u003e Update changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/861d30e60d571f97259c6b718b71c819d5dbc3b9\"\u003e\u003ccode\u003e861d30e\u003c/code\u003e\u003c/a\u003e Remove the backup context manager  - shouldn't be needed since coverage 5.0, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/fd4c956014035527f0c3c8d7faef3f8cfdadac7f\"\u003e\u003ccode\u003efd4c956\u003c/code\u003e\u003c/a\u003e Pass the precision on the nulled total (seems that there's some caching goion...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/78c9c4ecb005faf4962fd86ff7bf9c9cce9554d6\"\u003e\u003ccode\u003e78c9c4e\u003c/code\u003e\u003c/a\u003e Only run the 3.9 on older deps.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/4849a922e8be725c662a3d9175da571ace6545dc\"\u003e\u003ccode\u003e4849a92\u003c/code\u003e\u003c/a\u003e Punctuation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/197c35e2f37031fd1927715307ab6eed7cb3d2b7\"\u003e\u003ccode\u003e197c35e\u003c/code\u003e\u003c/a\u003e Update changelog and hopefully I don't forget to publish release again :))\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/14dc1c92d44108384e39803888635fdbfc578b7f\"\u003e\u003ccode\u003e14dc1c9\u003c/code\u003e\u003c/a\u003e Update examples to use 3.11 and make the adhoc layout example look a bit more...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-cov/compare/v4.0.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 `pytest-xdist` to 3.8.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-xdist/blob/master/CHANGELOG.rst\"\u003epytest-xdist's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003epytest-xdist 3.8.0 (2025-06-30)\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#1083](https://github.com/pytest-dev/pytest-xdist/issues/1083) \u0026lt;https://github.com/pytest-dev/pytest-xdist/issues/1083\u0026gt;\u003c/code\u003e_: Add \u003ccode\u003e--no-loadscope-reorder\u003c/code\u003e and \u003ccode\u003e--loadscope-reorder\u003c/code\u003e option to control whether to automatically reorder tests in loadscope for tests where relative ordering matters. This only applies when using \u003ccode\u003eloadscope\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eFor example, [test_file_1, test_file_2, ..., test_file_n] are given as input test files, if \u003ccode\u003e--no-loadscope-reorder\u003c/code\u003e is used, for either worker, the \u003ccode\u003etest_file_a\u003c/code\u003e will be executed before \u003ccode\u003etest_file_b\u003c/code\u003e only if \u003ccode\u003ea \u0026lt; b\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe default behavior is to reorder the tests to maximize the number of tests that can be executed in parallel.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003epytest-xdist 3.7.0 (2025-05-26)\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#1142](https://github.com/pytest-dev/pytest-xdist/issues/1142) \u0026lt;https://github.com/pytest-dev/pytest-xdist/issues/1142\u0026gt;\u003c/code\u003e_: Added support for Python 3.13.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#1144](https://github.com/pytest-dev/pytest-xdist/issues/1144) \u0026lt;https://github.com/pytest-dev/pytest-xdist/issues/1144\u0026gt;\u003c/code\u003e_: The internal \u003ccode\u003esteal\u003c/code\u003e command is now atomic - it unschedules either all requested tests or none.\u003c/p\u003e\n\u003cp\u003eThis is a prerequisite for group/scope support in the \u003ccode\u003eworksteal\u003c/code\u003e scheduler, so test groups won't be broken up incorrectly.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#1170](https://github.com/pytest-dev/pytest-xdist/issues/1170) \u0026lt;https://github.com/pytest-dev/pytest-xdist/issues/1170\u0026gt;\u003c/code\u003e_: Add the \u003ccode\u003e--px\u003c/code\u003e arg to create proxy gateways.\u003c/p\u003e\n\u003cp\u003eProxy gateways are passed to additional gateways using the \u003ccode\u003evia\u003c/code\u003e keyword.\nThey can serve as a way to run multiple workers on remote machines.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#1200](https://github.com/pytest-dev/pytest-xdist/issues/1200) \u0026lt;https://github.com/pytest-dev/pytest-xdist/issues/1200\u0026gt;\u003c/code\u003e_: Now multiple \u003ccode\u003exdist_group\u003c/code\u003e markers are considered when assigning tests to groups (order does not matter).\u003c/p\u003e\n\u003cp\u003ePreviously, only the last marker would assign a test to a group, but now if a test has multiple \u003ccode\u003exdist_group\u003c/code\u003e marks applied (for example via parametrization or via fixtures), they are merged to make a new group.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRemovals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#1162](https://github.com/pytest-dev/pytest-xdist/issues/1162) \u0026lt;https://github.com/pytest-dev/pytest-xdist/issues/1162\u0026gt;\u003c/code\u003e_: Dropped support for EOL Python 3.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eTrivial Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#1092](https://github.com/pytest-dev/pytest-xdist/issues/1092) \u0026lt;https://github.com/pytest-dev/pytest-xdist/issues/1092\u0026gt;\u003c/code\u003e_: Update an error message to better indicate where users should go for more information.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#1190](https://github.com/pytest-dev/pytest-xdist/issues/1190) \u0026lt;https://github.com/pytest-dev/pytest-xdist/issues/1190\u0026gt;\u003c/code\u003e_: Switched to using a SPDX license identifier introduced in PEP 639.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003epytest-xdist 3.6.1 (2024-04-28)\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/1e3e4dc16523c8a8f6c67d95a950166420718c99\"\u003e\u003ccode\u003e1e3e4dc\u003c/code\u003e\u003c/a\u003e Release 3.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/600aad575a4e4382855145b0c464d51b8f0b7242\"\u003e\u003ccode\u003e600aad5\u003c/code\u003e\u003c/a\u003e Ensure all xdist group names are strings (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-xdist/issues/1216\"\u003e#1216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/9d7ba5b5fbbbe26793fbfb7cb1903eb69425cf09\"\u003e\u003ccode\u003e9d7ba5b\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e--no-loadscope-reorder\u003c/code\u003e and \u003ccode\u003e--loadscope-reorder\u003c/code\u003e options (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-xdist/issues/1217\"\u003e#1217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/532f07fb181bb1546eda79bbe6b46bdb56c699e1\"\u003e\u003ccode\u003e532f07f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-xdist/issues/1210\"\u003e#1210\u003c/a\u003e from pytest-dev/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/0883ad085e0cf039c8ae13eb2789c1076544d225\"\u003e\u003ccode\u003e0883ad0\u003c/code\u003e\u003c/a\u003e Fix Path usage in \u003ccode\u003etest_rsync_roots_no_roots\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/58a51bc14015d211761e44c2bdacab09c3893668\"\u003e\u003ccode\u003e58a51bc\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/59a2ad0150697b9ff837f3ae8dcf6e074d5a114b\"\u003e\u003ccode\u003e59a2ad0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-xdist/issues/1220\"\u003e#1220\u003c/a\u003e from pytest-dev/dependabot/github_actions/github-act...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/d42b9c72044855236c68286ca3bdb34486a05872\"\u003e\u003ccode\u003ed42b9c7\u003c/code\u003e\u003c/a\u003e build(deps): bump hynek/build-and-inspect-python-package\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/ebfcb99072aed3503fda5175245f28895a0204bb\"\u003e\u003ccode\u003eebfcb99\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-xdist/issues/1206\"\u003e#1206\u003c/a\u003e from pytest-dev/release-3.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/23b7fd6054298a530b02b33d07007b3082a36277\"\u003e\u003ccode\u003e23b7fd6\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-xdist/issues/1207\"\u003e#1207\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-xdist/compare/v3.6.0...v3.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `optuna` from 4.8.0 to 4.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.9.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/74?closed=1\"\u003ev4.9.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch3\u003eEnhance Multi-Objective Constrained Parallel Optimization in GPSampler\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sawa3030\"\u003e\u003ccode\u003e@​sawa3030\u003c/code\u003e\u003c/a\u003e introduces parallelization enhancements to \u003ccode\u003eGPSampler\u003c/code\u003e, leveraging the \u003cstrong\u003eKriging Believer\u003c/strong\u003e approach for constrained and multi-objective optimization (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6481\"\u003e#6481\u003c/a\u003e). This improvement allows for more efficient exploration when multiple trials are running concurrently.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003eThe GP surrogate is updated by assigning temporary objective function values ​​to the running trials.\u003c/p\u003e\n\u003cp\u003eFor more technical details and benchmarks, please check out our blog post: \u003ca href=\"https://medium.com/optuna/improving-optunas-gpsampler-parallelization-by-considering-running-trials-10d42aeb5d49\"\u003eImproving Optuna’s GPSampler Parallelization by Considering Running Trials\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eDeprecate Several Features\u003c/h3\u003e\n\u003cp\u003eThe following features are deprecated in v4.9.0 and scheduled for removal in v6.0.0.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eoptuna\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSeveral arguments in \u003ccode\u003eTPESampler\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6635\"\u003e#6635\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eprior_weight\u003c/code\u003e, \u003ccode\u003econsider_magic_clip\u003c/code\u003e, \u003ccode\u003econsider_endpoints\u003c/code\u003e, \u003ccode\u003egamma\u003c/code\u003e, \u003ccode\u003eweights\u003c/code\u003e, \u003ccode\u003ehyperopt_parameters\u003c/code\u003e: These internal parameters are being deprecated to simplify the interface, as the default settings are optimal for most use cases.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ewarn_independent_sampling\u003c/code\u003e: Deprecated because \u003ccode\u003eTPESampler\u003c/code\u003e now robustly supports both independent and joint sampling, making this warning obsolete.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecategorical_distance_func\u003c/code\u003e: This advanced feature will be migrated to OptunaHub in the future.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ex0\u003c/code\u003e and \u003ccode\u003esigma0\u003c/code\u003e options in \u003ccode\u003eCmaEsSampler\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6624\"\u003e#6624\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThese options have been deprecated because they require a deep understanding of \u003ccode\u003eCmaEsSampler\u003c/code\u003e's internals to be configured effectively.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eoptuna.terminator\u003c/code\u003e module\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6668\"\u003e#6668\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis feature will be migrated to OptunaHub in the future.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eRetryFailedTrialCallback\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6670\"\u003e#6670\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis class has been renamed to \u003ccode\u003eRetryHeartbeatStaleTrialCallback\u003c/code\u003e to better reflect its behavior and avoid confusion with general trial retries (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6085\"\u003e#6085\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eoptuna.integration\u003c/code\u003e module\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003eoptuna.integration\u003c/code\u003e module currently acts as a shortcut to the external \u003ccode\u003eoptuna_integration\u003c/code\u003e package for backward compatibility. Please import directly from the \u003ccode\u003eoptuna_integration\u003c/code\u003e package going forward.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eoptuna-integration\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ePyCmaSampler\u003c/code\u003e: Please use Optuna's native \u003ccode\u003eCmaEsSampler\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCometCallback\u003c/code\u003e: This feature will be migrated to OptunaHub in the future.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMLflowCallback\u003c/code\u003e: This feature will be migrated to OptunaHub in the future.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTensorBoardCallback\u003c/code\u003e: This feature will be migrated to OptunaHub in the future.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTrackioCallback\u003c/code\u003e: This feature will be migrated to OptunaHub in the future.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eWeightsAndBiasesCallback\u003c/code\u003e: This class has already been migrated to OptunaHub.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBreaking Changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003ePyCmaSampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/276\"\u003eoptuna/optuna-integration#276\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd deprecation message for \u003ccode\u003eCometCallback\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/280\"\u003eoptuna/optuna-integration#280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd deprecation message for MLflowCallback (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/281\"\u003eoptuna/optuna-integration#281\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/optuna/optuna/commit/4db42e31c24b200e52595df9d4c00e2cdeefea2b\"\u003e\u003ccode\u003e4db42e3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6691\"\u003e#6691\u003c/a\u003e from c-bata/backport-v4.9-attestations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/6a15cf0906c5e92e9dbe70d3ee320eb3db5d08b7\"\u003e\u003ccode\u003e6a15cf0\u003c/code\u003e\u003c/a\u003e Add attestations: false to fix release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/a592e6c0d6604f...\n\n_Description has been truncated_","html_url":"https://github.com/alexanderdfree/Fantasy_Football_ML_AWS/pull/964","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexanderdfree%2FFantasy_Football_ML_AWS/issues/964","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/964/packages"},{"uuid":"4482311996","node_id":"PR_kwDOSb_fa87dUS25","number":20,"state":"open","title":"chore(deps): Bump optuna from 3.6.1 to 4.8.0 in /services/credit-assessment","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-20T01:13:27.000Z","updated_at":"2026-05-20T01:13:28.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","packages":[{"name":"optuna","old_version":"3.6.1","new_version":"4.8.0","repository_url":"https://github.com/optuna/optuna"}],"path":"/services/credit-assessment","ecosystem":"pip"},"body":"Bumps [optuna](https://github.com/optuna/optuna) from 3.6.1 to 4.8.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.8.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/73?closed=1\"\u003ev4.8.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eSupport for Constant Liar Strategy to GPSampler\u003c/h2\u003e\n\u003cp\u003eA constant liar strategy for efficient parallelization has been introduced to GPSampler by \u003ca href=\"https://github.com/sawa3030\"\u003e\u003ccode\u003e@​sawa3030\u003c/code\u003e\u003c/a\u003e. The figures (left: v4.7.0, right: v4.8.0) show that the overlap of search points has decreased, and a wider variety of solutions are being explored. The experiment uses \u003ccode\u003en_jobs = 10\u003c/code\u003e and \u003ccode\u003en_trials = 100\u003c/code\u003e. Currently, this feature supports single-objective and unconstrained optimization. Further extensions are coming in v4.9.0.\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003ev4.7.0\u003c/th\u003e\n\u003cth\u003ev4.8.0\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eSHAP-like beeswarm plot visualization\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/yasumorishima\"\u003e\u003ccode\u003e@​yasumorishima\u003c/code\u003e\u003c/a\u003e introduces the new visualization to OptunaHub. Please refer to \u003ca href=\"https://hub.optuna.org/visualization/plot_beeswarm/\"\u003ehttps://hub.optuna.org/visualization/plot_beeswarm/\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch1\u003eNew Features\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Trackio Integration for Optuna (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/259\"\u003eoptuna/optuna-integration#259\u003c/a\u003e, thanks \u003ca href=\"https://github.com/ParagEkbote\"\u003e\u003ccode\u003e@​ParagEkbote\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eAdd constant liar strategy to \u003ccode\u003eGPSampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6430\"\u003e#6430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eValidate artifact_id in FileSystemArtifactStore to prevent path traversal (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6432\"\u003e#6432\u003c/a\u003e, thanks \u003ca href=\"https://github.com/RinZ27\"\u003e\u003ccode\u003e@​RinZ27\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003efix: correct inverted warning message in pareto front plot (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e, thanks \u003ca href=\"https://github.com/aerosta\"\u003e\u003ccode\u003e@​aerosta\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix shared callback state in parallel OptunaSearchCV with LightGBM (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/260\"\u003eoptuna/optuna-integration#260\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Quant-Quasar\"\u003e\u003ccode\u003e@​Quant-Quasar\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix GPSampler crash when torch default device is CUDA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6418\"\u003e#6418\u003c/a\u003e, thanks \u003ca href=\"https://github.com/VedantMadane\"\u003e\u003ccode\u003e@​VedantMadane\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix combination between \u003ccode\u003ePartialFixedSampler\u003c/code\u003e and \u003ccode\u003eTPESampler\u003c/code\u003e with group decomposed search space (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6428\"\u003e#6428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTPESampler\u003c/code\u003e with \u003ccode\u003emultivariate\u003c/code\u003e and \u003ccode\u003econstant_liar\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDocumentation\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd documentation indicating that \u003ccode\u003eWilcoxonPruner\u003c/code\u003e requires \u003ccode\u003escipy\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6477\"\u003e#6477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove version \u0026amp; language selectors in the sidebar of docs (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6482\"\u003e#6482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eExamples\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eApply black 26.1.0 (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/348\"\u003eoptuna/optuna-examples#348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove CI workflow for allennlp since no longer maintained (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/351\"\u003eoptuna/optuna-examples#351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce the frequency of scheduled CI triggers (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/352\"\u003eoptuna/optuna-examples#352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove the scheduled trigger for \u003ccode\u003eaim\u003c/code\u003e CI (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/353\"\u003eoptuna/optuna-examples#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd constraint to \u003ccode\u003etransformers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/355\"\u003eoptuna/optuna-examples#355\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eTests\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/689c62dbfc14f3476c51c14fda2e4f818ed2ee30\"\u003e\u003ccode\u003e689c62d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6509\"\u003e#6509\u003c/a\u003e from y0z/feature/bump-up-release480\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/9e2e0658ee6205c69993cf4204fabe6353249441\"\u003e\u003ccode\u003e9e2e065\u003c/code\u003e\u003c/a\u003e Bump up version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/54fe633c042be32f9a8c90b440e81c05406448d2\"\u003e\u003ccode\u003e54fe633\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6507\"\u003e#6507\u003c/a\u003e from sateeshkumarb/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/8efb8b4ffd749a95610e537a597ccaabde2e97db\"\u003e\u003ccode\u003e8efb8b4\u003c/code\u003e\u003c/a\u003e Move imports used for typecheck under TYPE_CHCKING\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/c0fcd2e4bba33783aa5e61e94be29dfc2cdcac0a\"\u003e\u003ccode\u003ec0fcd2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6506\"\u003e#6506\u003c/a\u003e from acabellom/fix-fstring-file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/087cc9d85e431df96ac54bec1de992fac9260e80\"\u003e\u003ccode\u003e087cc9d\u003c/code\u003e\u003c/a\u003e Replace .format() with f-strings in 002_configurations.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/274f5b906accb795569550164f418dd3f40338c2\"\u003e\u003ccode\u003e274f5b9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e from not522/fix-multivariate-constant_liar\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/ce882f6a4e1b0ecc328373cf989cbb16debdf1f6\"\u003e\u003ccode\u003ece882f6\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6265\"\u003e#6265\u003c/a\u003e from not522/relative-use-cache\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/f9e546d71f3fe515ee0df37ffe49d83f1f294c58\"\u003e\u003ccode\u003ef9e546d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e from aerosta/fix/pareto-front-warning-message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/535215b3890f10b0cd96e6a22aaad58821769c3d\"\u003e\u003ccode\u003e535215b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6502\"\u003e#6502\u003c/a\u003e from nightcityblade/fix/issue-6029-patient-pruner\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/optuna/optuna/compare/v3.6.1...v4.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=optuna\u0026package-manager=pip\u0026previous-version=3.6.1\u0026new-version=4.8.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Onegaishimas/wasat/pull/20","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Onegaishimas%2Fwasat/issues/20","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/20/packages"},{"uuid":"4378844440","node_id":"PR_kwDONXBlI87YH_Lt","number":124,"state":"open","title":"chore(deps-dev): bump optuna from 3.6.2 to 4.8.0","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-04T18:47:08.000Z","updated_at":"2026-05-06T03:07:17.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"optuna","old_version":"3.6.2","new_version":"4.8.0","repository_url":"https://github.com/optuna/optuna"}],"path":null,"ecosystem":"pip"},"body":"Bumps [optuna](https://github.com/optuna/optuna) from 3.6.2 to 4.8.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.8.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/73?closed=1\"\u003ev4.8.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eSupport for Constant Liar Strategy to GPSampler\u003c/h2\u003e\n\u003cp\u003eA constant liar strategy for efficient parallelization has been introduced to GPSampler by \u003ca href=\"https://github.com/sawa3030\"\u003e\u003ccode\u003e@​sawa3030\u003c/code\u003e\u003c/a\u003e. The figures (left: v4.7.0, right: v4.8.0) show that the overlap of search points has decreased, and a wider variety of solutions are being explored. The experiment uses \u003ccode\u003en_jobs = 10\u003c/code\u003e and \u003ccode\u003en_trials = 100\u003c/code\u003e. Currently, this feature supports single-objective and unconstrained optimization. Further extensions are coming in v4.9.0.\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003ev4.7.0\u003c/th\u003e\n\u003cth\u003ev4.8.0\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eSHAP-like beeswarm plot visualization\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/yasumorishima\"\u003e\u003ccode\u003e@​yasumorishima\u003c/code\u003e\u003c/a\u003e introduces the new visualization to OptunaHub. Please refer to \u003ca href=\"https://hub.optuna.org/visualization/plot_beeswarm/\"\u003ehttps://hub.optuna.org/visualization/plot_beeswarm/\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch1\u003eNew Features\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Trackio Integration for Optuna (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/259\"\u003eoptuna/optuna-integration#259\u003c/a\u003e, thanks \u003ca href=\"https://github.com/ParagEkbote\"\u003e\u003ccode\u003e@​ParagEkbote\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eAdd constant liar strategy to \u003ccode\u003eGPSampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6430\"\u003e#6430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eValidate artifact_id in FileSystemArtifactStore to prevent path traversal (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6432\"\u003e#6432\u003c/a\u003e, thanks \u003ca href=\"https://github.com/RinZ27\"\u003e\u003ccode\u003e@​RinZ27\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003efix: correct inverted warning message in pareto front plot (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e, thanks \u003ca href=\"https://github.com/aerosta\"\u003e\u003ccode\u003e@​aerosta\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix shared callback state in parallel OptunaSearchCV with LightGBM (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/260\"\u003eoptuna/optuna-integration#260\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Quant-Quasar\"\u003e\u003ccode\u003e@​Quant-Quasar\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix GPSampler crash when torch default device is CUDA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6418\"\u003e#6418\u003c/a\u003e, thanks \u003ca href=\"https://github.com/VedantMadane\"\u003e\u003ccode\u003e@​VedantMadane\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix combination between \u003ccode\u003ePartialFixedSampler\u003c/code\u003e and \u003ccode\u003eTPESampler\u003c/code\u003e with group decomposed search space (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6428\"\u003e#6428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTPESampler\u003c/code\u003e with \u003ccode\u003emultivariate\u003c/code\u003e and \u003ccode\u003econstant_liar\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDocumentation\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd documentation indicating that \u003ccode\u003eWilcoxonPruner\u003c/code\u003e requires \u003ccode\u003escipy\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6477\"\u003e#6477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove version \u0026amp; language selectors in the sidebar of docs (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6482\"\u003e#6482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eExamples\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eApply black 26.1.0 (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/348\"\u003eoptuna/optuna-examples#348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove CI workflow for allennlp since no longer maintained (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/351\"\u003eoptuna/optuna-examples#351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce the frequency of scheduled CI triggers (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/352\"\u003eoptuna/optuna-examples#352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove the scheduled trigger for \u003ccode\u003eaim\u003c/code\u003e CI (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/353\"\u003eoptuna/optuna-examples#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd constraint to \u003ccode\u003etransformers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/355\"\u003eoptuna/optuna-examples#355\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eTests\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/689c62dbfc14f3476c51c14fda2e4f818ed2ee30\"\u003e\u003ccode\u003e689c62d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6509\"\u003e#6509\u003c/a\u003e from y0z/feature/bump-up-release480\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/9e2e0658ee6205c69993cf4204fabe6353249441\"\u003e\u003ccode\u003e9e2e065\u003c/code\u003e\u003c/a\u003e Bump up version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/54fe633c042be32f9a8c90b440e81c05406448d2\"\u003e\u003ccode\u003e54fe633\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6507\"\u003e#6507\u003c/a\u003e from sateeshkumarb/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/8efb8b4ffd749a95610e537a597ccaabde2e97db\"\u003e\u003ccode\u003e8efb8b4\u003c/code\u003e\u003c/a\u003e Move imports used for typecheck under TYPE_CHCKING\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/c0fcd2e4bba33783aa5e61e94be29dfc2cdcac0a\"\u003e\u003ccode\u003ec0fcd2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6506\"\u003e#6506\u003c/a\u003e from acabellom/fix-fstring-file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/087cc9d85e431df96ac54bec1de992fac9260e80\"\u003e\u003ccode\u003e087cc9d\u003c/code\u003e\u003c/a\u003e Replace .format() with f-strings in 002_configurations.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/274f5b906accb795569550164f418dd3f40338c2\"\u003e\u003ccode\u003e274f5b9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e from not522/fix-multivariate-constant_liar\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/ce882f6a4e1b0ecc328373cf989cbb16debdf1f6\"\u003e\u003ccode\u003ece882f6\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6265\"\u003e#6265\u003c/a\u003e from not522/relative-use-cache\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/f9e546d71f3fe515ee0df37ffe49d83f1f294c58\"\u003e\u003ccode\u003ef9e546d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e from aerosta/fix/pareto-front-warning-message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/535215b3890f10b0cd96e6a22aaad58821769c3d\"\u003e\u003ccode\u003e535215b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6502\"\u003e#6502\u003c/a\u003e from nightcityblade/fix/issue-6029-patient-pruner\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/optuna/optuna/compare/v3.6.2...v4.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e","html_url":"https://github.com/percy-raskova/babylon/pull/124","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/percy-raskova%2Fbabylon/issues/124","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/124/packages"},{"uuid":"4371603012","node_id":"PR_kwDOROagjc7Xwytt","number":7,"state":"closed","title":"Chore(deps): Bump the python-dependencies group across 1 directory with 72 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-10T11:07:16.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-03T11:17:28.000Z","updated_at":"2026-05-10T11:07:18.000Z","time_to_close":604188,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Chore(deps): Bump","group_name":"python-dependencies","update_count":72,"packages":[{"name":"altair","old_version":"6.0.0","new_version":"6.1.0","repository_url":"https://github.com/vega/altair"},{"name":"anyio","old_version":"4.12.1","new_version":"4.13.0","repository_url":"https://github.com/agronholm/anyio"},{"name":"async-lru","old_version":"2.1.0","new_version":"2.3.0","repository_url":"https://github.com/aio-libs/async-lru"},{"name":"attrs","old_version":"25.4.0","new_version":"26.1.0","repository_url":"https://github.com/python-attrs/attrs"},{"name":"cachetools","old_version":"6.2.6","new_version":"7.1.0","repository_url":"https://github.com/tkem/cachetools"},{"name":"certifi","old_version":"2026.1.4","new_version":"2026.4.22","repository_url":"https://github.com/certifi/python-certifi"},{"name":"charset-normalizer","old_version":"3.4.4","new_version":"3.4.7","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"click","old_version":"8.3.1","new_version":"8.3.3","repository_url":"https://github.com/pallets/click"},{"name":"cryptography","old_version":"46.0.7","new_version":"47.0.0","repository_url":"https://github.com/pyca/cryptography"},{"name":"filelock","old_version":"3.28.0","new_version":"3.29.0","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"fonttools","old_version":"4.61.1","new_version":"4.62.1","repository_url":"https://github.com/fonttools/fonttools"},{"name":"gitpython","old_version":"3.1.46","new_version":"3.1.49","repository_url":"https://github.com/gitpython-developers/GitPython"},{"name":"groq","old_version":"0.37.1","new_version":"1.2.0","repository_url":"https://github.com/groq/groq-python"},{"name":"idna","old_version":"3.11","new_version":"3.13","repository_url":"https://github.com/kjd/idna"},{"name":"ipython","old_version":"9.10.0","new_version":"9.13.0","repository_url":"https://github.com/ipython/ipython"},{"name":"jedi","old_version":"0.19.2","new_version":"0.20.0","repository_url":"https://github.com/davidhalter/jedi"},{"name":"json5","old_version":"0.13.0","new_version":"0.14.0","repository_url":"https://github.com/dpranke/pyjson5"},{"name":"jsonpointer","old_version":"3.0.0","new_version":"3.1.1","repository_url":"https://github.com/stefankoegl/python-json-pointer"},{"name":"jupyter-events","old_version":"0.12.0","new_version":"0.12.1","repository_url":"https://github.com/jupyter/jupyter_events"},{"name":"jupyter-lsp","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/jupyter-lsp/jupyterlab-lsp"},{"name":"jupyterlab","old_version":"4.5.4","new_version":"4.5.7","repository_url":"https://github.com/jupyterlab/jupyterlab"},{"name":"kiwisolver","old_version":"1.4.9","new_version":"1.5.0","repository_url":"https://github.com/nucleic/kiwi"},{"name":"langchain","old_version":"1.2.15","new_version":"1.2.17","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langchain-core","old_version":"1.3.0","new_version":"1.3.2","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langgraph","old_version":"1.1.8","new_version":"1.1.10","repository_url":"https://github.com/langchain-ai/langgraph"},{"name":"langgraph-checkpoint","old_version":"4.0.2","new_version":"4.0.3","repository_url":"https://github.com/langchain-ai/langgraph"},{"name":"langgraph-prebuilt","old_version":"1.0.10","new_version":"1.0.13","repository_url":"https://github.com/langchain-ai/langgraph"},{"name":"langsmith","old_version":"0.7.32","new_version":"0.8.0","repository_url":"https://github.com/langchain-ai/langsmith-sdk"},{"name":"llvmlite","old_version":"0.46.0b1","new_version":"0.47.0","repository_url":"https://github.com/numba/llvmlite"},{"name":"mako","old_version":"1.3.10","new_version":"1.3.12","repository_url":"https://github.com/sqlalchemy/mako"},{"name":"markupsafe","old_version":"2.1.5","new_version":"3.0.3","repository_url":"https://github.com/pallets/markupsafe"},{"name":"matplotlib","old_version":"3.10.8","new_version":"3.10.9","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"narwhals","old_version":"2.16.0","new_version":"2.20.0","repository_url":"https://github.com/narwhals-dev/narwhals"},{"name":"nbconvert","old_version":"7.17.0","new_version":"7.17.1","repository_url":"https://github.com/jupyter/nbconvert"},{"name":"notebook","old_version":"7.5.3","new_version":"7.5.6","repository_url":"https://github.com/jupyter/notebook"},{"name":"numba","old_version":"0.63.0b1","new_version":"0.65.1","repository_url":"https://github.com/numba/numba"},{"name":"numpy","old_version":"2.4.2","new_version":"2.4.4","repository_url":"https://github.com/numpy/numpy"},{"name":"optuna","old_version":"4.7.0","new_version":"4.8.0","repository_url":"https://github.com/optuna/optuna"},{"name":"packaging","old_version":"26.0","new_version":"26.2","repository_url":"https://github.com/pypa/packaging"},{"name":"pandas","old_version":"2.3.3","new_version":"3.0.2","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"parso","old_version":"0.8.6","new_version":"0.8.7","repository_url":"https://github.com/davidhalter/parso"},{"name":"pdfminer-six","old_version":"20251230","new_version":"20260107","repository_url":"https://github.com/pdfminer/pdfminer.six"},{"name":"pillow","old_version":"12.1.1","new_version":"12.2.0","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"platformdirs","old_version":"4.5.1","new_version":"4.9.6","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"plotly","old_version":"5.18.0","new_version":"6.7.0","repository_url":"https://github.com/plotly/plotly.py"},{"name":"pre-commit","old_version":"4.5.1","new_version":"4.6.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"prometheus-client","old_version":"0.24.1","new_version":"0.25.0","repository_url":"https://github.com/prometheus/client_python"},{"name":"protobuf","old_version":"6.33.5","new_version":"7.34.1","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"pyarrow","old_version":"23.0.0","new_version":"24.0.0","repository_url":"https://github.com/apache/arrow"},{"name":"pydantic","old_version":"2.13.2","new_version":"2.13.3","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pydantic-core","old_version":"2.46.2","new_version":"2.46.3","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pydeck","old_version":"0.9.1","new_version":"0.9.2","repository_url":"https://github.com/visgl/deck.gl"},{"name":"pygments","old_version":"2.19.2","new_version":"2.20.0","repository_url":"https://github.com/pygments/pygments"},{"name":"pypdfium2","old_version":"5.7.0","new_version":"5.7.1","repository_url":"https://github.com/pypdfium2-team/pypdfium2"},{"name":"python-json-logger","old_version":"4.0.0","new_version":"4.1.0","repository_url":"https://github.com/nhairs/python-json-logger"},{"name":"pytz","old_version":"2025.2","new_version":"2026.1.post1","repository_url":"https://github.com/stub42/pytz"},{"name":"requests","old_version":"2.32.5","new_version":"2.33.1","repository_url":"https://github.com/psf/requests"},{"name":"ruff","old_version":"0.15.11","new_version":"0.15.12","repository_url":"https://github.com/astral-sh/ruff"},{"name":"scipy","old_version":"1.17.0","new_version":"1.17.1","repository_url":"https://github.com/scipy/scipy"},{"name":"setuptools","old_version":"82.0.0","new_version":"82.0.1","repository_url":"https://github.com/pypa/setuptools"},{"name":"shap","old_version":"0.50.0","new_version":"0.51.0","repository_url":"https://github.com/shap/shap"},{"name":"smmap","old_version":"5.0.2","new_version":"5.0.3","repository_url":"https://github.com/gitpython-developers/smmap"},{"name":"sqlalchemy","old_version":"2.0.47","new_version":"2.0.49","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"streamlit","old_version":"1.54.0","new_version":"1.57.0","repository_url":"https://github.com/streamlit/streamlit"},{"name":"tinycss2","old_version":"1.4.0","new_version":"1.5.1","repository_url":"https://github.com/Kozea/tinycss2"},{"name":"tornado","old_version":"6.5.4","new_version":"6.5.5","repository_url":"https://github.com/tornadoweb/tornado"},{"name":"traitlets","old_version":"5.14","new_version":"5.14.3","repository_url":"https://github.com/ipython/traitlets"},{"name":"tzdata","old_version":"2025.3","new_version":"2026.2","repository_url":"https://github.com/python/tzdata"},{"name":"virtualenv","old_version":"21.2.4","new_version":"21.3.0","repository_url":"https://github.com/pypa/virtualenv"},{"name":"wcwidth","old_version":"0.6.0","new_version":"0.7.0","repository_url":"https://github.com/jquast/wcwidth"},{"name":"xgboost","old_version":"2.1.4","new_version":"3.2.0","repository_url":"https://github.com/dmlc/xgboost"},{"name":"xxhash","old_version":"3.6.0","new_version":"3.7.0","repository_url":"https://github.com/ifduyue/python-xxhash"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-dependencies group with 72 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [altair](https://github.com/vega/altair) | `6.0.0` | `6.1.0` |\n| [anyio](https://github.com/agronholm/anyio) | `4.12.1` | `4.13.0` |\n| [async-lru](https://github.com/aio-libs/async-lru) | `2.1.0` | `2.3.0` |\n| [attrs](https://github.com/python-attrs/attrs) | `25.4.0` | `26.1.0` |\n| [cachetools](https://github.com/tkem/cachetools) | `6.2.6` | `7.1.0` |\n| [certifi](https://github.com/certifi/python-certifi) | `2026.1.4` | `2026.4.22` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.4` | `3.4.7` |\n| [click](https://github.com/pallets/click) | `8.3.1` | `8.3.3` |\n| [cryptography](https://github.com/pyca/cryptography) | `46.0.7` | `47.0.0` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.28.0` | `3.29.0` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.61.1` | `4.62.1` |\n| [gitpython](https://github.com/gitpython-developers/GitPython) | `3.1.46` | `3.1.49` |\n| [groq](https://github.com/groq/groq-python) | `0.37.1` | `1.2.0` |\n| [idna](https://github.com/kjd/idna) | `3.11` | `3.13` |\n| [ipython](https://github.com/ipython/ipython) | `9.10.0` | `9.13.0` |\n| [jedi](https://github.com/davidhalter/jedi) | `0.19.2` | `0.20.0` |\n| [json5](https://github.com/dpranke/pyjson5) | `0.13.0` | `0.14.0` |\n| [jsonpointer](https://github.com/stefankoegl/python-json-pointer) | `3.0.0` | `3.1.1` |\n| [jupyter-events](https://github.com/jupyter/jupyter_events) | `0.12.0` | `0.12.1` |\n| [jupyter-lsp](https://github.com/jupyter-lsp/jupyterlab-lsp) | `2.3.0` | `2.3.1` |\n| [jupyterlab](https://github.com/jupyterlab/jupyterlab) | `4.5.4` | `4.5.7` |\n| [kiwisolver](https://github.com/nucleic/kiwi) | `1.4.9` | `1.5.0` |\n| [langchain](https://github.com/langchain-ai/langchain) | `1.2.15` | `1.2.17` |\n| [langchain-core](https://github.com/langchain-ai/langchain) | `1.3.0` | `1.3.2` |\n| [langgraph](https://github.com/langchain-ai/langgraph) | `1.1.8` | `1.1.10` |\n| [langgraph-checkpoint](https://github.com/langchain-ai/langgraph) | `4.0.2` | `4.0.3` |\n| [langgraph-prebuilt](https://github.com/langchain-ai/langgraph) | `1.0.10` | `1.0.13` |\n| [langsmith](https://github.com/langchain-ai/langsmith-sdk) | `0.7.32` | `0.8.0` |\n| [llvmlite](https://github.com/numba/llvmlite) | `0.46.0b1` | `0.47.0` |\n| [mako](https://github.com/sqlalchemy/mako) | `1.3.10` | `1.3.12` |\n| [markupsafe](https://github.com/pallets/markupsafe) | `2.1.5` | `3.0.3` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.10.8` | `3.10.9` |\n| [narwhals](https://github.com/narwhals-dev/narwhals) | `2.16.0` | `2.20.0` |\n| [nbconvert](https://github.com/jupyter/nbconvert) | `7.17.0` | `7.17.1` |\n| [notebook](https://github.com/jupyter/notebook) | `7.5.3` | `7.5.6` |\n| [numba](https://github.com/numba/numba) | `0.63.0b1` | `0.65.1` |\n| [numpy](https://github.com/numpy/numpy) | `2.4.2` | `2.4.4` |\n| [optuna](https://github.com/optuna/optuna) | `4.7.0` | `4.8.0` |\n| [packaging](https://github.com/pypa/packaging) | `26.0` | `26.2` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.3` | `3.0.2` |\n| [parso](https://github.com/davidhalter/parso) | `0.8.6` | `0.8.7` |\n| [pdfminer-six](https://github.com/pdfminer/pdfminer.six) | `20251230` | `20260107` |\n| [pillow](https://github.com/python-pillow/Pillow) | `12.1.1` | `12.2.0` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.5.1` | `4.9.6` |\n| [plotly](https://github.com/plotly/plotly.py) | `5.18.0` | `6.7.0` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.5.1` | `4.6.0` |\n| [prometheus-client](https://github.com/prometheus/client_python) | `0.24.1` | `0.25.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `6.33.5` | `7.34.1` |\n| [pyarrow](https://github.com/apache/arrow) | `23.0.0` | `24.0.0` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.13.2` | `2.13.3` |\n| [pydantic-core](https://github.com/pydantic/pydantic) | `2.46.2` | `2.46.3` |\n| [pydeck](https://github.com/visgl/deck.gl) | `0.9.1` | `0.9.2` |\n| [pygments](https://github.com/pygments/pygments) | `2.19.2` | `2.20.0` |\n| [pypdfium2](https://github.com/pypdfium2-team/pypdfium2) | `5.7.0` | `5.7.1` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [pytz](https://github.com/stub42/pytz) | `2025.2` | `2026.1.post1` |\n| [requests](https://github.com/psf/requests) | `2.32.5` | `2.33.1` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.11` | `0.15.12` |\n| [scipy](https://github.com/scipy/scipy) | `1.17.0` | `1.17.1` |\n| [setuptools](https://github.com/pypa/setuptools) | `82.0.0` | `82.0.1` |\n| [shap](https://github.com/shap/shap) | `0.50.0` | `0.51.0` |\n| [smmap](https://github.com/gitpython-developers/smmap) | `5.0.2` | `5.0.3` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.47` | `2.0.49` |\n| [streamlit](https://github.com/streamlit/streamlit) | `1.54.0` | `1.57.0` |\n| [tinycss2](https://github.com/Kozea/tinycss2) | `1.4.0` | `1.5.1` |\n| [tornado](https://github.com/tornadoweb/tornado) | `6.5.4` | `6.5.5` |\n| [traitlets](https://github.com/ipython/traitlets) | `5.14` | `5.14.3` |\n| [tzdata](https://github.com/python/tzdata) | `2025.3` | `2026.2` |\n| [virtualenv](https://github.com/pypa/virtualenv) | `21.2.4` | `21.3.0` |\n| [wcwidth](https://github.com/jquast/wcwidth) | `0.6.0` | `0.7.0` |\n| [xgboost](https://github.com/dmlc/xgboost) | `2.1.4` | `3.2.0` |\n| [xxhash](https://github.com/ifduyue/python-xxhash) | `3.6.0` | `3.7.0` |\n\n\nUpdates `altair` from 6.0.0 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vega/altair/releases\"\u003ealtair's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 6.1.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eThere are many exciting improvements in this release! Read on for details and a big thanks to everyone who contributed  :tada:\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: Update to Vega-Lite 6.4.1 by \u003ca href=\"https://github.com/joelostblom\"\u003e\u003ccode\u003e@​joelostblom\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/4005\"\u003evega/altair#4005\u003c/a\u003e. See \u003ca href=\"https://github.com/vega/vega-lite/releases\"\u003ethe Vega-Lite Release Notes\u003c/a\u003e for details; a few highlights:\n\u003cul\u003e\n\u003cli\u003eNewlines are now supported in tooltips.\u003c/li\u003e\n\u003cli\u003eThe default stack order of marks like bars and areas is now aligned with the color domain.\u003c/li\u003e\n\u003cli\u003eInteractive charts automatically change the cursor to pointer to indicate they can be interacted with.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003efeat: auto hoist facet encodings in layer by \u003ca href=\"https://github.com/thomascamminady\"\u003e\u003ccode\u003e@​thomascamminady\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3965\"\u003evega/altair#3965\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eThis allows layering of simple faceted charts that define the same facet variables, instead of requiring that layering happens before faceting.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003efeat: Accept ZoneInfo(key='UTC') by \u003ca href=\"https://github.com/JackKelly\"\u003e\u003ccode\u003e@​JackKelly\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3944\"\u003evega/altair#3944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add pandas 3 compatibility and fix CI (drop Python 3.9, pin polars \u0026lt;1.38) by \u003ca href=\"https://github.com/mattijn\"\u003e\u003ccode\u003e@​mattijn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3950\"\u003evega/altair#3950\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add ensure_ascii option to to_json() with default False by \u003ca href=\"https://github.com/RamiNoodle733\"\u003e\u003ccode\u003e@​RamiNoodle733\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3952\"\u003evega/altair#3952\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: unique view names per concat cell and correct param.views by \u003ca href=\"https://github.com/mattijn\"\u003e\u003ccode\u003e@​mattijn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3974\"\u003evega/altair#3974\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Compute unique hashes for identical specs that use different data by \u003ca href=\"https://github.com/joelostblom\"\u003e\u003ccode\u003e@​joelostblom\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3982\"\u003evega/altair#3982\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: preserve polars datetime timezones during serialization by \u003ca href=\"https://github.com/kjgoodrick\"\u003e\u003ccode\u003e@​kjgoodrick\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3922\"\u003evega/altair#3922\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: type issues with Chart save methods. by \u003ca href=\"https://github.com/alec-bike\"\u003e\u003ccode\u003e@​alec-bike\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3934\"\u003evega/altair#3934\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: type issues with Chart mark methods. by \u003ca href=\"https://github.com/alec-bike\"\u003e\u003ccode\u003e@​alec-bike\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3936\"\u003evega/altair#3936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: improve api.py typing by \u003ca href=\"https://github.com/alec-bike\"\u003e\u003ccode\u003e@​alec-bike\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3955\"\u003evega/altair#3955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: typing issues for mypy 1.18 and above. by \u003ca href=\"https://github.com/alec-bike\"\u003e\u003ccode\u003e@​alec-bike\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3966\"\u003evega/altair#3966\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: Highlight new examples in the gallery by \u003ca href=\"https://github.com/joelostblom\"\u003e\u003ccode\u003e@​joelostblom\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3999\"\u003evega/altair#3999\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eIt's now easier to find which examples have been \u003ca href=\"https://altair-viz.github.io/gallery/index.html\"\u003erecently added to the Altair gallery\u003c/a\u003e and the page looks more visually appealing overall.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003edocs: add WASM / Pyodide installation instructions by \u003ca href=\"https://github.com/ArnavTomar18\"\u003e\u003ccode\u003e@​ArnavTomar18\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3932\"\u003evega/altair#3932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Correct some grammar issues by \u003ca href=\"https://github.com/star1327p\"\u003e\u003ccode\u003e@​star1327p\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3942\"\u003evega/altair#3942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add identity line (x=y diagonal) example to rule mark docs by \u003ca href=\"https://github.com/stbiadmin\"\u003e\u003ccode\u003e@​stbiadmin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3969\"\u003evega/altair#3969\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Correct tooltip field for faceted choropleth example by \u003ca href=\"https://github.com/Sparlitu\"\u003e\u003ccode\u003e@​Sparlitu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3920\"\u003evega/altair#3920\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: wrong tooltip variable id -\u0026gt; county_id by \u003ca href=\"https://github.com/thomascamminady\"\u003e\u003ccode\u003e@​thomascamminady\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3924\"\u003evega/altair#3924\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: a HConcatChart -\u0026gt; an HConcatChart by \u003ca href=\"https://github.com/star1327p\"\u003e\u003ccode\u003e@​star1327p\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3917\"\u003evega/altair#3917\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Substitute field strings correctly so that points in theme display chart show up by \u003ca href=\"https://github.com/joelostblom\"\u003e\u003ccode\u003e@​joelostblom\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3984\"\u003evega/altair#3984\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Change the lead size to fit on two rows by \u003ca href=\"https://github.com/joelostblom\"\u003e\u003ccode\u003e@​joelostblom\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3980\"\u003evega/altair#3980\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Make the first page title fit on one row by \u003ca href=\"https://github.com/joelostblom\"\u003e\u003ccode\u003e@​joelostblom\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3979\"\u003evega/altair#3979\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Fix broken density example by \u003ca href=\"https://github.com/joelostblom\"\u003e\u003ccode\u003e@​joelostblom\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3985\"\u003evega/altair#3985\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Simplify inline expr syntax by \u003ca href=\"https://github.com/joelostblom\"\u003e\u003ccode\u003e@​joelostblom\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3996\"\u003evega/altair#3996\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ebuild: Speed up doc build time for faster local development by \u003ca href=\"https://github.com/joelostblom\"\u003e\u003ccode\u003e@​joelostblom\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3997\"\u003evega/altair#3997\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: Add watch option to automatically rebuild docs upon detected changes by \u003ca href=\"https://github.com/joelostblom\"\u003e\u003ccode\u003e@​joelostblom\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3998\"\u003evega/altair#3998\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: Create docs CLI to facilitate different build combinations by \u003ca href=\"https://github.com/joelostblom\"\u003e\u003ccode\u003e@​joelostblom\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/4000\"\u003evega/altair#4000\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump dev version to 6.1.0dev by \u003ca href=\"https://github.com/mattijn\"\u003e\u003ccode\u003e@​mattijn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3913\"\u003evega/altair#3913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003estyle: Make chained chart methods work with type checkers other than pyright by \u003ca href=\"https://github.com/hamdanal\"\u003e\u003ccode\u003e@​hamdanal\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3933\"\u003evega/altair#3933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: bump actions/checkout from 5 to 6 in the github-actions group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3928\"\u003evega/altair#3928\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump urllib3 from 2.5.0 to 2.6.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/vega/altair/pull/3939\"\u003evega/altair#3939\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/vega/altair/commit/af1450f413fd046da032857519bba536dad97910\"\u003e\u003ccode\u003eaf1450f\u003c/code\u003e\u003c/a\u003e chore: 🔧 Bump versions for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vega/altair/commit/af071276321b64a8ea66a773dbc60d659dd41fa1\"\u003e\u003ccode\u003eaf07127\u003c/code\u003e\u003c/a\u003e feat: Update to Vega-Lite 6.4.1 (\u003ca href=\"https://redirect.github.com/vega/altair/issues/4005\"\u003e#4005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vega/altair/commit/e093674705eebaab23887318e190b0cc0977cc21\"\u003e\u003ccode\u003ee093674\u003c/code\u003e\u003c/a\u003e harden prerelease workflow (\u003ca href=\"https://redirect.github.com/vega/altair/issues/4008\"\u003e#4008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vega/altair/commit/942dead2972aee5efde8f1488b06c0a8fba58b26\"\u003e\u003ccode\u003e942dead\u003c/code\u003e\u003c/a\u003e build(deps): bump uv from 0.10.4 to 0.11.6 (\u003ca href=\"https://redirect.github.com/vega/altair/issues/4004\"\u003e#4004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vega/altair/commit/127f79f7b456450729914950ec2a063c02699b9c\"\u003e\u003ccode\u003e127f79f\u003c/code\u003e\u003c/a\u003e docs: Highlight new examples in the gallery (\u003ca href=\"https://redirect.github.com/vega/altair/issues/3999\"\u003e#3999\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vega/altair/commit/59561f8fee41d0d1d872f9dba855cc36651c869e\"\u003e\u003ccode\u003e59561f8\u003c/code\u003e\u003c/a\u003e fix: Compute unique hashes for identical specs that use different data (\u003ca href=\"https://redirect.github.com/vega/altair/issues/3982\"\u003e#3982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vega/altair/commit/60a3fb7da35b5f4b9c715b85e6a81c0154df7cc9\"\u003e\u003ccode\u003e60a3fb7\u003c/code\u003e\u003c/a\u003e build(deps): bump tornado from 6.5.4 to 6.5.5 (\u003ca href=\"https://redirect.github.com/vega/altair/issues/3978\"\u003e#3978\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vega/altair/commit/33bc6379e7c0e38f92a04a84ed52d39c02fb3f38\"\u003e\u003ccode\u003e33bc637\u003c/code\u003e\u003c/a\u003e build(deps): bump cryptography from 46.0.6 to 46.0.7 (\u003ca href=\"https://redirect.github.com/vega/altair/issues/4003\"\u003e#4003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vega/altair/commit/88c446951eb48c13c8078a392f4d79e8b63453d2\"\u003e\u003ccode\u003e88c4469\u003c/code\u003e\u003c/a\u003e docs: Create docs CLI to facilitate different build combinations (\u003ca href=\"https://redirect.github.com/vega/altair/issues/4000\"\u003e#4000\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vega/altair/commit/a4a20ccc898c487fe80e3c7118bafb58872df113\"\u003e\u003ccode\u003ea4a20cc\u003c/code\u003e\u003c/a\u003e docs: Add watch option to automatically rebuild docs upon detected changes (#...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vega/altair/compare/v6.0.0...v6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `anyio` from 4.12.1 to 4.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/agronholm/anyio/releases\"\u003eanyio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ettl\u003c/code\u003e parameter to the \u003ccode\u003eanyio.functools.lru_cache\u003c/code\u003e wrapper (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1073\"\u003e#1073\u003c/a\u003e; PR by \u003ca href=\"https://github.com/Graeme22\"\u003e\u003ccode\u003e@​Graeme22\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWidened the type annotations of file I/O streams to accept \u003ccode\u003eIO[bytes]\u003c/code\u003e instead of just \u003ccode\u003eBinaryIO\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1078\"\u003e#1078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eanyio.Path\u003c/code\u003e not being compatible with Python 3.15 due to the removal of \u003ccode\u003epathlib.Path.is_reserved()\u003c/code\u003e and the addition of \u003ccode\u003epathlib.Path.__vfspath__()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1061\"\u003e#1061\u003c/a\u003e; PR by \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003eBrokenResourceError\u003c/code\u003e raised by the asyncio \u003ccode\u003eSocketStream\u003c/code\u003e not having the original exception as its cause (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1055\"\u003e#1055\u003c/a\u003e; PR by \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003eTypeError\u003c/code\u003e raised when using \u0026quot;func\u0026quot; as a parameter name in \u003ccode\u003epytest.mark.parametrize\u003c/code\u003e when using the pytest plugin (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1068\"\u003e#1068\u003c/a\u003e; PR by \u003ca href=\"https://github.com/JohnnyDeuss\"\u003e\u003ccode\u003e@​JohnnyDeuss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the pytest plugin not running tests that had the \u003ccode\u003eanyio\u003c/code\u003e marker added programmatically via \u003ccode\u003epytest_collection_modifyitems\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/422\"\u003e#422\u003c/a\u003e; PR by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed cancellation exceptions leaking from a \u003ccode\u003eCancelScope\u003c/code\u003e on asyncio when they are contained in an exception group alongside non-cancellation exceptions (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1091\"\u003e#1091\u003c/a\u003e; PR by \u003ca href=\"https://github.com/gschaffner\"\u003e\u003ccode\u003e@​gschaffner\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCondition.wait()\u003c/code\u003e not passing on a notification when the task is cancelled but already received a notification\u003c/li\u003e\n\u003cli\u003eFixed inverted condition in the process pool shutdown phase which would cause still-running pooled processes not to be terminated (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1074\"\u003e#1074\u003c/a\u003e; PR by \u003ca href=\"https://github.com/bysiber\"\u003e\u003ccode\u003e@​bysiber\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/afbe93ca9d0c447adf26e9c1715ac20870622bf2\"\u003e\u003ccode\u003eafbe93c\u003c/code\u003e\u003c/a\u003e Bumped up the version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/33bdf2e4b4f40c2df178123746147a6d2471808d\"\u003e\u003ccode\u003e33bdf2e\u003c/code\u003e\u003c/a\u003e Rearranged the changelog entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/19e09e25bc5a23dd78a577d8c3909dd377057c78\"\u003e\u003ccode\u003e19e09e2\u003c/code\u003e\u003c/a\u003e Fixed inverted condition in _forcibly_shutdown_process_pool_on_exit (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1074\"\u003e#1074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/9369d80b9e8292f2a892a9d5c73923c6a28aa08c\"\u003e\u003ccode\u003e9369d80\u003c/code\u003e\u003c/a\u003e Fixed Condition.wait() not handing over notification when cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/6f122abdc6f6b166c6b6ac27d36d55cdf8fa08e8\"\u003e\u003ccode\u003e6f122ab\u003c/code\u003e\u003c/a\u003e Fixed cancellation exceptions leaking from a \u003ccode\u003eCancelScope\u003c/code\u003e on asyncio when th...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/beaa45aff568a4020f2faf317321dd92f0e1f4a0\"\u003e\u003ccode\u003ebeaa45a\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1097\"\u003e#1097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/602f6606dcf3f37702686a4f3e161328c537b07f\"\u003e\u003ccode\u003e602f660\u003c/code\u003e\u003c/a\u003e Widened type annotations to accept IO[bytes] in file streams\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/b5dcd45170701a756ba634197398f05d4710cab3\"\u003e\u003ccode\u003eb5dcd45\u003c/code\u003e\u003c/a\u003e Added note about erasing the template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/d68670b3b4e0917d4caff2de082e03220f3e05a1\"\u003e\u003ccode\u003ed68670b\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1090\"\u003e#1090\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/fc17a22dd948e6a3d90d99908813f0010dfc3d2c\"\u003e\u003ccode\u003efc17a22\u003c/code\u003e\u003c/a\u003e tweak to_thread docs about abandon_on_cancel (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1088\"\u003e#1088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/agronholm/anyio/compare/4.12.1...4.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `async-lru` from 2.1.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aio-libs/async-lru/releases\"\u003easync-lru's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ecache_contains()\u003c/code\u003e for read-only key lookup.\u003c/li\u003e\n\u003cli\u003eChanged cross-loop cache access to auto-reset and rebind to the current event loop.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eAlruCacheLoopResetWarning\u003c/code\u003e when an auto-reset happens due to event loop change.\u003c/li\u003e\n\u003cli\u003eForwarded \u003ccode\u003ecache_close(wait=...)\u003c/code\u003e for bound methods.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.2.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ejitter\u003c/code\u003e parameter to randomise TTL.\u003c/li\u003e\n\u003cli\u003eRaise \u003ccode\u003eRuntimeError\u003c/code\u003e when cache is used by different loop.\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/aio-libs/async-lru/blob/master/CHANGES.rst\"\u003easync-lru's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.3.0 (2026-03-18)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ecache_contains()\u003c/code\u003e for read-only key lookup.\u003c/li\u003e\n\u003cli\u003eChanged cross-loop cache access to auto-reset and rebind to the current event loop.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eAlruCacheLoopResetWarning\u003c/code\u003e when an auto-reset happens due to event loop change.\u003c/li\u003e\n\u003cli\u003eForwarded \u003ccode\u003ecache_close(wait=...)\u003c/code\u003e for bound methods.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.2.0 (2026-02-20)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ejitter\u003c/code\u003e parameter to randomise TTL.\u003c/li\u003e\n\u003cli\u003eRaise \u003ccode\u003eRuntimeError\u003c/code\u003e when cache is used by different loop.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/async-lru/commit/cb9e034619167668af09c7be71a37e2d40a96995\"\u003e\u003ccode\u003ecb9e034\u003c/code\u003e\u003c/a\u003e Release v2.3.0 (\u003ca href=\"https://redirect.github.com/aio-libs/async-lru/issues/748\"\u003e#748\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/async-lru/commit/a2aa7b05ce9b773539f1c479341ac1c53f1fe9d0\"\u003e\u003ccode\u003ea2aa7b0\u003c/code\u003e\u003c/a\u003e build(deps): bump coverage from 7.13.4 to 7.13.5 (\u003ca href=\"https://redirect.github.com/aio-libs/async-lru/issues/747\"\u003e#747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/async-lru/commit/63760a481d44d5a2cc0d1325fc2ca233b664367a\"\u003e\u003ccode\u003e63760a4\u003c/code\u003e\u003c/a\u003e feat: add cache_contains() for read-only key lookup (\u003ca href=\"https://redirect.github.com/aio-libs/async-lru/issues/746\"\u003e#746\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/async-lru/commit/e2ddf7af72e2eb7382182dbdde7578142f0124be\"\u003e\u003ccode\u003ee2ddf7a\u003c/code\u003e\u003c/a\u003e Forward cache_close(wait=...) for bound methods (\u003ca href=\"https://redirect.github.com/aio-libs/async-lru/issues/745\"\u003e#745\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/async-lru/commit/33e1a7cec396bcf612f46226253775fd905b40eb\"\u003e\u003ccode\u003e33e1a7c\u003c/code\u003e\u003c/a\u003e Emit AlruCacheLoopResetWarning on event loop auto-reset (\u003ca href=\"https://redirect.github.com/aio-libs/async-lru/issues/744\"\u003e#744\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/async-lru/commit/fff4d49334839987946c74bfc02c05f79427e8b2\"\u003e\u003ccode\u003efff4d49\u003c/code\u003e\u003c/a\u003e feat: Allow \u003ccode\u003ealru_cache\u003c/code\u003e to automatically clear and rebind to the current eve...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/async-lru/commit/7ef00b766b35da224a5e652f344e3788663a6f5a\"\u003e\u003ccode\u003e7ef00b7\u003c/code\u003e\u003c/a\u003e Release v2.2.0 (\u003ca href=\"https://redirect.github.com/aio-libs/async-lru/issues/741\"\u003e#741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/async-lru/commit/01db639c22c8c18ad41a026dacf301722deb3a32\"\u003e\u003ccode\u003e01db639\u003c/code\u003e\u003c/a\u003e fix: avoid binding loop for invalid cache keys (\u003ca href=\"https://redirect.github.com/aio-libs/async-lru/issues/740\"\u003e#740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/async-lru/commit/c6acbe807f69324b66c6e3327d6ace5ecea02da4\"\u003e\u003ccode\u003ec6acbe8\u003c/code\u003e\u003c/a\u003e build(deps): bump pytest-codspeed from 4.2.0 to 4.3.0 (\u003ca href=\"https://redirect.github.com/aio-libs/async-lru/issues/738\"\u003e#738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/async-lru/commit/8783cf7a12ceef22eefd028bb6d7ad096a977b47\"\u003e\u003ccode\u003e8783cf7\u003c/code\u003e\u003c/a\u003e build(deps): bump coverage from 7.13.3 to 7.13.4 (\u003ca href=\"https://redirect.github.com/aio-libs/async-lru/issues/737\"\u003e#737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/aio-libs/async-lru/compare/v2.1.0...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `attrs` from 25.4.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/python-attrs/attrs/releases\"\u003eattrs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.1.0\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cp\u003eThe main outward change here only affects people using field transformers, but it should be a nice quality of life improvement!\u003c/p\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://kraken.tech\"\u003eKraken Tech\u003c/a\u003e (@\u003ca href=\"https://github.com/kraken-tech\"\u003ekraken-tech\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://ecosyste.ms\"\u003eEcosystems\u003c/a\u003e (@\u003ca href=\"https://github.com/ecosyste-ms\"\u003eecosyste-ms\u003c/a\u003e), \u003ca href=\"https://www.lambdatest.com\"\u003eTestMu AI Open Source Office (Formerly LambdaTest)\u003c/a\u003e (@\u003ca href=\"https://github.com/LambdaTest-Inc\"\u003eLambdaTest-Inc\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), \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://miketheman.dev\"\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://bmdphd.info/\"\u003eBrian M. Dennis\u003c/a\u003e (@\u003ca href=\"https://github.com/crossjam\"\u003ecrossjam\u003c/a\u003e), Celebrity News AG (@\u003ca href=\"https://github.com/celebritynewsag\"\u003ecelebritynewsag\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\u003ch3\u003eBackwards-incompatible Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eField aliases are now resolved \u003cem\u003ebefore\u003c/em\u003e calling \u003ccode\u003efield_transformer\u003c/code\u003e, so transformers receive fully populated \u003ccode\u003eAttribute\u003c/code\u003e objects with usable \u003ccode\u003ealias\u003c/code\u003e values instead of \u003ccode\u003eNone\u003c/code\u003e. The new \u003ccode\u003eAttribute.alias_is_default\u003c/code\u003e flag indicates whether the alias was auto-generated (\u003ccode\u003eTrue\u003c/code\u003e) or explicitly set by the user (\u003ccode\u003eFalse\u003c/code\u003e). \u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1509\"\u003e#1509\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix type annotations for \u003ccode\u003eattrs.validators.optional()\u003c/code\u003e, so it no longer rejects tuples with more than one validator. \u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003eattrs.validators.disabled()\u003c/code\u003e contextmanager can now be nested. \u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1513\"\u003e#1513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFrozen classes can set \u003ccode\u003eon_setattr=attrs.setters.NO_OP\u003c/code\u003e in addition to \u003ccode\u003eNone\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIt's now possible to pass \u003cem\u003eattrs\u003c/em\u003e \u003cstrong\u003einstances\u003c/strong\u003e in addition to \u003cem\u003eattrs\u003c/em\u003e \u003cstrong\u003eclasses\u003c/strong\u003e to \u003ccode\u003eattrs.fields()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1529\"\u003e#1529\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eThis release contains contributions from \u003ca href=\"https://github.com/bysiber\"\u003e\u003ccode\u003e@​bysiber\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/DavidCEllis\"\u003e\u003ccode\u003e@​DavidCEllis\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/finite-state-machine\"\u003e\u003ccode\u003e@​finite-state-machine\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/hynek\"\u003e\u003ccode\u003e@​hynek\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/vstinner\"\u003e\u003ccode\u003e@​vstinner\u003c/code\u003e\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eArtifact Attestations\u003c/h2\u003e\n\u003cp\u003eYou can verify this release's \u003ca href=\"https://docs.github.com/en/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds\"\u003eartifact attestions\u003c/a\u003e using \u003ca href=\"https://cli.github.com\"\u003eGitHub's CLI tool\u003c/a\u003e by downloading the sdist and wheel from \u003ca href=\"https://pypi.org/project/attrs\"\u003ePyPI\u003c/a\u003e and running:\u003c/p\u003e\n\u003cpre lang=\"console\"\u003e\u003ccode\u003e$ gh attestation verify --owner python-attrs attrs-26.1.0.tar.gz\r\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/python-attrs/attrs/blob/main/CHANGELOG.md\"\u003eattrs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/python-attrs/attrs/tree/26.1.0\"\u003e26.1.0\u003c/a\u003e - 2026-03-19\u003c/h2\u003e\n\u003ch3\u003eBackwards-incompatible Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eField aliases are now resolved \u003cem\u003ebefore\u003c/em\u003e calling \u003ccode\u003efield_transformer\u003c/code\u003e, so transformers receive fully populated \u003ccode\u003eAttribute\u003c/code\u003e objects with usable \u003ccode\u003ealias\u003c/code\u003e values instead of \u003ccode\u003eNone\u003c/code\u003e.\nThe new \u003ccode\u003eAttribute.alias_is_default\u003c/code\u003e flag indicates whether the alias was auto-generated (\u003ccode\u003eTrue\u003c/code\u003e) or explicitly set by the user (\u003ccode\u003eFalse\u003c/code\u003e).\n\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1509\"\u003e#1509\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix type annotations for \u003ccode\u003eattrs.validators.optional()\u003c/code\u003e, so it no longer rejects tuples with more than one validator.\n\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003eattrs.validators.disabled()\u003c/code\u003e contextmanager can now be nested.\n\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1513\"\u003e#1513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFrozen classes can set \u003ccode\u003eon_setattr=attrs.setters.NO_OP\u003c/code\u003e in addition to \u003ccode\u003eNone\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIt's now possible to pass \u003cem\u003eattrs\u003c/em\u003e \u003cstrong\u003einstances\u003c/strong\u003e in addition to \u003cem\u003eattrs\u003c/em\u003e \u003cstrong\u003eclasses\u003c/strong\u003e to \u003ccode\u003eattrs.fields()\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1529\"\u003e#1529\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-attrs/attrs/commit/7bfc49e9b22d5ba25b6e429524c3d49fee27cb36\"\u003e\u003ccode\u003e7bfc49e\u003c/code\u003e\u003c/a\u003e Prepare 26.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-attrs/attrs/commit/31e02869da10824b492c378c1dc87ccc720ee5ad\"\u003e\u003ccode\u003e31e0286\u003c/code\u003e\u003c/a\u003e Update test_validators.py for Python 3.15a7 (\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1530\"\u003e#1530\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-attrs/attrs/commit/48b8611c27779811d161200e17de8da24aae7feb\"\u003e\u003ccode\u003e48b8611\u003c/code\u003e\u003c/a\u003e Add instance support to attrs.fields() (\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1529\"\u003e#1529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-attrs/attrs/commit/3a68d4913221abc6f8ad3be50937f7ae49300a98\"\u003e\u003ccode\u003e3a68d49\u003c/code\u003e\u003c/a\u003e dev: document missing git tags failure mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-attrs/attrs/commit/a572c3a4c558a8b9b48cf989fcd956ab1a279439\"\u003e\u003ccode\u003ea572c3a\u003c/code\u003e\u003c/a\u003e Allow field(on_setattr=NO_OP) on frozen classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-attrs/attrs/commit/af9c510912ce604a94896cc35c27368d5baf6ae6\"\u003e\u003ccode\u003eaf9c510\u003c/code\u003e\u003c/a\u003e Fix validators.disabled() to save/restore state on nesting (\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1513\"\u003e#1513\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-attrs/attrs/commit/ab7f8b2f4c0f747d5b1575247ce35e5adaad182e\"\u003e\u003ccode\u003eab7f8b2\u003c/code\u003e\u003c/a\u003e update dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-attrs/attrs/commit/ce89f5d11feb0805da9ed10bb165238cc959f1bb\"\u003e\u003ccode\u003ece89f5d\u003c/code\u003e\u003c/a\u003e Fix message passing in frozen errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-attrs/attrs/commit/eccd966d80aff5196efc959316961cfa780439f9\"\u003e\u003ccode\u003eeccd966\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eoptional\u003c/code\u003e validator to accept tuples of len \u0026gt; 1 (\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1496\"\u003e#1496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-attrs/attrs/commit/e92fe52dfe1eb07167e6473724c5a8ada978add0\"\u003e\u003ccode\u003ee92fe52\u003c/code\u003e\u003c/a\u003e policies: tighten screws (\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1528\"\u003e#1528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-attrs/attrs/compare/25.4.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 `cachetools` from 6.2.6 to 7.1.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tkem/cachetools/blob/master/CHANGELOG.rst\"\u003ecachetools's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev7.1.0 (2026-05-01)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type stubs based on the work of the good people at \u003ccode\u003etypeshed \u0026lt;https://github.com/python/typeshed/tree/main/stubs/cachetools/\u0026gt;\u003c/code\u003e__.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate unit tests.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev7.0.6 (2026-04-20)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMinor code improvements.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate project URLs.\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\u003ch1\u003ev7.0.5 (2026-03-09)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eMinor \u003ccode\u003e@cachedmethod\u003c/code\u003e performance improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev7.0.4 (2026-03-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix and properly document \u003ccode\u003e@cachedmethod.cache_key\u003c/code\u003e behavior.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMinor documentation improvements.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev7.0.3 (2026-03-05)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eDeprecationWarning\u003c/code\u003e when creating an autospec mock with\n\u003ccode\u003e@cachedmethod\u003c/code\u003e decorations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev7.0.2 (2026-03-02)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eProvide more efficient \u003ccode\u003eclear()\u003c/code\u003e implementation for all support\nCache classes (courtesy Josep Pon Farreny).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev7.0.1 (2026-02-10)\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/1ea3422e058ef8b6b7dc15beb9d44d8f7c195a62\"\u003e\u003ccode\u003e1ea3422\u003c/code\u003e\u003c/a\u003e Bump release date.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/d9874465a6ab6f9d1d56cef91370f9c237a7eca6\"\u003e\u003ccode\u003ed987446\u003c/code\u003e\u003c/a\u003e Release v7.1.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/3d79e80a4a54892d1552cd17da8e27920c1918d8\"\u003e\u003ccode\u003e3d79e80\u003c/code\u003e\u003c/a\u003e Update Copilot Instructions.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/83fe6bc78d0155a0036dda8a8eb1a2ddb8f26c60\"\u003e\u003ccode\u003e83fe6bc\u003c/code\u003e\u003c/a\u003e Add tox pyright check.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/bd3fbc49212eb948e08e9c478e5901f1293fd1f4\"\u003e\u003ccode\u003ebd3fbc4\u003c/code\u003e\u003c/a\u003e Improve typing support.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/09dd6fec4b1b2339451ab26d1ca3c7a049b8c38c\"\u003e\u003ccode\u003e09dd6fe\u003c/code\u003e\u003c/a\u003e Improve original type stubs from typeshed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/873c7013ea92b16f2f24a6001e625fabfdf951a5\"\u003e\u003ccode\u003e873c701\u003c/code\u003e\u003c/a\u003e Add typeshed typings.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/28d4506f2a49d781ffbcecb095fa7aba5bb80aff\"\u003e\u003ccode\u003e28d4506\u003c/code\u003e\u003c/a\u003e Release v7.0.6.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/51921a4812b3304be9625ed004f024935a8036af\"\u003e\u003ccode\u003e51921a4\u003c/code\u003e\u003c/a\u003e Remove _TimedCache default timer to simplify type stubs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/a4249f6aa3b4cb2fe287b08631c308bb88b9396c\"\u003e\u003ccode\u003ea4249f6\u003c/code\u003e\u003c/a\u003e Bump codecov/codecov-action from 5.5.2 to 6.0.0 (\u003ca href=\"https://redirect.github.com/tkem/cachetools/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tkem/cachetools/compare/v6.2.6...v7.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2026.1.4 to 2026.4.22\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/5dddfb072243da27adde885b73ba9b809c3224ca\"\u003e\u003ccode\u003e5dddfb0\u003c/code\u003e\u003c/a\u003e 2026.04.22 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/410\"\u003e#410\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/f99eccdaf87f7c10e521a58a700ca3eb94a0787e\"\u003e\u003ccode\u003ef99eccd\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 8.1.0 to 8.1.1 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/404\"\u003e#404\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/918bed055f7291719512af186c1c24710f845660\"\u003e\u003ccode\u003e918bed0\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 7.0.0 to 7.0.1 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/405\"\u003e#405\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/0a49067eb434e53e1f8df5f7707d5dc05ef9def4\"\u003e\u003ccode\u003e0a49067\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish from 1.13.0 to 1.14.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/403\"\u003e#403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/acf6ce8e39e3b125f4349e11904295e4fe4c1bed\"\u003e\u003ccode\u003eacf6ce8\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 8.0.0 to 8.0.1 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/398\"\u003e#398\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/feb0ed26163a9417ea0fb8eb52d47e79fcf202ab\"\u003e\u003ccode\u003efeb0ed2\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 7.0.0 to 8.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/397\"\u003e#397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/d9c11a50369cc377abb40f7909ded3d6da4d98a3\"\u003e\u003ccode\u003ed9c11a5\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 6.0.0 to 7.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/396\"\u003e#396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/8571a4ba5205675107f9026d0008ad2d7a2778bf\"\u003e\u003ccode\u003e8571a4b\u003c/code\u003e\u003c/a\u003e 2026.02.25 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/6f7de00579d292af565bbb8a947643219794eb6d\"\u003e\u003ccode\u003e6f7de00\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 8.0.0 to 8.1.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/390\"\u003e#390\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/a1de59b15105cad768afed4f066b36171134f04a\"\u003e\u003ccode\u003ea1de59b\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.1 to 6.0.2 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2026.01.04...2026.04.22\"\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.4 to 3.4.7\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.7\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.6...3.4.7\"\u003e3.4.7\u003c/a\u003e (2026-04-02)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePre-built optimized version using mypy[c] v1.20.\u003c/li\u003e\n\u003cli\u003eRelax \u003ccode\u003esetuptools\u003c/code\u003e constraint to \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;82.1\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCorrectly remove SIG remnant in utf-7 decoded string. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/718\"\u003e#718\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/716\"\u003e#716\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.4.6\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.5...3.4.6\"\u003e3.4.6\u003c/a\u003e (2026-03-15)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFlattened the logic in \u003ccode\u003echarset_normalizer.md\u003c/code\u003e for higher performance. Removed \u003ccode\u003eeligible(..)\u003c/code\u003e and \u003ccode\u003efeed(...)\u003c/code\u003e\nin favor of \u003ccode\u003efeed_info(...)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound for mypy[c] to 1.20, for our optimized version.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eUNICODE_RANGES_COMBINED\u003c/code\u003e using Unicode blocks v17.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEdge case where noise difference between two candidates can be almost insignificant. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/672\"\u003e#672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCLI \u003ccode\u003e--normalize\u003c/code\u003e writing to wrong path when passing multiple files in. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/702\"\u003e#702\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFreethreaded pre-built wheels now shipped in PyPI starting with 3.14t. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/616\"\u003e#616\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.4.5\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.4...3.4.5\"\u003e3.4.5\u003c/a\u003e (2026-03-06)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003esetuptools\u003c/code\u003e constraint to \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;=82\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound of mypyc for the optional pre-built extension to v1.19.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd explicit link to lib math in our optimized build. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/692\"\u003e#692\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLogger level not restored correctly for empty byte sequences. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/701\"\u003e#701\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTypeError when passing bytearray to from_bytes. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/703\"\u003e#703\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eApplied safe micro-optimizations in both our noise detector and language detector.\u003c/li\u003e\n\u003cli\u003eRewrote the \u003ccode\u003equery_yes_no\u003c/code\u003e function (inside CLI) to avoid using ambiguous licensed code.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecd.py\u003c/code\u003e submodule into mypyc optional compilation to reduce further the performance impact.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\u003cbr /\u003e\nmypyc changed the usual binary output for the optimized wheel. Beware, especially if using PyInstaller or alike. See \u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/714\"\u003ejawah/charset_normalizer#714\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/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.6...3.4.7\"\u003e3.4.7\u003c/a\u003e (2026-04-02)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePre-built optimized version using mypy[c] v1.20.\u003c/li\u003e\n\u003cli\u003eRelax \u003ccode\u003esetuptools\u003c/code\u003e constraint to \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;82.1\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCorrectly remove SIG remnant in utf-7 decoded string. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/718\"\u003e#718\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/716\"\u003e#716\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.5...3.4.6\"\u003e3.4.6\u003c/a\u003e (2026-03-15)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFlattened the logic in \u003ccode\u003echarset_normalizer.md\u003c/code\u003e for higher performance. Removed \u003ccode\u003eeligible(..)\u003c/code\u003e and \u003ccode\u003efeed(...)\u003c/code\u003e\nin favor of \u003ccode\u003efeed_info(...)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound for mypy[c] to 1.20, for our optimized version.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eUNICODE_RANGES_COMBINED\u003c/code\u003e using Unicode blocks v17.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEdge case where noise difference between two candidates can be almost insignificant. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/672\"\u003e#672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCLI \u003ccode\u003e--normalize\u003c/code\u003e writing to wrong path when passing multiple files in. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/702\"\u003e#702\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFreethreaded pre-built wheels now shipped in PyPI starting with 3.14t. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/616\"\u003e#616\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.4...3.4.5\"\u003e3.4.5\u003c/a\u003e (2026-03-06)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003esetuptools\u003c/code\u003e constraint to \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;=82\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound of mypyc for the optional pre-built extension to v1.19.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd explicit link to lib math in our optimized build. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/692\"\u003e#692\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLogger level not restored correctly for empty byte sequences. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/701\"\u003e#701\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTypeError when passing bytearray to from_bytes. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/703\"\u003e#703\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eApplied safe micro-optimizations in both our noise detector and language detector.\u003c/li\u003e\n\u003cli\u003eRewrote the \u003ccode\u003equery_yes_no\u003c/code\u003e function (inside CLI) to avoid using ambiguous licensed code.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecd.py\u003c/code\u003e submodule into mypyc optional compilation to reduce further the performance impact.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/0f07891bf516b5d5231f1bd4dd2d8da7d4d09a9a\"\u003e\u003ccode\u003e0f07891\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/729\"\u003e#729\u003c/a\u003e from jawah/release-3.4.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/fdbeb299479e8f4d737e4d227cd0b2bd5d273dc0\"\u003e\u003ccode\u003efdbeb29\u003c/code\u003e\u003c/a\u003e chore: update dev, and ci requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/b66f922bfbdbdd9dd46af18a8964d4fb888756d4\"\u003e\u003ccode\u003eb66f922\u003c/code\u003e\u003c/a\u003e chore: add ft classifier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/f94249d0a2c712f2d03124f4de6b77f5e03aaa96\"\u003e\u003ccode\u003ef94249d\u003c/code\u003e\u003c/a\u003e chore: add test cases for utf_7 recent fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/95c866f6c984bbd043e7e3ed0628aa4f3f8d5a26\"\u003e\u003ccode\u003e95c866f\u003c/code\u003e\u003c/a\u003e chore: bump version to 3.4.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/4f429bb764c7e893f99bb4bceb60856da1baacfb\"\u003e\u003ccode\u003e4f429bb\u003c/code\u003e\u003c/a\u003e chore: bump mypy pre-commit to v1.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/b579cd6cab9bd83aa3fc0ca169d4df022bf4888c\"\u003e\u003ccode\u003eb579cd6\u003c/code\u003e\u003c/a\u003e fix: correctly remove SIG remnant in utf-7 decoded string\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/58bf944a77cc0883fc46a6ee8edac3549fea5d59\"\u003e\u003ccode\u003e58bf944\u003c/code\u003e\u003c/a\u003e :arrow_up: Bump github/codeql-action from 4.32.4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/728\"\u003e#728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/44cf8a1b676a2532a8f1694e62e4f4f98f9132e1\"\u003e\u003ccode\u003e44cf8a1\u003c/code\u003e\u003c/a\u003e :arrow_up: Bump actions/download-artifact from 8.0.0 to 8.0.1 (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/726\"\u003e#726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/362bc20073f737b1ba4ca2f68cffb0c4cc024d20\"\u003e\u003ccode\u003e362bc20\u003c/code\u003e\u003c/a\u003e :arrow_up: Bump docker/setup-qemu-action from 3.7.0 to 4.0.0 (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/725\"\u003e#725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jawah/charset_normalizer/compare/3.4.4...3.4.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.3.1 to 8.3.3\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.3\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.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/click/8.3.3/\"\u003ehttps://pypi.org/project/click/8.3.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-3\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-3\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/30\"\u003ehttps://github.com/pallets/click/milestone/30\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse :func:\u003ccode\u003eshlex.split\u003c/code\u003e to split pager and editor commands into \u003ccode\u003eargv\u003c/code\u003e\nlists for :class:\u003ccode\u003esubprocess.Popen\u003c/code\u003e, removing \u003ccode\u003eshell=True\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/1026\"\u003e#1026\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/1477\"\u003e#1477\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2775\"\u003e#2775\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTypeError\u003c/code\u003e when rendering help for an option whose default value is\nan object that doesn't support equality comparison with strings, such as\n\u003ccode\u003esemver.Version\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3298\"\u003e#3298\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3299\"\u003e#3299\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix pager test pollution under parallel execution by using pytest's\n\u003ccode\u003etmp_path\u003c/code\u003e fixture instead of a shared temporary file path. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3238\"\u003e#3238\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values in a \u003ccode\u003edefault_map\u003c/code\u003e as absent, so they fall\nthrough to the next default source instead of being used as the value.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3224\"\u003e#3224\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3240\"\u003e#3240\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch \u003ccode\u003epdb.Pdb\u003c/code\u003e in \u003ccode\u003eCliRunner\u003c/code\u003e isolation so \u003ccode\u003epdb.set_trace()\u003c/code\u003e,\n\u003ccode\u003ebreakpoint()\u003c/code\u003e, and debuggers subclassing \u003ccode\u003epdb.Pdb\u003c/code\u003e (ipdb, pdbpp) can\ninteract with the real terminal instead of the captured I/O streams.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/654\"\u003e#654\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/824\"\u003e#824\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/843\"\u003e#843\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/951\"\u003e#951\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3235\"\u003e#3235\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd optional randomized parallel test execution using \u003ccode\u003epytest-randomly\u003c/code\u003e and\n\u003ccode\u003epytest-xdist\u003c/code\u003e to detect test pollution and race conditions. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3151\"\u003e#3151\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd contributor documentation for running stress tests, randomized\nparallel tests, and Flask smoke tests. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3151\"\u003e#3151\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3177\"\u003e#3177\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShow custom \u003ccode\u003eshow_default\u003c/code\u003e string in prompts, matching the existing\nhelp text behavior. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2836\"\u003e#2836\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2837\"\u003e#2837\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3165\"\u003e#3165\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3262\"\u003e#3262\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3280\"\u003e#3280\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3328\"\u003e#3328\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003edefault=True\u003c/code\u003e with boolean \u003ccode\u003eflag_value\u003c/code\u003e always returning the\n\u003ccode\u003eflag_value\u003c/code\u003e instead of \u003ccode\u003eTrue\u003c/code\u003e. The \u003ccode\u003edefault=True\u003c/code\u003e to \u003ccode\u003eflag_value\u003c/code\u003e\nsubstitution now only applies to non-boolean flags, where \u003ccode\u003eTrue\u003c/code\u003e acts as a\nsentinel meaning \u0026quot;activate this flag by default\u0026quot;. For boolean flags,\n\u003ccode\u003edefault=True\u003c/code\u003e is returned as a literal value. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3111\"\u003e#3111\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3239\"\u003e#3239\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark \u003ccode\u003emake_default_short_help\u003c/code\u003e as private API. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3189\"\u003e#3189\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3250\"\u003e#3250\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCliRunner\u003c/code\u003e's redirected streams now expose the original file descriptor\nvia \u003ccode\u003efileno()\u003c/code\u003e, so that \u003ccode\u003efaulthandler\u003c/code\u003e, \u003ccode\u003esubprocess\u003c/code\u003e, and other\nC-level consumers no longer crash with \u003ccode\u003eio.UnsupportedOperation\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/2865\"\u003e#2865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange :class:\u003ccode\u003eParameterSource\u003c/code\u003e to an :class:\u003ccode\u003e~enum.IntEnum\u003c/code\u003e and reorder\nits members from most to least explicit, so values can be compared to\ncheck whether a parameter was explicitly provided. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2879\"\u003e#2879\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3248\"\u003e#3248\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.3.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.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.3.2/\"\u003ehttps://pypi.org/project/click/8.3.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-2\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/29\"\u003ehttps://github.com/pallets/click/milestone/29\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.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-04-20\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse :func:\u003ccode\u003eshlex.split\u003c/code\u003e to split pager and editor commands into \u003ccode\u003eargv\u003c/code\u003e\nlists for :class:\u003ccode\u003esubprocess.Popen\u003c/code\u003e, removing \u003ccode\u003eshell=True\u003c/code\u003e.\n:issue:\u003ccode\u003e1026\u003c/code\u003e :pr:\u003ccode\u003e1477\u003c/code\u003e :pr:\u003ccode\u003e2775\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTypeError\u003c/code\u003e when rendering help for an option whose default value is\nan object that doesn't support equality comparison with strings, such as\n\u003ccode\u003esemver.Version\u003c/code\u003e. :issue:\u003ccode\u003e3298\u003c/code\u003e :pr:\u003ccode\u003e3299\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix pager test pollution under parallel execution by using pytest's\n\u003ccode\u003etmp_path\u003c/code\u003e fixture instead of a shared temporary file path. :pr:\u003ccode\u003e3238\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values in a \u003ccode\u003edefault_map\u003c/code\u003e as absent, so they fall\nthrough to the next default source instead of being used as the value.\n:issue:\u003ccode\u003e3224\u003c/code\u003e :pr:\u003ccode\u003e3240\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ePatch \u003ccode\u003epdb.Pdb\u003c/code\u003e in \u003ccode\u003eCliRunner\u003c/code\u003e isolation so \u003ccode\u003epdb.set_trace()\u003c/code\u003e,\n\u003ccode\u003ebreakpoint()\u003c/code\u003e, and debuggers subclassing \u003ccode\u003epdb.Pdb\u003c/code\u003e (ipdb, pdbpp) can\ninteract with the real terminal instead of the captured I/O streams.\n:issue:\u003ccode\u003e654\u003c/code\u003e :issue:\u003ccode\u003e824\u003c/code\u003e :issue:\u003ccode\u003e843\u003c/code\u003e :pr:\u003ccode\u003e951\u003c/code\u003e :pr:\u003ccode\u003e3235\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd optional randomized parallel test execution using \u003ccode\u003epytest-randomly\u003c/code\u003e and\n\u003ccode\u003epytest-xdist\u003c/code\u003e to detect test pollution and race conditions. :pr:\u003ccode\u003e3151\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd contributor documentation for running stress tests, randomized\nparallel tests, and Flask smoke tests. :pr:\u003ccode\u003e3151\u003c/code\u003e :pr:\u003ccode\u003e3177\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eShow custom \u003ccode\u003eshow_default\u003c/code\u003e string in prompts, matching the existing\nhelp text behavior. :issue:\u003ccode\u003e2836\u003c/code\u003e :pr:\u003ccode\u003e2837\u003c/code\u003e :pr:\u003ccode\u003e3165\u003c/code\u003e :pr:\u003ccode\u003e3262\u003c/code\u003e :pr:\u003ccode\u003e3280\u003c/code\u003e\n:pr:\u003ccode\u003e3328\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003edefault=True\u003c/code\u003e with boolean \u003ccode\u003eflag_value\u003c/code\u003e always returning the\n\u003ccode\u003eflag_value\u003c/code\u003e instead of \u003ccode\u003eTrue\u003c/code\u003e. The \u003ccode\u003edefault=True\u003c/code\u003e to \u003ccode\u003eflag_value\u003c/code\u003e\nsubstitution now only applies to non-boolean flags, where \u003ccode\u003eTrue\u003c/code\u003e acts as a\nsentinel meaning \u0026quot;activate this flag by default\u0026quot;. For boolean flags,\n\u003ccode\u003edefault=True\u003c/code\u003e is returned as a literal value. :issue:\u003ccode\u003e3111\u003c/code\u003e :pr:\u003ccode\u003e3239\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark \u003ccode\u003emake_default_short_help\u003c/code\u003e as private API. :issue:\u003ccode\u003e3189\u003c/code\u003e :pr:\u003ccode\u003e3250\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCliRunner\u003c/code\u003e's redirected streams now expose the original file descriptor\nvia \u003ccode\u003efileno()\u003c/code\u003e, so that \u003ccode\u003efaulthandler\u003c/code\u003e, \u003ccode\u003esubprocess\u003c/code\u003e, and other\nC-level consumers no longer crash with \u003ccode\u003eio.UnsupportedOperation\u003c/code\u003e.\n:issue:\u003ccode\u003e2865\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eChange :class:\u003ccode\u003eParameterSource\u003c/code\u003e to an :class:\u003ccode\u003e~enum.IntEnum\u003c/code\u003e and reorder\nits members from most to least explicit, so values can be compared to\ncheck whether a parameter was explicitly provided. :issue:\u003ccode\u003e2879\u003c/code\u003e :pr:\u003ccode\u003e3248\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.3.2\u003c/h2\u003e\n\u003cp\u003eReleased 2026-04-02\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix handling of \u003ccode\u003eflag_value\u003c/code\u003e when \u003ccode\u003eis_flag=False\u003c/code\u003e to allow such options to be\nused without an explicit value. :issue:\u003ccode\u003e3084\u003c/code\u003e :pr:\u003ccode\u003e3152\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when using \u003ccode\u003elookup_default()\u003c/code\u003e.\n:issue:\u003ccode\u003e3136\u003c/code\u003e :pr:\u003ccode\u003e3199\u003c/code\u003e :pr:\u003ccode\u003e3202\u003c/code\u003e :pr:\u003ccode\u003e3209\u003c/code\u003e :pr:\u003ccode\u003e3212\u003c/code\u003e :pr:\u003ccode\u003e3224\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/pallets/click/commit/c06d2d0a6aee6bcc50bd8257be2a4a592f4e75d0\"\u003e\u003ccode\u003ec06d2d0\u003c/code\u003e\u003c/a\u003e Release 8.3.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/f1f191ecd2c790b161187c78e7c88440e9524e5c\"\u003e\u003ccode\u003ef1f191e\u003c/code\u003e\u003c/a\u003e Apply format guidelines to commits since latest 8.3.2 release (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3343\"\u003e#3343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/bb59ba0fd279ca085d1113f0499b6a602ca31081\"\u003e\u003ccode\u003ebb59ba0\u003c/code\u003e\u003c/a\u003e Apply format guidelines to commits since latest 8.3.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/4a352253c9ff013e36d11e4a6820d36d00ff2cd4\"\u003e\u003ccode\u003e4a35225\u003c/code\u003e\u003c/a\u003e Reduce blast-radius of \u003ccode\u003eUNSET\u003c/code\u003e in \u003ccode\u003edefault_map\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3240\"\u003e#3240\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/c07bb936de43fd303f9cfbefe248ab23fd2199c8\"\u003e\u003ccode\u003ec07bb93\u003c/code\u003e\u003c/a\u003e Merge branch 'stable' into unset-in-default-map\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/c7e1ba8448cbcb2cdd9c1c7f4a592e863dcc3995\"\u003e\u003ccode\u003ec7e1ba8\u003c/code\u003e\u003c/a\u003e Reorder \u003ccode\u003eParameterSource\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3248\"\u003e#3248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/76552ff1e8c85837f911fc34037e702ae4327eda\"\u003e\u003ccode\u003e76552ff\u003c/code\u003e\u003c/a\u003e Show default string in prompt (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3328\"\u003e#3328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/ac5cec5fe54e5a691e7bac17f441ce9498e0744c\"\u003e\u003ccode\u003eac5cec5\u003c/code\u003e\u003c/a\u003e Reorder ParameterSource from most to least explicit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/8c452e00e6772931b7071d9316b82b77e5b8f280\"\u003e\u003ccode\u003e8c452e0\u003c/code\u003e\u003c/a\u003e Merge branch 'stable' into show-default-string-in-prompt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/8c95c73bd5ef89eac638f85f1904a104ba4b1a32\"\u003e\u003ccode\u003e8c95c73\u003c/code\u003e\u003c/a\u003e Reconcile default value passing and default activation (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3239\"\u003e#3239\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.3.1...8.3.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 46.0.7 to 47.0.0\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\u003e47.0.0 - 2026-04-24\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Support for Python 3.8 is deprecated and will be removed in the next\n  ``cryptography`` release.\n* **BACKWARDS INCOMPATIBLE:** Support for binary elliptic curves\n  (``SECT*`` classes) has been removed. These curves are rarely used and\n  have additional security considerations that make them undesirable.\n* **BACKWARDS INCOMPATIBLE:** Support for OpenSSL 1.1.x has been removed.\n  OpenSSL 3.0.0 or later is now required. LibreSSL, BoringSSL, and AWS-LC\n  continue to be supported.\n* **BACKWARDS INCOMPATIBLE:** Dropped support for LibreSSL \u0026lt; 4.1.\n* **BACKWARDS INCOMPATIBLE:** Loading keys with unsupported algorithms or\n  keys with unsupported explicit curve encodings now raises\n  :class:`~cryptography.exceptions.UnsupportedAlgorithm` instead of\n  ``ValueError``. This change affects\n  :func:`~cryptography.hazmat.primitives.serialization.load_pem_private_key`,\n  :func:`~cryptography.hazmat.primitives.serialization.load_der_private_key`,\n  :func:`~cryptography.hazmat.primitives.serialization.load_pem_public_key`,\n  :func:`~cryptography.hazmat.primitives.serialization.load_der_public_key`,\n  and :meth:`~cryptography.x509.Certificate.public_key` when called on\n  certificates with unsupported public key algorithms.\n* **BACKWARDS INCOMPATIBLE:** When parsing elliptic curve private keys, we now\n  reject keys that incorrectly encode a private key of the wrong length because\n  such keys are impossible to process in a constant-time manner. We do not\n  believe keys with this problem are in wide use, however we may revert this\n  change based on the feedback we receive.\n* Deprecated passing 64-bit (8-byte) and 128-bit (16-byte) keys to\n  :class:`~cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES`. In a\n  future release, only 192-bit (24-byte) keys will be accepted. Users should\n  expand shorter keys themselves (e.g., for single DES: ``key + key + key``,\n  for two-key: ``key + key[:8]``).\n* Updated the minimum supported Rust version (MSRV) to 1.83.0, from 1.74.0.\n* Support for ``x86_64`` macOS (including publishing wheels) is deprecated\n  and will be removed in the next release. 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 the next release. Users should move to a 64-bit\n  Python installation.\n* ``public_bytes`` and ``private_bytes`` methods on keys now raise\n  ``TypeError`` (instead of ``ValueError``) if an invalid encoding is provided\n  for the given ``format``.\n* Moved :class:`~cryptography.hazmat.decrepit.ciphers.modes.CFB`,\n  :cla...\n\n_Description has been truncated_","html_url":"https://github.com/SatyamKumarCS/Default-Credit-Card-Prediction/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/SatyamKumarCS%2FDefault-Credit-Card-Prediction/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"},{"uuid":"4309660689","node_id":"PR_kwDOA6ecz87Up6IA","number":3502,"state":"closed","title":"requirements: update optuna requirement from \u003c4.9.0,\u003e=3.1.0 to \u003e=4.8.0,\u003c4.9.0","user":"dependabot[bot]","labels":["deps"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-26T01:14:31.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-22T14:21:30.000Z","updated_at":"2026-04-26T01:14:39.000Z","time_to_close":298381,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"requirements: update","packages":[{"name":"optuna","old_version":"\u003c4.9.0,\u003e=3.1.0","new_version":"\u003e=4.8.0,\u003c4.9.0","repository_url":"https://github.com/optuna/optuna"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [optuna](https://github.com/optuna/optuna) 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/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.8.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/73?closed=1\"\u003ev4.8.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eSupport for Constant Liar Strategy to GPSampler\u003c/h2\u003e\n\u003cp\u003eA constant liar strategy for efficient parallelization has been introduced to GPSampler by \u003ca href=\"https://github.com/sawa3030\"\u003e\u003ccode\u003e@​sawa3030\u003c/code\u003e\u003c/a\u003e. The figures (left: v4.7.0, right: v4.8.0) show that the overlap of search points has decreased, and a wider variety of solutions are being explored. The experiment uses \u003ccode\u003en_jobs = 10\u003c/code\u003e and \u003ccode\u003en_trials = 100\u003c/code\u003e. Currently, this feature supports single-objective and unconstrained optimization. Further extensions are coming in v4.9.0.\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003ev4.7.0\u003c/th\u003e\n\u003cth\u003ev4.8.0\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eSHAP-like beeswarm plot visualization\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/yasumorishima\"\u003e\u003ccode\u003e@​yasumorishima\u003c/code\u003e\u003c/a\u003e introduces the new visualization to OptunaHub. Please refer to \u003ca href=\"https://hub.optuna.org/visualization/plot_beeswarm/\"\u003ehttps://hub.optuna.org/visualization/plot_beeswarm/\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch1\u003eNew Features\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Trackio Integration for Optuna (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/259\"\u003eoptuna/optuna-integration#259\u003c/a\u003e, thanks \u003ca href=\"https://github.com/ParagEkbote\"\u003e\u003ccode\u003e@​ParagEkbote\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eAdd constant liar strategy to \u003ccode\u003eGPSampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6430\"\u003e#6430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eValidate artifact_id in FileSystemArtifactStore to prevent path traversal (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6432\"\u003e#6432\u003c/a\u003e, thanks \u003ca href=\"https://github.com/RinZ27\"\u003e\u003ccode\u003e@​RinZ27\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003efix: correct inverted warning message in pareto front plot (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e, thanks \u003ca href=\"https://github.com/aerosta\"\u003e\u003ccode\u003e@​aerosta\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix shared callback state in parallel OptunaSearchCV with LightGBM (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/260\"\u003eoptuna/optuna-integration#260\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Quant-Quasar\"\u003e\u003ccode\u003e@​Quant-Quasar\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix GPSampler crash when torch default device is CUDA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6418\"\u003e#6418\u003c/a\u003e, thanks \u003ca href=\"https://github.com/VedantMadane\"\u003e\u003ccode\u003e@​VedantMadane\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix combination between \u003ccode\u003ePartialFixedSampler\u003c/code\u003e and \u003ccode\u003eTPESampler\u003c/code\u003e with group decomposed search space (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6428\"\u003e#6428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTPESampler\u003c/code\u003e with \u003ccode\u003emultivariate\u003c/code\u003e and \u003ccode\u003econstant_liar\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDocumentation\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd documentation indicating that \u003ccode\u003eWilcoxonPruner\u003c/code\u003e requires \u003ccode\u003escipy\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6477\"\u003e#6477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove version \u0026amp; language selectors in the sidebar of docs (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6482\"\u003e#6482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eExamples\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eApply black 26.1.0 (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/348\"\u003eoptuna/optuna-examples#348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove CI workflow for allennlp since no longer maintained (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/351\"\u003eoptuna/optuna-examples#351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce the frequency of scheduled CI triggers (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/352\"\u003eoptuna/optuna-examples#352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove the scheduled trigger for \u003ccode\u003eaim\u003c/code\u003e CI (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/353\"\u003eoptuna/optuna-examples#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd constraint to \u003ccode\u003etransformers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/355\"\u003eoptuna/optuna-examples#355\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eTests\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/689c62dbfc14f3476c51c14fda2e4f818ed2ee30\"\u003e\u003ccode\u003e689c62d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6509\"\u003e#6509\u003c/a\u003e from y0z/feature/bump-up-release480\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/9e2e0658ee6205c69993cf4204fabe6353249441\"\u003e\u003ccode\u003e9e2e065\u003c/code\u003e\u003c/a\u003e Bump up version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/54fe633c042be32f9a8c90b440e81c05406448d2\"\u003e\u003ccode\u003e54fe633\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6507\"\u003e#6507\u003c/a\u003e from sateeshkumarb/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/8efb8b4ffd749a95610e537a597ccaabde2e97db\"\u003e\u003ccode\u003e8efb8b4\u003c/code\u003e\u003c/a\u003e Move imports used for typecheck under TYPE_CHCKING\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/c0fcd2e4bba33783aa5e61e94be29dfc2cdcac0a\"\u003e\u003ccode\u003ec0fcd2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6506\"\u003e#6506\u003c/a\u003e from acabellom/fix-fstring-file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/087cc9d85e431df96ac54bec1de992fac9260e80\"\u003e\u003ccode\u003e087cc9d\u003c/code\u003e\u003c/a\u003e Replace .format() with f-strings in 002_configurations.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/274f5b906accb795569550164f418dd3f40338c2\"\u003e\u003ccode\u003e274f5b9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e from not522/fix-multivariate-constant_liar\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/ce882f6a4e1b0ecc328373cf989cbb16debdf1f6\"\u003e\u003ccode\u003ece882f6\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6265\"\u003e#6265\u003c/a\u003e from not522/relative-use-cache\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/f9e546d71f3fe515ee0df37ffe49d83f1f294c58\"\u003e\u003ccode\u003ef9e546d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e from aerosta/fix/pareto-front-warning-message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/535215b3890f10b0cd96e6a22aaad58821769c3d\"\u003e\u003ccode\u003e535215b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6502\"\u003e#6502\u003c/a\u003e from nightcityblade/fix/issue-6029-patient-pruner\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/optuna/optuna/compare/v3.1.0...v4.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nYou can trigger a rebase of this PR by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/PrincetonUniversity/PsyNeuLink/pull/3502","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/PrincetonUniversity%2FPsyNeuLink/issues/3502","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3502/packages"},{"uuid":"4254378232","node_id":"PR_kwDOQ_sTS87R-AYc","number":26,"state":"open","title":"deps: bump the python-minor group across 1 directory with 34 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-13T12:01:44.000Z","updated_at":"2026-04-13T12:01:45.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps: bump","group_name":"python-minor","update_count":34,"packages":[{"name":"pandas","old_version":"3.0.0","new_version":"3.0.2","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"scipy","old_version":"1.17.0","new_version":"1.17.1","repository_url":"https://github.com/scipy/scipy"},{"name":"tqdm","old_version":"4.67.1","new_version":"4.67.3","repository_url":"https://github.com/tqdm/tqdm"},{"name":"ipython","old_version":"9.9.0","new_version":"9.12.0","repository_url":"https://github.com/ipython/ipython"},{"name":"plotly","old_version":"6.5.2","new_version":"6.7.0","repository_url":"https://github.com/plotly/plotly.py"},{"name":"pydantic","old_version":"2.12.5","new_version":"2.13.0","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pandera","old_version":"0.29.0","new_version":"0.30.1","repository_url":"https://github.com/pandera-dev/pandera"},{"name":"shap","old_version":"0.49.1","new_version":"0.51.0","repository_url":"https://github.com/shap/shap"},{"name":"optuna","old_version":"4.7.0","new_version":"4.8.0","repository_url":"https://github.com/optuna/optuna"},{"name":"ruff","old_version":"0.15.1","new_version":"0.15.10","repository_url":"https://github.com/astral-sh/ruff"},{"name":"pytest","old_version":"9.0.2","new_version":"9.0.3","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"7.0.0","new_version":"7.1.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"certifi","old_version":"2026.1.4","new_version":"2026.2.25","repository_url":"https://github.com/certifi/python-certifi"},{"name":"charset-normalizer","old_version":"3.4.4","new_version":"3.4.7","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"click","old_version":"8.3.1","new_version":"8.3.2","repository_url":"https://github.com/pallets/click"},{"name":"coverage","old_version":"7.13.2","new_version":"7.13.5","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"flask","old_version":"3.1.2","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"fonttools","old_version":"4.61.1","new_version":"4.62.1","repository_url":"https://github.com/fonttools/fonttools"},{"name":"greenlet","old_version":"3.3.1","new_version":"3.4.0","repository_url":"https://github.com/python-greenlet/greenlet"},{"name":"kiwisolver","old_version":"1.4.9","new_version":"1.5.0","repository_url":"https://github.com/nucleic/kiwi"},{"name":"llvmlite","old_version":"0.46.0","new_version":"0.47.0","repository_url":"https://github.com/numba/llvmlite"},{"name":"narwhals","old_version":"2.15.0","new_version":"2.19.0","repository_url":"https://github.com/narwhals-dev/narwhals"},{"name":"numba","old_version":"0.63.1","new_version":"0.65.0","repository_url":"https://github.com/numba/numba"},{"name":"numpy","old_version":"2.3.5","new_version":"2.4.4","repository_url":"https://github.com/numpy/numpy"},{"name":"nvidia-nccl-cu12","old_version":"2.29.3","new_version":"2.29.7"},{"name":"parso","old_version":"0.8.5","new_version":"0.8.6","repository_url":"https://github.com/davidhalter/parso"},{"name":"pillow","old_version":"12.1.0","new_version":"12.2.0","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"pydantic-core","old_version":"2.41.5","new_version":"2.46.0","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pygments","old_version":"2.19.2","new_version":"2.20.0","repository_url":"https://github.com/pygments/pygments"},{"name":"requests","old_version":"2.32.5","new_version":"2.33.1","repository_url":"https://github.com/psf/requests"},{"name":"sqlalchemy","old_version":"2.0.46","new_version":"2.0.49","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"typeguard","old_version":"4.4.4","new_version":"4.5.1","repository_url":"https://github.com/agronholm/typeguard"},{"name":"wcwidth","old_version":"0.3.1","new_version":"0.6.0","repository_url":"https://github.com/jquast/wcwidth"},{"name":"werkzeug","old_version":"3.1.5","new_version":"3.1.8","repository_url":"https://github.com/pallets/werkzeug"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor group with 34 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pandas](https://github.com/pandas-dev/pandas) | `3.0.0` | `3.0.2` |\n| [scipy](https://github.com/scipy/scipy) | `1.17.0` | `1.17.1` |\n| [tqdm](https://github.com/tqdm/tqdm) | `4.67.1` | `4.67.3` |\n| [ipython](https://github.com/ipython/ipython) | `9.9.0` | `9.12.0` |\n| [plotly](https://github.com/plotly/plotly.py) | `6.5.2` | `6.7.0` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.12.5` | `2.13.0` |\n| [pandera](https://github.com/pandera-dev/pandera) | `0.29.0` | `0.30.1` |\n| [shap](https://github.com/shap/shap) | `0.49.1` | `0.51.0` |\n| [optuna](https://github.com/optuna/optuna) | `4.7.0` | `4.8.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.1` | `0.15.10` |\n| [pytest](https://github.com/pytest-dev/pytest) | `9.0.2` | `9.0.3` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `7.0.0` | `7.1.0` |\n| [certifi](https://github.com/certifi/python-certifi) | `2026.1.4` | `2026.2.25` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.4` | `3.4.7` |\n| [click](https://github.com/pallets/click) | `8.3.1` | `8.3.2` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.13.2` | `7.13.5` |\n| [flask](https://github.com/pallets/flask) | `3.1.2` | `3.1.3` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.61.1` | `4.62.1` |\n| [greenlet](https://github.com/python-greenlet/greenlet) | `3.3.1` | `3.4.0` |\n| [kiwisolver](https://github.com/nucleic/kiwi) | `1.4.9` | `1.5.0` |\n| [llvmlite](https://github.com/numba/llvmlite) | `0.46.0` | `0.47.0` |\n| [narwhals](https://github.com/narwhals-dev/narwhals) | `2.15.0` | `2.19.0` |\n| [numba](https://github.com/numba/numba) | `0.63.1` | `0.65.0` |\n| [numpy](https://github.com/numpy/numpy) | `2.3.5` | `2.4.4` |\n| [nvidia-nccl-cu12](https://developer.nvidia.com/cuda-zone) | `2.29.3` | `2.29.7` |\n| [parso](https://github.com/davidhalter/parso) | `0.8.5` | `0.8.6` |\n| [pillow](https://github.com/python-pillow/Pillow) | `12.1.0` | `12.2.0` |\n| [pydantic-core](https://github.com/pydantic/pydantic) | `2.41.5` | `2.46.0` |\n| [pygments](https://github.com/pygments/pygments) | `2.19.2` | `2.20.0` |\n| [requests](https://github.com/psf/requests) | `2.32.5` | `2.33.1` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.46` | `2.0.49` |\n| [typeguard](https://github.com/agronholm/typeguard) | `4.4.4` | `4.5.1` |\n| [wcwidth](https://github.com/jquast/wcwidth) | `0.3.1` | `0.6.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `3.1.5` | `3.1.8` |\n\n\nUpdates `pandas` from 3.0.0 to 3.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pandas-dev/pandas/releases\"\u003epandas's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epandas 3.0.2\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 3.0.2.\nThis is a patch release in the 3.0.x series and includes some regression fixes and bug fixes. We recommend that all users of the 3.0.x series upgrade to this version.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/docs/dev/whatsnew/v3.0.2.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\u003c/p\u003e\n\u003cp\u003ePandas 3.0 supports Python 3.11 and higher.\nThe release can be installed from PyPI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython -m pip install --upgrade pandas==3.0.*\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr from conda-forge\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install -c conda-forge pandas=3.0\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\u003c/p\u003e\n\u003ch2\u003epandas 3.0.1\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 3.0.1.\nThis is a patch release in the 3.0.x series and includes some regression fixes and bug fixes. We recommend that all users of the 3.0.x series upgrade to this version.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/docs/dev/whatsnew/v3.0.1.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\u003c/p\u003e\n\u003cp\u003ePandas 3.0.0 supports Python 3.11 and higher.\nThe release can be installed from PyPI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython -m pip install --upgrade pandas==3.0.*\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr from conda-forge\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install -c conda-forge pandas=3.0\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/ab90747e3dae0e69b1bdbf083820b8075689b34b\"\u003e\u003ccode\u003eab90747\u003c/code\u003e\u003c/a\u003e RLS: 3.0.2 (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64934\"\u003e#64934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/6f270137a27f8de4bd1afd7d71220e0760429750\"\u003e\u003ccode\u003e6f27013\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64931\"\u003e#64931\u003c/a\u003e on branch 3.0.x (DOC/BLD: temporary disable upload of docs...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/48ddc60d6efe8d942dbe1495dea725a9d7db15ef\"\u003e\u003ccode\u003e48ddc60\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64664\"\u003e#64664\u003c/a\u003e on branch 3.0.x (BUG: DataFrame.sum() crashes on empty Dat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/8774488df19d0859ddc05a24210783b66da27ef7\"\u003e\u003ccode\u003e8774488\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] PERF: fix slow python loop in validation for ArrowStringArra...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/33af6cc04ed6331c23a49655c4c7bb8f90351da3\"\u003e\u003ccode\u003e33af6cc\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64133\"\u003e#64133\u003c/a\u003e on branch 3.0.x (BUG: str.find returns byte offset instead...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/4ef49d815aae99b6ba5627ab0a54ba0819336652\"\u003e\u003ccode\u003e4ef49d8\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: fix convert_dtypes dropping values from sliced mixed-dt...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/0668f3451120e5552cdc8cf5d85f6d1238ce4e12\"\u003e\u003ccode\u003e0668f34\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: Fix HDFStore.put with StringDtype columns and compressi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/23f2f442ea1af6deddfefef2a4a1e4cb44328c3d\"\u003e\u003ccode\u003e23f2f44\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: Suppress unnecessary RuntimeWarning in to_datetime with...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/83ba804de35ec98798d31474d044cff7666bebd6\"\u003e\u003ccode\u003e83ba804\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64886\"\u003e#64886\u003c/a\u003e: BUG: Compute Variance of Complex Numbers Correctly (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64892\"\u003e#64892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/bb5ca1a7a96130fa0e8e2a3987c051e4473f7792\"\u003e\u003ccode\u003ebb5ca1a\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64386\"\u003e#64386\u003c/a\u003e on branch 3.0.x (BUG: fix sort_index AssertionError with R...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandas-dev/pandas/compare/v3.0.0...v3.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `scipy` from 1.17.0 to 1.17.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scipy/scipy/releases\"\u003escipy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eSciPy 1.17.1 Release Notes\u003c/h1\u003e\n\u003cp\u003eSciPy \u003ccode\u003e1.17.1\u003c/code\u003e is a bug-fix release with no new features compared to \u003ccode\u003e1.17.0\u003c/code\u003e.\u003c/p\u003e\n\u003ch1\u003eAuthors\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eName (commits)\u003c/li\u003e\n\u003cli\u003eEvgeni Burovski (5)\u003c/li\u003e\n\u003cli\u003eLucas Colley (1)\u003c/li\u003e\n\u003cli\u003eChristoph Gohlke (1)\u003c/li\u003e\n\u003cli\u003eRalf Gommers (6)\u003c/li\u003e\n\u003cli\u003eMatt Haberland (5)\u003c/li\u003e\n\u003cli\u003eMatthias Koeppe (1)\u003c/li\u003e\n\u003cli\u003eNick ODell (1)\u003c/li\u003e\n\u003cli\u003eIlhan Polat (10)\u003c/li\u003e\n\u003cli\u003eTyler Reddy (44)\u003c/li\u003e\n\u003cli\u003eMartin Schuck (3)\u003c/li\u003e\n\u003cli\u003eDan Schult (3)\u003c/li\u003e\n\u003cli\u003estratakis (1) +\u003c/li\u003e\n\u003cli\u003eਗਗਨਦੀਪ ਸਿੰਘ (Gagandeep Singh) (1)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eA total of 13 people contributed to this release.\nPeople with a \u0026quot;+\u0026quot; by their names contributed a patch for the first time.\nThis list of names is automatically generated, and may not be fully complete.\u003c/p\u003e\n\u003cp\u003eComplete issue list, PR list, and release asset hashes are available in the associated \u003ca href=\"https://github.com/scipy/scipy/releases/download/v1.17.1/README.txt\"\u003e\u003ccode\u003eREADME.txt\u003c/code\u003e\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/527eb7fd7953a1de068f94bf8b322f249b9405ae\"\u003e\u003ccode\u003e527eb7f\u003c/code\u003e\u003c/a\u003e REL: 1.17.1 release commit [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/f11663bf044f1cb5a0112a28ac238f902ae36eea\"\u003e\u003ccode\u003ef11663b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scipy/scipy/issues/24584\"\u003e#24584\u003c/a\u003e from tylerjereddy/treddy_prep_1.17.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/2c49e68b634d2657380ca7b65207c6122e83cb72\"\u003e\u003ccode\u003e2c49e68\u003c/code\u003e\u003c/a\u003e DOC: PR 24584 revisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/400fa15ed6f9fece4c3848e9eade0e7d5e5aece0\"\u003e\u003ccode\u003e400fa15\u003c/code\u003e\u003c/a\u003e safely convert index dtypes to intc for csgraph and superLU\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/8c704044ab6f8f3e94295f354dbadfcab9139837\"\u003e\u003ccode\u003e8c70404\u003c/code\u003e\u003c/a\u003e MAINT: PR 24584 revisions [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/6dda8c13c534a61bc56c7b11bb5841efbd37d9dd\"\u003e\u003ccode\u003e6dda8c1\u003c/code\u003e\u003c/a\u003e BUG: PR 24584 revisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/4a187e59ea9cde1f79b4fae9dbd8177adcf0ddf3\"\u003e\u003ccode\u003e4a187e5\u003c/code\u003e\u003c/a\u003e DOC: PR 24584 revisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/463ee9f72a5f1afe3363e86344a55eea1c1ba477\"\u003e\u003ccode\u003e463ee9f\u003c/code\u003e\u003c/a\u003e ENH: linalg/inv: re-enable overwrite_a for 2D inputs (\u003ca href=\"https://redirect.github.com/scipy/scipy/issues/24442\"\u003e#24442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/df746eed5eae0243969fd8de07770c4ace1dc65c\"\u003e\u003ccode\u003edf746ee\u003c/code\u003e\u003c/a\u003e BUG: linalg: restore dtypes in inv, solve, det\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/246bfeecbe56200ae4e265a70e06ccc64daee9c2\"\u003e\u003ccode\u003e246bfee\u003c/code\u003e\u003c/a\u003e MAINT:optimize: Enable multi-phase init to DIRECT\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/scipy/scipy/compare/v1.17.0...v1.17.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tqdm` from 4.67.1 to 4.67.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tqdm/tqdm/releases\"\u003etqdm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etqdm v4.67.3 stable\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix py3.7 dependencies (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1706\"\u003e#1706\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1705\"\u003e#1705\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etqdm v4.67.2 stable\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport \u003ccode\u003epandas\u0026gt;=3\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1703\"\u003e#1703\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1701\"\u003e#1701\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1650\"\u003e#1650\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1700\"\u003e#1700\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix \u003ccode\u003eformat_interval\u003c/code\u003e for negative numbers (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1703\"\u003e#1703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emisc linting\u003c/li\u003e\n\u003cli\u003eframework updates (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1704\"\u003e#1704\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003ebump CI workflow \u0026amp; \u003ccode\u003epre-commit\u003c/code\u003e dependencies\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003epyupgrade\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eadd py3.13 support\u003c/li\u003e\n\u003cli\u003efix py3.7 tests\u003c/li\u003e\n\u003cli\u003eupdate \u003ccode\u003esetuptools-scm\u003c/code\u003e usage\u003c/li\u003e\n\u003cli\u003esupport auto-dedented docstrings when building docs in py3.13\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003etests: relax flaky benchmarks\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/75bdb6c379bcfc6c592b6342dc791a092b5d6ae0\"\u003e\u003ccode\u003e75bdb6c\u003c/code\u003e\u003c/a\u003e fix py3.7 compat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/09a863bf4658f19a911eb7d3fa4f9e4eb0b33496\"\u003e\u003ccode\u003e09a863b\u003c/code\u003e\u003c/a\u003e bump version, merge pull request \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1704\"\u003e#1704\u003c/a\u003e from tqdm/devel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/33d24cdbd4bd958cdc6cecbbcc903b52f8c37a05\"\u003e\u003ccode\u003e33d24cd\u003c/code\u003e\u003c/a\u003e update pyproject syntax\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/70b912484824f130be0506c2e139a1f764751fac\"\u003e\u003ccode\u003e70b9124\u003c/code\u003e\u003c/a\u003e add py3.13 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/a74d8f8d97d2f77937e09a32a9e1975e167261d6\"\u003e\u003ccode\u003ea74d8f8\u003c/code\u003e\u003c/a\u003e drop _dist_ver\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/14d72e2c18ba34363d629a43794a47513a9aa368\"\u003e\u003ccode\u003e14d72e2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1703\"\u003e#1703\u003c/a\u003e from wingding12/fix-pandas-3.0-and-negative-interval\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/a69dac84b3d2e7ab23dbfcccae29b28a753ee5eb\"\u003e\u003ccode\u003ea69dac8\u003c/code\u003e\u003c/a\u003e fix dedented docstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/a986d228405324ca422050e4787118c187cb870f\"\u003e\u003ccode\u003ea986d22\u003c/code\u003e\u003c/a\u003e tests: fix pandas deprecation warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/bb7aa4ddb706b9d99b72a811eb62ea35553ff1e2\"\u003e\u003ccode\u003ebb7aa4d\u003c/code\u003e\u003c/a\u003e tests: fix pandas deprecated applymap\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/0647db1c7480a21eb08ba214b0756d232e079e3a\"\u003e\u003ccode\u003e0647db1\u003c/code\u003e\u003c/a\u003e misc tidy\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tqdm/tqdm/compare/v4.67.1...v4.67.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ipython` from 9.9.0 to 9.12.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/d9c6e314c3f31cb624cd443448e9094fdd49a1eb\"\u003e\u003ccode\u003ed9c6e31\u003c/code\u003e\u003c/a\u003e release 9.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/4c560d21ec7d6f72d2f150400fdab010790c81d7\"\u003e\u003ccode\u003e4c560d2\u003c/code\u003e\u003c/a\u003e security note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/bf954e4665168eeac39626164d76a646b683eaeb\"\u003e\u003ccode\u003ebf954e4\u003c/code\u003e\u003c/a\u003e Add release notes for 9.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/bfbdaaf71efae1d70ededaa0c0375400d7692d29\"\u003e\u003ccode\u003ebfbdaaf\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'ghsa/windows-programdata'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/8aae9a39bd6b44d4a798540a8d4863f73593ff57\"\u003e\u003ccode\u003e8aae9a3\u003c/code\u003e\u003c/a\u003e strip ansi for comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/e1aadc2c607df59f4d7313c60257ef9d43a46d7a\"\u003e\u003ccode\u003ee1aadc2\u003c/code\u003e\u003c/a\u003e fix test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/f48986a01e14eaed3504c474725e98700deae298\"\u003e\u003ccode\u003ef48986a\u003c/code\u003e\u003c/a\u003e fix-test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/d9b5285f5cb06aba35d4c3842cee7d2795afed7c\"\u003e\u003ccode\u003ed9b5285\u003c/code\u003e\u003c/a\u003e try to group tb frames\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/323552ea59fab72dcb36e4960caaffc18d3c5dae\"\u003e\u003ccode\u003e323552e\u003c/code\u003e\u003c/a\u003e Interleave fast and slow traceback path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/22cd33275bfccae3666f9f54d7f90fab924e517b\"\u003e\u003ccode\u003e22cd332\u003c/code\u003e\u003c/a\u003e Fix missing space in pdb chained exceptions warning message\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ipython/ipython/compare/9.9.0...9.12.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.5.2 to 6.7.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.7.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003efacet_row\u003c/code\u003e support to \u003ccode\u003epx.imshow\u003c/code\u003e for creating subplots along an additional dimension [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5445\"\u003e#5445\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/FBumann\"\u003e\u003ccode\u003e@​FBumann\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\u003eUpdate \u003ccode\u003enumpy.percentile\u003c/code\u003e syntax to stop using deprecated alias [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5483\"\u003e#5483\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/Mr-Neutr0n\"\u003e\u003ccode\u003e@​Mr-Neutr0n\u003c/code\u003e\u003c/a\u003e for the contribution!\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003enumpy\u003c/code\u003e with a version less than 1.22 is no longer supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eHandle empty \u003ccode\u003epx.histogram\u003c/code\u003e by skipping \u003ccode\u003eNone\u003c/code\u003e label in hover template [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5535\"\u003e#5535\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/tysoncung\"\u003e\u003ccode\u003e@​tysoncung\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate plotly.js from version 3.4.0 to version 3.5.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.5.0\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5565\"\u003e#5565\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ehoveranywhere\u003c/code\u003e and \u003ccode\u003eclickanywhere\u003c/code\u003e layout attributes to enable emitting hover and click events anywhere in the plot area, not just over traces [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7707\"\u003e#7707\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003edisplayNotifier\u003c/code\u003e configuration property to set the display of notifier in the top right area of the viewport [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7730\"\u003e#7730\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate USA location lookup for \u003ccode\u003escattergeo\u003c/code\u003e and \u003ccode\u003echoropleth\u003c/code\u003e traces to use both location names and abbreviations [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7731\"\u003e#7731\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.6.0\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove unneeded \u003ccode\u003etype=\u0026quot;text/javascript\u0026quot;\u003c/code\u003e attribute from \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e tag [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5454\"\u003e#5454\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/hannob\"\u003e\u003ccode\u003e@​hannob\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eRemove global warning format side effect [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5481\"\u003e#5481\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/emmanuel-ferdman\"\u003e\u003ccode\u003e@​emmanuel-ferdman\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eFix spurious engine deprecation warning in write_image [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5517\"\u003e#5517\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/mosh3eb\"\u003e\u003ccode\u003e@​mosh3eb\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate plotly.js from version 3.3.1 to version 3.4.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.4.0\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5527\"\u003e#5527\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd support for clicking legend titles to toggle visibility of all traces in legend [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7698\"\u003e#7698\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for shapes to reference multiple axes [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7666\"\u003e#7666\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for dashed marker lines in scatter plots [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7673\"\u003e#7673\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eIncrease axis autorange when bar charts have outside text labels, to avoid labels being clipped [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7675\"\u003e#7675\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/plotly/plotly.py/compare/v6.5.2...v6.6.0\"\u003ehttps://github.com/plotly/plotly.py/compare/v6.5.2...v6.6.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/plotly/plotly.py/blob/main/CHANGELOG.md\"\u003eplotly's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[6.7.0] - 2026-04-09\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003efacet_row\u003c/code\u003e support to \u003ccode\u003epx.imshow\u003c/code\u003e for creating subplots along an additional dimension [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5445\"\u003e#5445\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/FBumann\"\u003e\u003ccode\u003e@​FBumann\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\u003eUpdate \u003ccode\u003enumpy.percentile\u003c/code\u003e syntax to stop using deprecated alias [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5483\"\u003e#5483\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/Mr-Neutr0n\"\u003e\u003ccode\u003e@​Mr-Neutr0n\u003c/code\u003e\u003c/a\u003e for the contribution!\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003enumpy\u003c/code\u003e with a version less than 1.22 is no longer supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eHandle empty \u003ccode\u003epx.histogram\u003c/code\u003e by skipping \u003ccode\u003eNone\u003c/code\u003e label in hover template [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5535\"\u003e#5535\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/tysoncung\"\u003e\u003ccode\u003e@​tysoncung\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate plotly.js from version 3.4.0 to version 3.5.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.5.0\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5565\"\u003e#5565\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ehoveranywhere\u003c/code\u003e and \u003ccode\u003eclickanywhere\u003c/code\u003e layout attributes to enable emitting hover and click events anywhere in the plot area, not just over traces [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7707\"\u003e#7707\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003edisplayNotifier\u003c/code\u003e configuration property to set the display of notifier in the top right area of the viewport [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7730\"\u003e#7730\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate USA location lookup for \u003ccode\u003escattergeo\u003c/code\u003e and \u003ccode\u003echoropleth\u003c/code\u003e traces to use both location names and abbreviations [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7731\"\u003e#7731\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.6.0] - 2026-03-02\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove unneeded \u003ccode\u003etype=\u0026quot;text/javascript\u0026quot;\u003c/code\u003e attribute from \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e tag [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5454\"\u003e#5454\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/hannob\"\u003e\u003ccode\u003e@​hannob\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eRemove global warning format side effect [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5481\"\u003e#5481\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/emmanuel-ferdman\"\u003e\u003ccode\u003e@​emmanuel-ferdman\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eFix spurious engine deprecation warning in write_image [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5517\"\u003e#5517\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/mosh3eb\"\u003e\u003ccode\u003e@​mosh3eb\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate plotly.js from version 3.3.1 to version 3.4.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.4.0\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5527\"\u003e#5527\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd support for clicking legend titles to toggle visibility of all traces in legend [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7698\"\u003e#7698\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for shapes to reference multiple axes [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7666\"\u003e#7666\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for dashed marker lines in scatter plots [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7673\"\u003e#7673\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eIncrease axis autorange when bar charts have outside text labels, to avoid labels being clipped [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7675\"\u003e#7675\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/1a2065a6ac1eabf8c3125bcb735fbc04d7cd8441\"\u003e\u003ccode\u003e1a2065a\u003c/code\u003e\u003c/a\u003e Add missing attributions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/8422e175d40bb24277c2ab65db91fab2e2c60c20\"\u003e\u003ccode\u003e8422e17\u003c/code\u003e\u003c/a\u003e Add missing octothorpes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/fa9116fd56cff6377a40c76b77b538fbe4931751\"\u003e\u003ccode\u003efa9116f\u003c/code\u003e\u003c/a\u003e Update Jupyter Lab extension files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/c771ad5c15d0b0773171d212d1b79836616076f1\"\u003e\u003ccode\u003ec771ad5\u003c/code\u003e\u003c/a\u003e Version changes for v6.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/067b95421c00a03023b43b6faca8112652b26379\"\u003e\u003ccode\u003e067b954\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5565\"\u003e#5565\u003c/a\u003e from plotly/cam/update-plotly.js-v3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/1b7de492ead91eb28bfa3bd9208078ff453a1657\"\u003e\u003ccode\u003e1b7de49\u003c/code\u003e\u003c/a\u003e Update Jupyter support files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/d605d3e9978928d111b3e2b5a10c70810b44a10d\"\u003e\u003ccode\u003ed605d3e\u003c/code\u003e\u003c/a\u003e chore: Update plotly.js to v3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/600f86527341bc5f1809725e2831d846c3e054b4\"\u003e\u003ccode\u003e600f865\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5541\"\u003e#5541\u003c/a\u003e from plotly/migrate-to-gh-actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/10c7c5611ca04639313674cca3814f742cac523d\"\u003e\u003ccode\u003e10c7c56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5518\"\u003e#5518\u003c/a\u003e from mosh3eb/fix/broken-license-link-readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/ea813dd062be4918dc35944fc62226d809e9fc65\"\u003e\u003ccode\u003eea813dd\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into fix/broken-license-link-readme\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/plotly/plotly.py/compare/v6.5.2...v6.7.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.12.5 to 2.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.0 2026-04-13\u003c/h2\u003e\n\u003ch2\u003ev2.13.0 (2026-04-13)\u003c/h2\u003e\n\u003cp\u003eThe highlights of the v2.13 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-13-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.13/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e) are also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release contains the updated \u003ccode\u003epydantic.v1\u003c/code\u003e namespace, matching version 1.10.26 which includes support for Python 3.14.\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eSee the beta releases for all changes sinces 2.12.\u003c/p\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd zizmor for GitHub Actions workflow linting by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13039\"\u003e#13039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate jiter to v0.14.0 to fix a segmentation fault on musl Linux by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13064\"\u003e#13064\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAllow default factories of private attributes to take validated model data by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13013\"\u003e#13013\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eWarn when serializing fixed length tuples with too few items by \u003ca href=\"https://github.com/arvindsaripalli\"\u003e\u003ccode\u003e@​arvindsaripalli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13016\"\u003e#13016\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eChange type of \u003ccode\u003eAny\u003c/code\u003e when synthesizing \u003ccode\u003e_build_sources\u003c/code\u003e for  \u003ccode\u003eBaseSettings.__init__()\u003c/code\u003e signature in the mypy plugin by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13049\"\u003e#13049\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix model equality when using runtime \u003ccode\u003eextra\u003c/code\u003e configuration by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13062\"\u003e#13062\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arvindsaripalli\"\u003e\u003ccode\u003e@​arvindsaripalli\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13016\"\u003e#13016\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.0...v2.13.0\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.0...v2.13.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.0b3 2026-03-31\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd riscv64 build target for manylinux by \u003ca href=\"https://github.com/boosterl\"\u003e\u003ccode\u003e@​boosterl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12723\"\u003e#12723\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eascii_only\u003c/code\u003e option to \u003ccode\u003eStringConstraints\u003c/code\u003e by \u003ca href=\"https://github.com/ai-man-codes\"\u003e\u003ccode\u003e@​ai-man-codes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12907\"\u003e#12907\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eexclude_if\u003c/code\u003e in computed fields by \u003ca href=\"https://github.com/andresliszt\"\u003e\u003ccode\u003e@​andresliszt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12748\"\u003e#12748\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePush down constraints in unions involving \u003ccode\u003eMISSING\u003c/code\u003e sentinel by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12908\"\u003e#12908\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.0 (2026-04-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.0\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe highlights of the v2.13 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-13-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.13/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e)\nare also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release contains the updated \u003ccode\u003epydantic.v1\u003c/code\u003e namespace, matching version 1.10.26 which includes support for Python 3.14.\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eSee the beta releases for all changes sinces 2.12.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAllow default factories of private attributes to take validated model data by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13013\"\u003e#13013\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eWarn when serializing fixed length tuples with too few items by \u003ca href=\"https://github.com/arvindsaripalli\"\u003e\u003ccode\u003e@​arvindsaripalli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13016\"\u003e#13016\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eChange type of \u003ccode\u003eAny\u003c/code\u003e when synthesizing \u003ccode\u003e_build_sources\u003c/code\u003e for  \u003ccode\u003eBaseSettings.__init__()\u003c/code\u003e signature in the mypy plugin by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13049\"\u003e#13049\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix model equality when using runtime \u003ccode\u003eextra\u003c/code\u003e configuration by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13062\"\u003e#13062\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd zizmor for GitHub Actions workflow linting by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13039\"\u003e#13039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate jiter to v0.14.0 to fix a segmentation fault on musl Linux by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13064\"\u003e#13064\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arvindsaripalli\"\u003e\u003ccode\u003e@​arvindsaripalli\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13016\"\u003e#13016\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.0b3 (2026-03-31)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.0b3\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eascii_only\u003c/code\u003e option to \u003ccode\u003eStringConstraints\u003c/code\u003e by \u003ca href=\"https://github.com/ai-man-codes\"\u003e\u003ccode\u003e@​ai-man-codes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12907\"\u003e#12907\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eexclude_if\u003c/code\u003e in computed fields by \u003ca href=\"https://github.com/andresliszt\"\u003e\u003ccode\u003e@​andresliszt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12748\"\u003e#12748\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePush down constraints in unions involving \u003ccode\u003eMISSING\u003c/code\u003e sentinel by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12908\"\u003e#12908\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/46bf4fa648af3a1fbf4603a37f210e9d9c618357\"\u003e\u003ccode\u003e46bf4fa\u003c/code\u003e\u003c/a\u003e Fix Pydantic release workflow (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13067\"\u003e#13067\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/1b359edab09c623464d23c6fd2503ae5ff276d43\"\u003e\u003ccode\u003e1b359ed\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13065\"\u003e#13065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b1bf19445d8ac144a7a0e82674d2d87eebab6c18\"\u003e\u003ccode\u003eb1bf194\u003c/code\u003e\u003c/a\u003e Fix model equality when using runtime \u003ccode\u003eextra\u003c/code\u003e configuration (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13062\"\u003e#13062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/17a35e371bdff348c0690651d324c91fc7c9ff9e\"\u003e\u003ccode\u003e17a35e3\u003c/code\u003e\u003c/a\u003e Update jiter to v0.14.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13064\"\u003e#13064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/feea402b23fa23774669908c4e08a61ba1e4238e\"\u003e\u003ccode\u003efeea402\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003esimulation\u003c/code\u003e mode in Codspeed CI (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13063\"\u003e#13063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/671c9b0d4d3f9b2f1b95ca32ac85cb69e824e0bc\"\u003e\u003ccode\u003e671c9b0\u003c/code\u003e\u003c/a\u003e Add basic benchmarks for model equality (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13061\"\u003e#13061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/d17d71e00a35f190b27321aa6f8f2a03139c00b8\"\u003e\u003ccode\u003ed17d71e\u003c/code\u003e\u003c/a\u003e Bump cryptography from 46.0.6 to 46.0.7 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13056\"\u003e#13056\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/919d61ac419af5151b673a90b65c9a12631091cf\"\u003e\u003ccode\u003e919d61a\u003c/code\u003e\u003c/a\u003e 👥 Update Pydantic People (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13059\"\u003e#13059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/e7cf5dcb939ea98511e669b647c0273667a1b08a\"\u003e\u003ccode\u003ee7cf5dc\u003c/code\u003e\u003c/a\u003e Fix people workflow (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13047\"\u003e#13047\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/2a806ad09b984fcc43568191aba5d965350995a0\"\u003e\u003ccode\u003e2a806ad\u003c/code\u003e\u003c/a\u003e Add regression test for \u003ccode\u003eMISSING\u003c/code\u003e sentinel serialization with subclasses (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13\"\u003e#13\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.5...v2.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pandera` from 0.29.0 to 0.30.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pandera-dev/pandera/releases\"\u003epandera's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.30.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor Pandera accessors to use schema registry for managing schemas by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2241\"\u003eunionai-oss/pandera#2241\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epolars: support instance types by \u003ca href=\"https://github.com/paramsehrdl\"\u003e\u003ccode\u003e@​paramsehrdl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2239\"\u003eunionai-oss/pandera#2239\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/paramsehrdl\"\u003e\u003ccode\u003e@​paramsehrdl\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2239\"\u003eunionai-oss/pandera#2239\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/unionai-oss/pandera/compare/v0.30.0...v0.30.1\"\u003ehttps://github.com/unionai-oss/pandera/compare/v0.30.0...v0.30.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.30.0: Support Pandas \u0026gt;=3 🐼\u003c/h2\u003e\n\u003ch1\u003e⭐️ Highlight\u003c/h1\u003e\n\u003cp\u003ePandera now supports Pandas \u0026gt;= 3!\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport pandas 3.0 by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2214\"\u003eunionai-oss/pandera#2214\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003epre-commit\u003c/code\u003e with \u003ccode\u003eprek\u003c/code\u003e and fix existing violations by \u003ca href=\"https://github.com/Dev-iL\"\u003e\u003ccode\u003e@​Dev-iL\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2225\"\u003eunionai-oss/pandera#2225\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove vestigial \u003ccode\u003eordering\u003c/code\u003e parameter from polars \u003ccode\u003eCategorical\u003c/code\u003e by \u003ca href=\"https://github.com/Dev-iL\"\u003e\u003ccode\u003e@​Dev-iL\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2226\"\u003eunionai-oss/pandera#2226\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd AGENTS.md by \u003ca href=\"https://github.com/Dev-iL\"\u003e\u003ccode\u003e@​Dev-iL\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2224\"\u003eunionai-oss/pandera#2224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix optional nested validation by \u003ca href=\"https://github.com/amerberg\"\u003e\u003ccode\u003e@​amerberg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2218\"\u003eunionai-oss/pandera#2218\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[🐼 pandas 3] change default string to pandas-native string by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2229\"\u003eunionai-oss/pandera#2229\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor empty DataFrame creation in DataFrameModel to eliminate deep copy by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2230\"\u003eunionai-oss/pandera#2230\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eimplement PydanticModel for polars by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2231\"\u003eunionai-oss/pandera#2231\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epolars column regex reports column name by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2233\"\u003eunionai-oss/pandera#2233\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix bug in custom parser, built-in check, drop invalid rows by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2234\"\u003eunionai-oss/pandera#2234\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eunpin geopandas by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2236\"\u003eunionai-oss/pandera#2236\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix pandas docs reference in conf.py by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2237\"\u003eunionai-oss/pandera#2237\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/Dev-iL\"\u003e\u003ccode\u003e@​Dev-iL\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2225\"\u003eunionai-oss/pandera#2225\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/unionai-oss/pandera/compare/v0.29.0...v0.30.0\"\u003ehttps://github.com/unionai-oss/pandera/compare/v0.29.0...v0.30.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/unionai-oss/pandera/commit/85a8af4bf37d7cf366cda926859638494435ab02\"\u003e\u003ccode\u003e85a8af4\u003c/code\u003e\u003c/a\u003e polars: support instance types (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2239\"\u003e#2239\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/00f9e70d5b8e8b9d3bc52fd662121aacf387e4fb\"\u003e\u003ccode\u003e00f9e70\u003c/code\u003e\u003c/a\u003e Refactor Pandera accessors to use schema registry for managing schemas (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2241\"\u003e#2241\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/e7e0e65879c32b36c3533a498c96bb5be2a3ee88\"\u003e\u003ccode\u003ee7e0e65\u003c/code\u003e\u003c/a\u003e fix pandas docs reference in conf.py (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2237\"\u003e#2237\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/61b1f90cf0283465d6487328ca3457439c11859f\"\u003e\u003ccode\u003e61b1f90\u003c/code\u003e\u003c/a\u003e unpin geopandas (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2236\"\u003e#2236\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/96e4f9f17666f4b2eccf88ab68af25f9848e6323\"\u003e\u003ccode\u003e96e4f9f\u003c/code\u003e\u003c/a\u003e fix bug in custom parser, built-in check, drop invalid rows (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2234\"\u003e#2234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/1be68563610336e08c3f8b2db224fb4d737135a5\"\u003e\u003ccode\u003e1be6856\u003c/code\u003e\u003c/a\u003e polars column regex reports column name (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2233\"\u003e#2233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/2aee13dcee12f5cc2e2467caaaa20ab158588e0f\"\u003e\u003ccode\u003e2aee13d\u003c/code\u003e\u003c/a\u003e implement PydanticModel for polars (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2231\"\u003e#2231\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/7492a0084f7d906085346a29fa3289a1da7c4734\"\u003e\u003ccode\u003e7492a00\u003c/code\u003e\u003c/a\u003e Refactor empty DataFrame creation in DataFrameModel to eliminate deepcopy and...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/766eddce54f00b562ae014889321b05f7574432c\"\u003e\u003ccode\u003e766eddc\u003c/code\u003e\u003c/a\u003e [🐼 pandas 3] change default string to pandas-native string (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2229\"\u003e#2229\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/6900659ca7bc10544e0088b2b1d21b03995b641b\"\u003e\u003ccode\u003e6900659\u003c/code\u003e\u003c/a\u003e fix optional nested validation (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2218\"\u003e#2218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandera-dev/pandera/compare/v0.29.0...v0.30.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `shap` from 0.49.1 to 0.51.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/shap/shap/releases\"\u003eshap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.51.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: check first that the feature is not in the leaf node by \u003ca href=\"https://github.com/Far-naz\"\u003e\u003ccode\u003e@​Far-naz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4268\"\u003eshap/shap#4268\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix missing array to scalar conversion in MAPLE by \u003ca href=\"https://github.com/Scienfitz\"\u003e\u003ccode\u003e@​Scienfitz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4285\"\u003eshap/shap#4285\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix Python Version of Tree SHAP notebook by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4289\"\u003eshap/shap#4289\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix path-dependent SHAP NaN with small background datasets by \u003ca href=\"https://github.com/tudstudent\"\u003e\u003ccode\u003e@​tudstudent\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4272\"\u003eshap/shap#4272\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix IndexError in format_value() when handling empty strings by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4238\"\u003eshap/shap#4238\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix test_scatter_categorical for pandas 3.0 compatibility by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4253\"\u003eshap/shap#4253\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix SamplingExplainer.explain for Series. by \u003ca href=\"https://github.com/ljw20180420\"\u003e\u003ccode\u003e@​ljw20180420\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4200\"\u003eshap/shap#4200\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd tests for fixed masker by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4216\"\u003eshap/shap#4216\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd comprehensive type hints to production code by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4217\"\u003eshap/shap#4217\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eunpin versions and pin numba, skip causalml test by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4235\"\u003eshap/shap#4235\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify TreeExplainer binary classification returns different shapes per model by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4254\"\u003eshap/shap#4254\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd tests for explainers by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4218\"\u003eshap/shap#4218\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Colab Notebook to test GPUTreeExplainer by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4266\"\u003eshap/shap#4266\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix spelling error in docs: perterbation to perturbation by \u003ca href=\"https://github.com/laffertyryan0\"\u003e\u003ccode\u003e@​laffertyryan0\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4275\"\u003eshap/shap#4275\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate test_scatter to work with latest xgboost by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4278\"\u003eshap/shap#4278\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd ai usage policy at appropriate place in contributing, mention contributing in readme by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4279\"\u003eshap/shap#4279\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeprecate testing of newer llvmlite versions on macos x64_86 by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4286\"\u003eshap/shap#4286\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/ljw20180420\"\u003e\u003ccode\u003e@​ljw20180420\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4200\"\u003eshap/shap#4200\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4238\"\u003eshap/shap#4238\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/laffertyryan0\"\u003e\u003ccode\u003e@​laffertyryan0\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4275\"\u003eshap/shap#4275\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tudstudent\"\u003e\u003ccode\u003e@​tudstudent\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4272\"\u003eshap/shap#4272\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Far-naz\"\u003e\u003ccode\u003e@​Far-naz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4268\"\u003eshap/shap#4268\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Scienfitz\"\u003e\u003ccode\u003e@​Scienfitz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4285\"\u003eshap/shap#4285\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/shap/shap/compare/v0.50.0...v0.51.0\"\u003ehttps://github.com/shap/shap/compare/v0.50.0...v0.51.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.50.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ehand over threshold_types to GPUTreeExplainer by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4181\"\u003eshap/shap#4181\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove base_score assignment by \u003ca href=\"https://github.com/lsdxp\"\u003e\u003ccode\u003e@​lsdxp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4187\"\u003eshap/shap#4187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest against python 3.14, remove support for python 3.9 and 3.10 by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4176\"\u003eshap/shap#4176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways force transformers label2id ids to integers by \u003ca href=\"https://github.com/evamaxfield\"\u003e\u003ccode\u003e@​evamaxfield\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4192\"\u003eshap/shap#4192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix gpu tree explainer tests by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4199\"\u003eshap/shap#4199\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/lsdxp\"\u003e\u003ccode\u003e@​lsdxp\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4187\"\u003eshap/shap#4187\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/shap/shap/commit/03a6cd101aee0c706cad1568419bfa9d3c4f494c\"\u003e\u003ccode\u003e03a6cd1\u003c/code\u003e\u003c/a\u003e fix Python Version of Tree SHAP notebook (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4289\"\u003e#4289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/e9440d603b28413031e99016b74650c4b62a0091\"\u003e\u003ccode\u003ee9440d6\u003c/code\u003e\u003c/a\u003e Fix missing array to scalar conversion in MAPLE (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4285\"\u003e#4285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/1afee43abe03b557e309f495bd6d3b9d7bc850ec\"\u003e\u003ccode\u003e1afee43\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4287\"\u003e#4287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/7e95ee28f5f0c2fd9f2489cd2475e627232cd9ae\"\u003e\u003ccode\u003e7e95ee2\u003c/code\u003e\u003c/a\u003e deprecate testing of newer llvmlite versions on macos x64_86 (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4286\"\u003e#4286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/61f0f8e3e0168aba1ca8f40bb8f352c37ad1519e\"\u003e\u003ccode\u003e61f0f8e\u003c/code\u003e\u003c/a\u003e fix: check first that the feature is not in the leaf node (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4268\"\u003e#4268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/a613dab7d9443a993a7c7f7e5bb5c9f28e309d3d\"\u003e\u003ccode\u003ea613dab\u003c/code\u003e\u003c/a\u003e update pyproject toml to ignore benchmark in test coverage (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4281\"\u003e#4281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/b4547a038b379f5f14abd3fa9b449d6f661a3ce2\"\u003e\u003ccode\u003eb4547a0\u003c/code\u003e\u003c/a\u003e mention contributing in readme and update AI Policy (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4279\"\u003e#4279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/89de977aac62c4708b3200622423261451c52421\"\u003e\u003ccode\u003e89de977\u003c/code\u003e\u003c/a\u003e add AI policy and claude skill\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/0eeea53d09a85b992a79f1ed1dd2d7e6ce04489f\"\u003e\u003ccode\u003e0eeea53\u003c/code\u003e\u003c/a\u003e Fix path-dependent SHAP NaN with small background datasets (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4272\"\u003e#4272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/24e86f3a4e47589ac4dcb1433b21aaa1ef832260\"\u003e\u003ccode\u003e24e86f3\u003c/code\u003e\u003c/a\u003e build(deps): bump qs and express in /javascript (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4242\"\u003e#4242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/shap/shap/compare/v0.49.1...v0.51.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `optuna` from 4.7.0 to 4.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.8.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/73?closed=1\"\u003ev4.8.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eSupport for Constant Liar Strategy to GPSampler\u003c/h2\u003e\n\u003cp\u003eA constant liar strategy for efficient parallelization has been introduced to GPSampler by \u003ca href=\"https://github.com/sawa3030\"\u003e\u003ccode\u003e@​sawa3030\u003c/code\u003e\u003c/a\u003e. The figures (left: v4.7.0, right: v4.8.0) show that the overlap of search points has decreased, and a wider variety of solutions are being explored. The experiment uses \u003ccode\u003en_jobs = 10\u003c/code\u003e and \u003ccode\u003en_trials = 100\u003c/code\u003e. Currently, this feature supports single-objective and unconstrained optimization. Further extensions are coming in v4.9.0.\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003ev4.7.0\u003c/th\u003e\n\u003cth\u003ev4.8.0\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eSHAP-like beeswarm plot visualization\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/yasumorishima\"\u003e\u003ccode\u003e@​yasumorishima\u003c/code\u003e\u003c/a\u003e introduces the new visualization to OptunaHub. Please refer to \u003ca href=\"https://hub.optuna.org/visualization/plot_beeswarm/\"\u003ehttps://hub.optuna.org/visualization/plot_beeswarm/\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch1\u003eNew Features\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Trackio Integration for Optuna (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/259\"\u003eoptuna/optuna-integration#259\u003c/a\u003e, thanks \u003ca href=\"https://github.com/ParagEkbote\"\u003e\u003ccode\u003e@​ParagEkbote\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eAdd constant liar strategy to \u003ccode\u003eGPSampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6430\"\u003e#6430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eValidate artifact_id in FileSystemArtifactStore to prevent path traversal (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6432\"\u003e#6432\u003c/a\u003e, thanks \u003ca href=\"https://github.com/RinZ27\"\u003e\u003ccode\u003e@​RinZ27\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003efix: correct inverted warning message in pareto front plot (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e, thanks \u003ca href=\"https://github.com/aerosta\"\u003e\u003ccode\u003e@​aerosta\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix shared callback state in parallel OptunaSearchCV with LightGBM (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/260\"\u003eoptuna/optuna-integration#260\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Quant-Quasar\"\u003e\u003ccode\u003e@​Quant-Quasar\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix GPSampler crash when torch default device is CUDA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6418\"\u003e#6418\u003c/a\u003e, thanks \u003ca href=\"https://github.com/VedantMadane\"\u003e\u003ccode\u003e@​VedantMadane\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix combination between \u003ccode\u003ePartialFixedSampler\u003c/code\u003e and \u003ccode\u003eTPESampler\u003c/code\u003e with group decomposed search space (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6428\"\u003e#6428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTPESampler\u003c/code\u003e with \u003ccode\u003emultivariate\u003c/code\u003e and \u003ccode\u003econstant_liar\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDocumentation\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd documentation indicating that \u003ccode\u003eWilcoxonPruner\u003c/code\u003e requires \u003ccode\u003escipy\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6477\"\u003e#6477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove version \u0026amp; language selectors in the sidebar of docs (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6482\"\u003e#6482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eExamples\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eApply black 26.1.0 (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/348\"\u003eoptuna/optuna-examples#348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove CI workflow for allennlp since no longer maintained (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/351\"\u003eoptuna/optuna-examples#351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce the frequency of scheduled CI triggers (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/352\"\u003eoptuna/optuna-examples#352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove the scheduled trigger for \u003ccode\u003eaim\u003c/code\u003e CI (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/353\"\u003eoptuna/optuna-examples#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd constraint to \u003ccode\u003etransformers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/355\"\u003eoptuna/optuna-examples#355\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eTests\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/689c62dbfc14f3476c51c14fda2e4f818ed2ee30\"\u003e\u003ccode\u003e689c62d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6509\"\u003e#6509\u003c/a\u003e from y0z/feature/bump-up-release480\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/9e2e0658ee6205c69993cf4204fabe6353249441\"\u003e\u003ccode\u003e9e2e065\u003c/code\u003e\u003c/a\u003e Bump up version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/54fe633c042be32f9a8c90b440e81c05406448d2\"\u003e\u003ccode\u003e54fe633\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6507\"\u003e#6507\u003c/a\u003e from sateeshkumarb/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/8efb8b4ffd749a95610e537a597ccaabde2e97db\"\u003e\u003ccode\u003e8efb8b4\u003c/code\u003e\u003c/a\u003e Move imports used for typecheck under TYPE_CHCKING\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/c0fcd2e4bba33783aa5e61e94be29dfc2cdcac0a\"\u003e\u003ccode\u003ec0fcd2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6506\"\u003e#6506\u003c/a\u003e from acabellom/fix-fstring-file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/087cc9d85e431df96ac54bec1de992fac9260e80\"\u003e\u003ccode\u003e087cc9d\u003c/code\u003e\u003c/a\u003e Replace .format() with f-strings in 002_configurations.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/274f5b906accb795569550164f418dd3f40338c2\"\u003e\u003ccode\u003e274f5b9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e from not522/fix-multivariate-constant_liar\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/ce882f6a4e1b0ecc328373cf989cbb16debdf1f6\"\u003e\u003ccode\u003ece882f6\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6265\"\u003e#6265\u003c/a\u003e from not522/relative-use-cache\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/f9e546d71f3fe515ee0df37ffe49d83f1f294c58\"\u003e\u003ccode\u003ef9e546d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e from aerosta/fix/pareto-front-warning-message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/535215b3890f10b0cd96e6a22aaad58821769c3d\"\u003e\u003ccode\u003e535215b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6502\"\u003e#6502\u003c/a\u003e from nightcityblade/fix/issue-6029-patient-pruner\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/optuna/optuna/compare/v4.7.0...v4.8.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.15.1 to 0.15.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.10\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-04-09.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-logging\u003c/code\u003e] Allow closures in except handlers (\u003ccode\u003eLOG004\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24464\"\u003e#24464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-self\u003c/code\u003e] Make \u003ccode\u003eSLF\u003c/code\u003e diagnostics robust to non-self-named variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24281\"\u003e#24281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Make the fix for \u003ccode\u003ecollapsible-if\u003c/code\u003e safe in \u003ccode\u003epreview\u003c/code\u003e (\u003ccode\u003eSIM102\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24371\"\u003e#24371\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid emitting multi-line f-string elements before Python 3.12 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24377\"\u003e#24377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid syntax error from \u003ccode\u003eE502\u003c/code\u003e fixes in f-strings and t-strings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24410\"\u003e#24410\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStrip form feeds from indent passed to \u003ccode\u003ededent_to\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24381\"\u003e#24381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix panic caused by handling of octals (\u003ccode\u003eUP012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24390\"\u003e#24390\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject multi-line f-string elements before Python 3.12 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24355\"\u003e#24355\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Treat f-string interpolation as potential side effect (\u003ccode\u003eRUF019\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24426\"\u003e#24426\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for custom file extensions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24463\"\u003e#24463\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDocument adding fixes in CONTRIBUTING.md (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24393\"\u003e#24393\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix JSON typo in settings example (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24517\"\u003e#24517\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/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylwil3\"\u003e\u003ccode\u003e@​dylwil3\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/silverstein\"\u003e\u003ccode\u003e@​silverstein\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shizukushq\"\u003e\u003ccode\u003e@​shizukushq\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zanieb\"\u003e\u003ccode\u003e@​zanieb\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\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.15.10\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.15.10/ruff-installer.sh | sh\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\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/252f76102a618bff6537b6c53c316ca3837f4abf\"\u003e\u003ccode\u003e252f761\u003c/code\u003e\u003c/a\u003e Bump 0.15.10 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24519\"\u003e#24519\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/37a1ec8bb8e30955787b0cdf6e97f7f2254dba7f\"\u003e\u003ccode\u003e37a1ec8\u003c/code\u003e\u003c/a\u003e [ty] Fix assignability of intersections with bounded typevars (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24502\"\u003e#24502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/f518cc9ca0c830773dd49c3964eb5e49d52c8aed\"\u003e\u003ccode\u003ef518cc9\u003c/code\u003e\u003c/a\u003e [ty] Allow partially stringified \u003ccode\u003etype[…]\u003c/code\u003e annotations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24518\"\u003e#24518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/16c4090d0a711b9c0523b932014f3daf140f35bc\"\u003e\u003ccode\u003e16c4090\u003c/code\u003e\u003c/a\u003e docs: fix JSON typo in settings example (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24517\"\u003e#24517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/99d97bd72f1934ac2af93e52468c10ef1c7a1a4e\"\u003e\u003ccode\u003e99d97bd\u003c/code\u003e\u003c/a\u003e [ty] Tighten up a few edge cases in \u003ccode\u003eConcatenate\u003c/code\u003e type-expression parsing (\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/2714e345bdd64a5baae3844c0d25db7b0b9fe330\"\u003e\u003ccode\u003e2714e34\u003c/code\u003e\u003c/a\u003e [ty] Enable \u003ccode\u003epull-diagnostics\u003c/code\u003e by default in E2E tests (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24516\"\u003e#24516\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d8bc700722ab1b7272a4d724839da7c569b349d4\"\u003e\u003ccode\u003ed8bc700\u003c/code\u003e\u003c/a\u003e LSP: Add support for custom extensions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24463\"\u003e#24463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a45f96d65dbd4f958b07accd718f8d2af48cb956\"\u003e\u003ccode\u003ea45f96d\u003c/code\u003e\u003c/a\u003e [ty] stop special-casing str constructor (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24514\"\u003e#24514\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/87a0f01cfd016e0297ef05ab638cde006bf8d947\"\u003e\u003ccode\u003e87a0f01\u003c/code\u003e\u003c/a\u003e [ruff] Treat f-string interpolation as potential side effect in RUF019 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24426\"\u003e#24426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e9ba8489b8d1f1fd5fd66887a74d5f2f58f733d4\"\u003e\u003ccode\u003ee9ba848\u003c/code\u003e\u003c/a\u003e [ty] Fix excess subscript argument inference for non-generic types (\u003ca href=\"https:...\n\n_Description has been truncated_","html_url":"https://github.com/iocariz/scoring_tools/pull/26","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/iocariz%2Fscoring_tools/issues/26","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/26/packages"},{"uuid":"4244433566","node_id":"PR_kwDORAqhJM7RqI_g","number":36,"state":"open","title":"Update optuna requirement from \u003e=4.0 to \u003e=4.8.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-11T11:53:01.000Z","updated_at":"2026-04-11T11:53:01.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"optuna","old_version":"\u003e=4.0","new_version":"\u003e=4.8.0","repository_url":"https://github.com/optuna/optuna"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [optuna](https://github.com/optuna/optuna) 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/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.8.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/73?closed=1\"\u003ev4.8.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eSupport for Constant Liar Strategy to GPSampler\u003c/h2\u003e\n\u003cp\u003eA constant liar strategy for efficient parallelization has been introduced to GPSampler by \u003ca href=\"https://github.com/sawa3030\"\u003e\u003ccode\u003e@​sawa3030\u003c/code\u003e\u003c/a\u003e. The figures (left: v4.7.0, right: v4.8.0) show that the overlap of search points has decreased, and a wider variety of solutions are being explored. The experiment uses \u003ccode\u003en_jobs = 10\u003c/code\u003e and \u003ccode\u003en_trials = 100\u003c/code\u003e. Currently, this feature supports single-objective and unconstrained optimization. Further extensions are coming in v4.9.0.\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003ev4.7.0\u003c/th\u003e\n\u003cth\u003ev4.8.0\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eSHAP-like beeswarm plot visualization\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/yasumorishima\"\u003e\u003ccode\u003e@​yasumorishima\u003c/code\u003e\u003c/a\u003e introduces the new visualization to OptunaHub. Please refer to \u003ca href=\"https://hub.optuna.org/visualization/plot_beeswarm/\"\u003ehttps://hub.optuna.org/visualization/plot_beeswarm/\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch1\u003eNew Features\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Trackio Integration for Optuna (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/259\"\u003eoptuna/optuna-integration#259\u003c/a\u003e, thanks \u003ca href=\"https://github.com/ParagEkbote\"\u003e\u003ccode\u003e@​ParagEkbote\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eAdd constant liar strategy to \u003ccode\u003eGPSampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6430\"\u003e#6430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eValidate artifact_id in FileSystemArtifactStore to prevent path traversal (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6432\"\u003e#6432\u003c/a\u003e, thanks \u003ca href=\"https://github.com/RinZ27\"\u003e\u003ccode\u003e@​RinZ27\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003efix: correct inverted warning message in pareto front plot (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e, thanks \u003ca href=\"https://github.com/aerosta\"\u003e\u003ccode\u003e@​aerosta\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix shared callback state in parallel OptunaSearchCV with LightGBM (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/260\"\u003eoptuna/optuna-integration#260\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Quant-Quasar\"\u003e\u003ccode\u003e@​Quant-Quasar\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix GPSampler crash when torch default device is CUDA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6418\"\u003e#6418\u003c/a\u003e, thanks \u003ca href=\"https://github.com/VedantMadane\"\u003e\u003ccode\u003e@​VedantMadane\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix combination between \u003ccode\u003ePartialFixedSampler\u003c/code\u003e and \u003ccode\u003eTPESampler\u003c/code\u003e with group decomposed search space (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6428\"\u003e#6428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTPESampler\u003c/code\u003e with \u003ccode\u003emultivariate\u003c/code\u003e and \u003ccode\u003econstant_liar\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDocumentation\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd documentation indicating that \u003ccode\u003eWilcoxonPruner\u003c/code\u003e requires \u003ccode\u003escipy\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6477\"\u003e#6477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove version \u0026amp; language selectors in the sidebar of docs (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6482\"\u003e#6482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eExamples\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eApply black 26.1.0 (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/348\"\u003eoptuna/optuna-examples#348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove CI workflow for allennlp since no longer maintained (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/351\"\u003eoptuna/optuna-examples#351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce the frequency of scheduled CI triggers (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/352\"\u003eoptuna/optuna-examples#352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove the scheduled trigger for \u003ccode\u003eaim\u003c/code\u003e CI (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/353\"\u003eoptuna/optuna-examples#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd constraint to \u003ccode\u003etransformers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/355\"\u003eoptuna/optuna-examples#355\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eTests\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/689c62dbfc14f3476c51c14fda2e4f818ed2ee30\"\u003e\u003ccode\u003e689c62d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6509\"\u003e#6509\u003c/a\u003e from y0z/feature/bump-up-release480\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/9e2e0658ee6205c69993cf4204fabe6353249441\"\u003e\u003ccode\u003e9e2e065\u003c/code\u003e\u003c/a\u003e Bump up version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/54fe633c042be32f9a8c90b440e81c05406448d2\"\u003e\u003ccode\u003e54fe633\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6507\"\u003e#6507\u003c/a\u003e from sateeshkumarb/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/8efb8b4ffd749a95610e537a597ccaabde2e97db\"\u003e\u003ccode\u003e8efb8b4\u003c/code\u003e\u003c/a\u003e Move imports used for typecheck under TYPE_CHCKING\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/c0fcd2e4bba33783aa5e61e94be29dfc2cdcac0a\"\u003e\u003ccode\u003ec0fcd2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6506\"\u003e#6506\u003c/a\u003e from acabellom/fix-fstring-file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/087cc9d85e431df96ac54bec1de992fac9260e80\"\u003e\u003ccode\u003e087cc9d\u003c/code\u003e\u003c/a\u003e Replace .format() with f-strings in 002_configurations.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/274f5b906accb795569550164f418dd3f40338c2\"\u003e\u003ccode\u003e274f5b9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e from not522/fix-multivariate-constant_liar\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/ce882f6a4e1b0ecc328373cf989cbb16debdf1f6\"\u003e\u003ccode\u003ece882f6\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6265\"\u003e#6265\u003c/a\u003e from not522/relative-use-cache\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/f9e546d71f3fe515ee0df37ffe49d83f1f294c58\"\u003e\u003ccode\u003ef9e546d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e from aerosta/fix/pareto-front-warning-message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/535215b3890f10b0cd96e6a22aaad58821769c3d\"\u003e\u003ccode\u003e535215b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6502\"\u003e#6502\u003c/a\u003e from nightcityblade/fix/issue-6029-patient-pruner\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/optuna/optuna/compare/v4.0.0...v4.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/frenken-lab/graphids/pull/36","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/frenken-lab%2Fgraphids/issues/36","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/36/packages"},{"uuid":"4243452376","node_id":"PR_kwDOQHUjsc7RovPq","number":27,"state":"open","title":"[air](deps): Bump optuna from 4.1.0 to 4.8.0 in /python/requirements/ml","user":"dependabot[bot]","labels":["dependencies","python","stale"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-11T07:02:50.000Z","updated_at":"2026-04-25T12:29:18.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"[air](deps): Bump","packages":[{"name":"optuna","old_version":"4.1.0","new_version":"4.8.0","repository_url":"https://github.com/optuna/optuna"}],"path":"/python/requirements/ml","ecosystem":"pip"},"body":"Bumps [optuna](https://github.com/optuna/optuna) from 4.1.0 to 4.8.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.8.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/73?closed=1\"\u003ev4.8.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eSupport for Constant Liar Strategy to GPSampler\u003c/h2\u003e\n\u003cp\u003eA constant liar strategy for efficient parallelization has been introduced to GPSampler by \u003ca href=\"https://github.com/sawa3030\"\u003e\u003ccode\u003e@​sawa3030\u003c/code\u003e\u003c/a\u003e. The figures (left: v4.7.0, right: v4.8.0) show that the overlap of search points has decreased, and a wider variety of solutions are being explored. The experiment uses \u003ccode\u003en_jobs = 10\u003c/code\u003e and \u003ccode\u003en_trials = 100\u003c/code\u003e. Currently, this feature supports single-objective and unconstrained optimization. Further extensions are coming in v4.9.0.\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003ev4.7.0\u003c/th\u003e\n\u003cth\u003ev4.8.0\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eSHAP-like beeswarm plot visualization\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/yasumorishima\"\u003e\u003ccode\u003e@​yasumorishima\u003c/code\u003e\u003c/a\u003e introduces the new visualization to OptunaHub. Please refer to \u003ca href=\"https://hub.optuna.org/visualization/plot_beeswarm/\"\u003ehttps://hub.optuna.org/visualization/plot_beeswarm/\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch1\u003eNew Features\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Trackio Integration for Optuna (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/259\"\u003eoptuna/optuna-integration#259\u003c/a\u003e, thanks \u003ca href=\"https://github.com/ParagEkbote\"\u003e\u003ccode\u003e@​ParagEkbote\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eAdd constant liar strategy to \u003ccode\u003eGPSampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6430\"\u003e#6430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eValidate artifact_id in FileSystemArtifactStore to prevent path traversal (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6432\"\u003e#6432\u003c/a\u003e, thanks \u003ca href=\"https://github.com/RinZ27\"\u003e\u003ccode\u003e@​RinZ27\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003efix: correct inverted warning message in pareto front plot (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e, thanks \u003ca href=\"https://github.com/aerosta\"\u003e\u003ccode\u003e@​aerosta\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix shared callback state in parallel OptunaSearchCV with LightGBM (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/260\"\u003eoptuna/optuna-integration#260\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Quant-Quasar\"\u003e\u003ccode\u003e@​Quant-Quasar\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix GPSampler crash when torch default device is CUDA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6418\"\u003e#6418\u003c/a\u003e, thanks \u003ca href=\"https://github.com/VedantMadane\"\u003e\u003ccode\u003e@​VedantMadane\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix combination between \u003ccode\u003ePartialFixedSampler\u003c/code\u003e and \u003ccode\u003eTPESampler\u003c/code\u003e with group decomposed search space (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6428\"\u003e#6428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTPESampler\u003c/code\u003e with \u003ccode\u003emultivariate\u003c/code\u003e and \u003ccode\u003econstant_liar\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDocumentation\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd documentation indicating that \u003ccode\u003eWilcoxonPruner\u003c/code\u003e requires \u003ccode\u003escipy\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6477\"\u003e#6477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove version \u0026amp; language selectors in the sidebar of docs (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6482\"\u003e#6482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eExamples\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eApply black 26.1.0 (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/348\"\u003eoptuna/optuna-examples#348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove CI workflow for allennlp since no longer maintained (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/351\"\u003eoptuna/optuna-examples#351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce the frequency of scheduled CI triggers (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/352\"\u003eoptuna/optuna-examples#352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove the scheduled trigger for \u003ccode\u003eaim\u003c/code\u003e CI (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/353\"\u003eoptuna/optuna-examples#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd constraint to \u003ccode\u003etransformers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/355\"\u003eoptuna/optuna-examples#355\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eTests\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/689c62dbfc14f3476c51c14fda2e4f818ed2ee30\"\u003e\u003ccode\u003e689c62d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6509\"\u003e#6509\u003c/a\u003e from y0z/feature/bump-up-release480\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/9e2e0658ee6205c69993cf4204fabe6353249441\"\u003e\u003ccode\u003e9e2e065\u003c/code\u003e\u003c/a\u003e Bump up version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/54fe633c042be32f9a8c90b440e81c05406448d2\"\u003e\u003ccode\u003e54fe633\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6507\"\u003e#6507\u003c/a\u003e from sateeshkumarb/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/8efb8b4ffd749a95610e537a597ccaabde2e97db\"\u003e\u003ccode\u003e8efb8b4\u003c/code\u003e\u003c/a\u003e Move imports used for typecheck under TYPE_CHCKING\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/c0fcd2e4bba33783aa5e61e94be29dfc2cdcac0a\"\u003e\u003ccode\u003ec0fcd2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6506\"\u003e#6506\u003c/a\u003e from acabellom/fix-fstring-file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/087cc9d85e431df96ac54bec1de992fac9260e80\"\u003e\u003ccode\u003e087cc9d\u003c/code\u003e\u003c/a\u003e Replace .format() with f-strings in 002_configurations.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/274f5b906accb795569550164f418dd3f40338c2\"\u003e\u003ccode\u003e274f5b9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e from not522/fix-multivariate-constant_liar\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/ce882f6a4e1b0ecc328373cf989cbb16debdf1f6\"\u003e\u003ccode\u003ece882f6\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6265\"\u003e#6265\u003c/a\u003e from not522/relative-use-cache\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/f9e546d71f3fe515ee0df37ffe49d83f1f294c58\"\u003e\u003ccode\u003ef9e546d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e from aerosta/fix/pareto-front-warning-message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/535215b3890f10b0cd96e6a22aaad58821769c3d\"\u003e\u003ccode\u003e535215b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6502\"\u003e#6502\u003c/a\u003e from nightcityblade/fix/issue-6029-patient-pruner\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/optuna/optuna/compare/v4.1.0...v4.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=optuna\u0026package-manager=pip\u0026previous-version=4.1.0\u0026new-version=4.8.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/snorkel-marlin-repos/ray-project_ray_pr_56120_06682851-bf89-4562-a254-e28a6905a765/pull/27","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/snorkel-marlin-repos%2Fray-project_ray_pr_56120_06682851-bf89-4562-a254-e28a6905a765/issues/27","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/27/packages"},{"uuid":"4211311075","node_id":"PR_kwDOQ_sTS87QL_6c","number":25,"state":"open","title":"deps: bump the python-minor group across 1 directory with 32 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-06T11:19:13.000Z","updated_at":"2026-04-06T11:19:14.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps: bump","group_name":"python-minor","update_count":32,"packages":[{"name":"pandas","old_version":"3.0.0","new_version":"3.0.2","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"scipy","old_version":"1.17.0","new_version":"1.17.1","repository_url":"https://github.com/scipy/scipy"},{"name":"tqdm","old_version":"4.67.1","new_version":"4.67.3","repository_url":"https://github.com/tqdm/tqdm"},{"name":"ipython","old_version":"9.9.0","new_version":"9.12.0","repository_url":"https://github.com/ipython/ipython"},{"name":"plotly","old_version":"6.5.2","new_version":"6.6.0","repository_url":"https://github.com/plotly/plotly.py"},{"name":"pandera","old_version":"0.29.0","new_version":"0.30.1","repository_url":"https://github.com/pandera-dev/pandera"},{"name":"shap","old_version":"0.49.1","new_version":"0.51.0","repository_url":"https://github.com/shap/shap"},{"name":"optuna","old_version":"4.7.0","new_version":"4.8.0","repository_url":"https://github.com/optuna/optuna"},{"name":"ruff","old_version":"0.15.1","new_version":"0.15.9","repository_url":"https://github.com/astral-sh/ruff"},{"name":"pytest-cov","old_version":"7.0.0","new_version":"7.1.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"certifi","old_version":"2026.1.4","new_version":"2026.2.25","repository_url":"https://github.com/certifi/python-certifi"},{"name":"charset-normalizer","old_version":"3.4.4","new_version":"3.4.7","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"click","old_version":"8.3.1","new_version":"8.3.2","repository_url":"https://github.com/pallets/click"},{"name":"coverage","old_version":"7.13.2","new_version":"7.13.5","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"flask","old_version":"3.1.2","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"fonttools","old_version":"4.61.1","new_version":"4.62.1","repository_url":"https://github.com/fonttools/fonttools"},{"name":"greenlet","old_version":"3.3.1","new_version":"3.3.2","repository_url":"https://github.com/python-greenlet/greenlet"},{"name":"kiwisolver","old_version":"1.4.9","new_version":"1.5.0","repository_url":"https://github.com/nucleic/kiwi"},{"name":"llvmlite","old_version":"0.46.0","new_version":"0.47.0","repository_url":"https://github.com/numba/llvmlite"},{"name":"narwhals","old_version":"2.15.0","new_version":"2.18.1","repository_url":"https://github.com/narwhals-dev/narwhals"},{"name":"numba","old_version":"0.63.1","new_version":"0.65.0","repository_url":"https://github.com/numba/numba"},{"name":"numpy","old_version":"2.3.5","new_version":"2.4.4","repository_url":"https://github.com/numpy/numpy"},{"name":"nvidia-nccl-cu12","old_version":"2.29.3","new_version":"2.29.7"},{"name":"parso","old_version":"0.8.5","new_version":"0.8.6","repository_url":"https://github.com/davidhalter/parso"},{"name":"pillow","old_version":"12.1.0","new_version":"12.2.0","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"pydantic-core","old_version":"2.41.5","new_version":"2.45.0","repository_url":"https://github.com/pydantic/pydantic-core"},{"name":"pygments","old_version":"2.19.2","new_version":"2.20.0","repository_url":"https://github.com/pygments/pygments"},{"name":"requests","old_version":"2.32.5","new_version":"2.33.1","repository_url":"https://github.com/psf/requests"},{"name":"sqlalchemy","old_version":"2.0.46","new_version":"2.0.49","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"typeguard","old_version":"4.4.4","new_version":"4.5.1","repository_url":"https://github.com/agronholm/typeguard"},{"name":"wcwidth","old_version":"0.3.1","new_version":"0.6.0","repository_url":"https://github.com/jquast/wcwidth"},{"name":"werkzeug","old_version":"3.1.5","new_version":"3.1.8","repository_url":"https://github.com/pallets/werkzeug"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor group with 32 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pandas](https://github.com/pandas-dev/pandas) | `3.0.0` | `3.0.2` |\n| [scipy](https://github.com/scipy/scipy) | `1.17.0` | `1.17.1` |\n| [tqdm](https://github.com/tqdm/tqdm) | `4.67.1` | `4.67.3` |\n| [ipython](https://github.com/ipython/ipython) | `9.9.0` | `9.12.0` |\n| [plotly](https://github.com/plotly/plotly.py) | `6.5.2` | `6.6.0` |\n| [pandera](https://github.com/pandera-dev/pandera) | `0.29.0` | `0.30.1` |\n| [shap](https://github.com/shap/shap) | `0.49.1` | `0.51.0` |\n| [optuna](https://github.com/optuna/optuna) | `4.7.0` | `4.8.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.1` | `0.15.9` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `7.0.0` | `7.1.0` |\n| [certifi](https://github.com/certifi/python-certifi) | `2026.1.4` | `2026.2.25` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.4` | `3.4.7` |\n| [click](https://github.com/pallets/click) | `8.3.1` | `8.3.2` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.13.2` | `7.13.5` |\n| [flask](https://github.com/pallets/flask) | `3.1.2` | `3.1.3` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.61.1` | `4.62.1` |\n| [greenlet](https://github.com/python-greenlet/greenlet) | `3.3.1` | `3.3.2` |\n| [kiwisolver](https://github.com/nucleic/kiwi) | `1.4.9` | `1.5.0` |\n| [llvmlite](https://github.com/numba/llvmlite) | `0.46.0` | `0.47.0` |\n| [narwhals](https://github.com/narwhals-dev/narwhals) | `2.15.0` | `2.18.1` |\n| [numba](https://github.com/numba/numba) | `0.63.1` | `0.65.0` |\n| [numpy](https://github.com/numpy/numpy) | `2.3.5` | `2.4.4` |\n| [nvidia-nccl-cu12](https://developer.nvidia.com/cuda-zone) | `2.29.3` | `2.29.7` |\n| [parso](https://github.com/davidhalter/parso) | `0.8.5` | `0.8.6` |\n| [pillow](https://github.com/python-pillow/Pillow) | `12.1.0` | `12.2.0` |\n| [pydantic-core](https://github.com/pydantic/pydantic-core) | `2.41.5` | `2.45.0` |\n| [pygments](https://github.com/pygments/pygments) | `2.19.2` | `2.20.0` |\n| [requests](https://github.com/psf/requests) | `2.32.5` | `2.33.1` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.46` | `2.0.49` |\n| [typeguard](https://github.com/agronholm/typeguard) | `4.4.4` | `4.5.1` |\n| [wcwidth](https://github.com/jquast/wcwidth) | `0.3.1` | `0.6.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `3.1.5` | `3.1.8` |\n\n\nUpdates `pandas` from 3.0.0 to 3.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pandas-dev/pandas/releases\"\u003epandas's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epandas 3.0.2\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 3.0.2.\nThis is a patch release in the 3.0.x series and includes some regression fixes and bug fixes. We recommend that all users of the 3.0.x series upgrade to this version.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/docs/dev/whatsnew/v3.0.2.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\u003c/p\u003e\n\u003cp\u003ePandas 3.0 supports Python 3.11 and higher.\nThe release can be installed from PyPI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython -m pip install --upgrade pandas==3.0.*\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr from conda-forge\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install -c conda-forge pandas=3.0\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\u003c/p\u003e\n\u003ch2\u003epandas 3.0.1\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 3.0.1.\nThis is a patch release in the 3.0.x series and includes some regression fixes and bug fixes. We recommend that all users of the 3.0.x series upgrade to this version.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/docs/dev/whatsnew/v3.0.1.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\u003c/p\u003e\n\u003cp\u003ePandas 3.0.0 supports Python 3.11 and higher.\nThe release can be installed from PyPI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython -m pip install --upgrade pandas==3.0.*\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr from conda-forge\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install -c conda-forge pandas=3.0\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/ab90747e3dae0e69b1bdbf083820b8075689b34b\"\u003e\u003ccode\u003eab90747\u003c/code\u003e\u003c/a\u003e RLS: 3.0.2 (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64934\"\u003e#64934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/6f270137a27f8de4bd1afd7d71220e0760429750\"\u003e\u003ccode\u003e6f27013\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64931\"\u003e#64931\u003c/a\u003e on branch 3.0.x (DOC/BLD: temporary disable upload of docs...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/48ddc60d6efe8d942dbe1495dea725a9d7db15ef\"\u003e\u003ccode\u003e48ddc60\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64664\"\u003e#64664\u003c/a\u003e on branch 3.0.x (BUG: DataFrame.sum() crashes on empty Dat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/8774488df19d0859ddc05a24210783b66da27ef7\"\u003e\u003ccode\u003e8774488\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] PERF: fix slow python loop in validation for ArrowStringArra...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/33af6cc04ed6331c23a49655c4c7bb8f90351da3\"\u003e\u003ccode\u003e33af6cc\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64133\"\u003e#64133\u003c/a\u003e on branch 3.0.x (BUG: str.find returns byte offset instead...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/4ef49d815aae99b6ba5627ab0a54ba0819336652\"\u003e\u003ccode\u003e4ef49d8\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: fix convert_dtypes dropping values from sliced mixed-dt...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/0668f3451120e5552cdc8cf5d85f6d1238ce4e12\"\u003e\u003ccode\u003e0668f34\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: Fix HDFStore.put with StringDtype columns and compressi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/23f2f442ea1af6deddfefef2a4a1e4cb44328c3d\"\u003e\u003ccode\u003e23f2f44\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: Suppress unnecessary RuntimeWarning in to_datetime with...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/83ba804de35ec98798d31474d044cff7666bebd6\"\u003e\u003ccode\u003e83ba804\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64886\"\u003e#64886\u003c/a\u003e: BUG: Compute Variance of Complex Numbers Correctly (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64892\"\u003e#64892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/bb5ca1a7a96130fa0e8e2a3987c051e4473f7792\"\u003e\u003ccode\u003ebb5ca1a\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64386\"\u003e#64386\u003c/a\u003e on branch 3.0.x (BUG: fix sort_index AssertionError with R...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandas-dev/pandas/compare/v3.0.0...v3.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `scipy` from 1.17.0 to 1.17.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scipy/scipy/releases\"\u003escipy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eSciPy 1.17.1 Release Notes\u003c/h1\u003e\n\u003cp\u003eSciPy \u003ccode\u003e1.17.1\u003c/code\u003e is a bug-fix release with no new features compared to \u003ccode\u003e1.17.0\u003c/code\u003e.\u003c/p\u003e\n\u003ch1\u003eAuthors\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eName (commits)\u003c/li\u003e\n\u003cli\u003eEvgeni Burovski (5)\u003c/li\u003e\n\u003cli\u003eLucas Colley (1)\u003c/li\u003e\n\u003cli\u003eChristoph Gohlke (1)\u003c/li\u003e\n\u003cli\u003eRalf Gommers (6)\u003c/li\u003e\n\u003cli\u003eMatt Haberland (5)\u003c/li\u003e\n\u003cli\u003eMatthias Koeppe (1)\u003c/li\u003e\n\u003cli\u003eNick ODell (1)\u003c/li\u003e\n\u003cli\u003eIlhan Polat (10)\u003c/li\u003e\n\u003cli\u003eTyler Reddy (44)\u003c/li\u003e\n\u003cli\u003eMartin Schuck (3)\u003c/li\u003e\n\u003cli\u003eDan Schult (3)\u003c/li\u003e\n\u003cli\u003estratakis (1) +\u003c/li\u003e\n\u003cli\u003eਗਗਨਦੀਪ ਸਿੰਘ (Gagandeep Singh) (1)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eA total of 13 people contributed to this release.\nPeople with a \u0026quot;+\u0026quot; by their names contributed a patch for the first time.\nThis list of names is automatically generated, and may not be fully complete.\u003c/p\u003e\n\u003cp\u003eComplete issue list, PR list, and release asset hashes are available in the associated \u003ca href=\"https://github.com/scipy/scipy/releases/download/v1.17.1/README.txt\"\u003e\u003ccode\u003eREADME.txt\u003c/code\u003e\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/527eb7fd7953a1de068f94bf8b322f249b9405ae\"\u003e\u003ccode\u003e527eb7f\u003c/code\u003e\u003c/a\u003e REL: 1.17.1 release commit [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/f11663bf044f1cb5a0112a28ac238f902ae36eea\"\u003e\u003ccode\u003ef11663b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scipy/scipy/issues/24584\"\u003e#24584\u003c/a\u003e from tylerjereddy/treddy_prep_1.17.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/2c49e68b634d2657380ca7b65207c6122e83cb72\"\u003e\u003ccode\u003e2c49e68\u003c/code\u003e\u003c/a\u003e DOC: PR 24584 revisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/400fa15ed6f9fece4c3848e9eade0e7d5e5aece0\"\u003e\u003ccode\u003e400fa15\u003c/code\u003e\u003c/a\u003e safely convert index dtypes to intc for csgraph and superLU\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/8c704044ab6f8f3e94295f354dbadfcab9139837\"\u003e\u003ccode\u003e8c70404\u003c/code\u003e\u003c/a\u003e MAINT: PR 24584 revisions [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/6dda8c13c534a61bc56c7b11bb5841efbd37d9dd\"\u003e\u003ccode\u003e6dda8c1\u003c/code\u003e\u003c/a\u003e BUG: PR 24584 revisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/4a187e59ea9cde1f79b4fae9dbd8177adcf0ddf3\"\u003e\u003ccode\u003e4a187e5\u003c/code\u003e\u003c/a\u003e DOC: PR 24584 revisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/463ee9f72a5f1afe3363e86344a55eea1c1ba477\"\u003e\u003ccode\u003e463ee9f\u003c/code\u003e\u003c/a\u003e ENH: linalg/inv: re-enable overwrite_a for 2D inputs (\u003ca href=\"https://redirect.github.com/scipy/scipy/issues/24442\"\u003e#24442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/df746eed5eae0243969fd8de07770c4ace1dc65c\"\u003e\u003ccode\u003edf746ee\u003c/code\u003e\u003c/a\u003e BUG: linalg: restore dtypes in inv, solve, det\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/246bfeecbe56200ae4e265a70e06ccc64daee9c2\"\u003e\u003ccode\u003e246bfee\u003c/code\u003e\u003c/a\u003e MAINT:optimize: Enable multi-phase init to DIRECT\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/scipy/scipy/compare/v1.17.0...v1.17.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tqdm` from 4.67.1 to 4.67.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tqdm/tqdm/releases\"\u003etqdm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etqdm v4.67.3 stable\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix py3.7 dependencies (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1706\"\u003e#1706\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1705\"\u003e#1705\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etqdm v4.67.2 stable\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport \u003ccode\u003epandas\u0026gt;=3\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1703\"\u003e#1703\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1701\"\u003e#1701\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1650\"\u003e#1650\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1700\"\u003e#1700\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix \u003ccode\u003eformat_interval\u003c/code\u003e for negative numbers (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1703\"\u003e#1703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emisc linting\u003c/li\u003e\n\u003cli\u003eframework updates (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1704\"\u003e#1704\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003ebump CI workflow \u0026amp; \u003ccode\u003epre-commit\u003c/code\u003e dependencies\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003epyupgrade\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eadd py3.13 support\u003c/li\u003e\n\u003cli\u003efix py3.7 tests\u003c/li\u003e\n\u003cli\u003eupdate \u003ccode\u003esetuptools-scm\u003c/code\u003e usage\u003c/li\u003e\n\u003cli\u003esupport auto-dedented docstrings when building docs in py3.13\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003etests: relax flaky benchmarks\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/75bdb6c379bcfc6c592b6342dc791a092b5d6ae0\"\u003e\u003ccode\u003e75bdb6c\u003c/code\u003e\u003c/a\u003e fix py3.7 compat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/09a863bf4658f19a911eb7d3fa4f9e4eb0b33496\"\u003e\u003ccode\u003e09a863b\u003c/code\u003e\u003c/a\u003e bump version, merge pull request \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1704\"\u003e#1704\u003c/a\u003e from tqdm/devel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/33d24cdbd4bd958cdc6cecbbcc903b52f8c37a05\"\u003e\u003ccode\u003e33d24cd\u003c/code\u003e\u003c/a\u003e update pyproject syntax\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/70b912484824f130be0506c2e139a1f764751fac\"\u003e\u003ccode\u003e70b9124\u003c/code\u003e\u003c/a\u003e add py3.13 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/a74d8f8d97d2f77937e09a32a9e1975e167261d6\"\u003e\u003ccode\u003ea74d8f8\u003c/code\u003e\u003c/a\u003e drop _dist_ver\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/14d72e2c18ba34363d629a43794a47513a9aa368\"\u003e\u003ccode\u003e14d72e2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1703\"\u003e#1703\u003c/a\u003e from wingding12/fix-pandas-3.0-and-negative-interval\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/a69dac84b3d2e7ab23dbfcccae29b28a753ee5eb\"\u003e\u003ccode\u003ea69dac8\u003c/code\u003e\u003c/a\u003e fix dedented docstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/a986d228405324ca422050e4787118c187cb870f\"\u003e\u003ccode\u003ea986d22\u003c/code\u003e\u003c/a\u003e tests: fix pandas deprecation warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/bb7aa4ddb706b9d99b72a811eb62ea35553ff1e2\"\u003e\u003ccode\u003ebb7aa4d\u003c/code\u003e\u003c/a\u003e tests: fix pandas deprecated applymap\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/0647db1c7480a21eb08ba214b0756d232e079e3a\"\u003e\u003ccode\u003e0647db1\u003c/code\u003e\u003c/a\u003e misc tidy\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tqdm/tqdm/compare/v4.67.1...v4.67.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ipython` from 9.9.0 to 9.12.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/d9c6e314c3f31cb624cd443448e9094fdd49a1eb\"\u003e\u003ccode\u003ed9c6e31\u003c/code\u003e\u003c/a\u003e release 9.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/4c560d21ec7d6f72d2f150400fdab010790c81d7\"\u003e\u003ccode\u003e4c560d2\u003c/code\u003e\u003c/a\u003e security note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/bf954e4665168eeac39626164d76a646b683eaeb\"\u003e\u003ccode\u003ebf954e4\u003c/code\u003e\u003c/a\u003e Add release notes for 9.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/bfbdaaf71efae1d70ededaa0c0375400d7692d29\"\u003e\u003ccode\u003ebfbdaaf\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'ghsa/windows-programdata'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/8aae9a39bd6b44d4a798540a8d4863f73593ff57\"\u003e\u003ccode\u003e8aae9a3\u003c/code\u003e\u003c/a\u003e strip ansi for comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/e1aadc2c607df59f4d7313c60257ef9d43a46d7a\"\u003e\u003ccode\u003ee1aadc2\u003c/code\u003e\u003c/a\u003e fix test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/f48986a01e14eaed3504c474725e98700deae298\"\u003e\u003ccode\u003ef48986a\u003c/code\u003e\u003c/a\u003e fix-test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/d9b5285f5cb06aba35d4c3842cee7d2795afed7c\"\u003e\u003ccode\u003ed9b5285\u003c/code\u003e\u003c/a\u003e try to group tb frames\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/323552ea59fab72dcb36e4960caaffc18d3c5dae\"\u003e\u003ccode\u003e323552e\u003c/code\u003e\u003c/a\u003e Interleave fast and slow traceback path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/22cd33275bfccae3666f9f54d7f90fab924e517b\"\u003e\u003ccode\u003e22cd332\u003c/code\u003e\u003c/a\u003e Fix missing space in pdb chained exceptions warning message\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ipython/ipython/compare/9.9.0...9.12.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.5.2 to 6.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/plotly/plotly.py/releases\"\u003eplotly's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.6.0\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove unneeded \u003ccode\u003etype=\u0026quot;text/javascript\u0026quot;\u003c/code\u003e attribute from \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e tag [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5454\"\u003e#5454\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/hannob\"\u003e\u003ccode\u003e@​hannob\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eRemove global warning format side effect [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5481\"\u003e#5481\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/emmanuel-ferdman\"\u003e\u003ccode\u003e@​emmanuel-ferdman\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eFix spurious engine deprecation warning in write_image [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5517\"\u003e#5517\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/mosh3eb\"\u003e\u003ccode\u003e@​mosh3eb\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate plotly.js from version 3.3.1 to version 3.4.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.4.0\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5527\"\u003e#5527\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd support for clicking legend titles to toggle visibility of all traces in legend [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7698\"\u003e#7698\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for shapes to reference multiple axes [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7666\"\u003e#7666\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for dashed marker lines in scatter plots [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7673\"\u003e#7673\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eIncrease axis autorange when bar charts have outside text labels, to avoid labels being clipped [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7675\"\u003e#7675\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/plotly/plotly.py/compare/v6.5.2...v6.6.0\"\u003ehttps://github.com/plotly/plotly.py/compare/v6.5.2...v6.6.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/plotly/plotly.py/blob/main/CHANGELOG.md\"\u003eplotly's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[6.6.0] - 2026-03-02\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove unneeded \u003ccode\u003etype=\u0026quot;text/javascript\u0026quot;\u003c/code\u003e attribute from \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e tag [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5454\"\u003e#5454\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/hannob\"\u003e\u003ccode\u003e@​hannob\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eRemove global warning format side effect [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5481\"\u003e#5481\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/emmanuel-ferdman\"\u003e\u003ccode\u003e@​emmanuel-ferdman\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eFix spurious engine deprecation warning in write_image [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5517\"\u003e#5517\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/mosh3eb\"\u003e\u003ccode\u003e@​mosh3eb\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate plotly.js from version 3.3.1 to version 3.4.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.4.0\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5527\"\u003e#5527\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd support for clicking legend titles to toggle visibility of all traces in legend [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7698\"\u003e#7698\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for shapes to reference multiple axes [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7666\"\u003e#7666\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for dashed marker lines in scatter plots [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7673\"\u003e#7673\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eIncrease axis autorange when bar charts have outside text labels, to avoid labels being clipped [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7675\"\u003e#7675\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/837d27ec070275f4a18c321defcb24c4ecf5b20f\"\u003e\u003ccode\u003e837d27e\u003c/code\u003e\u003c/a\u003e changes for v6.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/e0278b3dee031cd634806a49b65a7dd7bba61dfe\"\u003e\u003ccode\u003ee0278b3\u003c/code\u003e\u003c/a\u003e update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/bb783da8cfd54a06794642490a25e1dfc504bc4b\"\u003e\u003ccode\u003ebb783da\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5516\"\u003e#5516\u003c/a\u003e from plotly/new-charts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/5aabff0817817cce330260b7f0e759f7fab75f36\"\u003e\u003ccode\u003e5aabff0\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into new-charts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/03fd2ed4dedcf9135e87bf01fee206bc7cac9142\"\u003e\u003ccode\u003e03fd2ed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5527\"\u003e#5527\u003c/a\u003e from plotly/update-plotlyjs-3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/aee4c33edf5554694cc9b7371e188bda02c90c24\"\u003e\u003ccode\u003eaee4c33\u003c/code\u003e\u003c/a\u003e update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/46a8aa297ca7158103fc9d4f43feee44fa3ef297\"\u003e\u003ccode\u003e46a8aa2\u003c/code\u003e\u003c/a\u003e update js artifacts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/7dc360cd1f42e997ebef09d2eeb30a6029edc2fa\"\u003e\u003ccode\u003e7dc360c\u003c/code\u003e\u003c/a\u003e update package-lock\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/cf1b9ae1d9ee673ef849118647487b6fb7e80890\"\u003e\u003ccode\u003ecf1b9ae\u003c/code\u003e\u003c/a\u003e upgrade plotly.js to v3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/a4832a87756bdf6994934d83160ccc0121f5fb1b\"\u003e\u003ccode\u003ea4832a8\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into new-charts\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/plotly/plotly.py/compare/v6.5.2...v6.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pandera` from 0.29.0 to 0.30.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pandera-dev/pandera/releases\"\u003epandera's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.30.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor Pandera accessors to use schema registry for managing schemas by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2241\"\u003eunionai-oss/pandera#2241\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epolars: support instance types by \u003ca href=\"https://github.com/paramsehrdl\"\u003e\u003ccode\u003e@​paramsehrdl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2239\"\u003eunionai-oss/pandera#2239\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/paramsehrdl\"\u003e\u003ccode\u003e@​paramsehrdl\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2239\"\u003eunionai-oss/pandera#2239\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/unionai-oss/pandera/compare/v0.30.0...v0.30.1\"\u003ehttps://github.com/unionai-oss/pandera/compare/v0.30.0...v0.30.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.30.0: Support Pandas \u0026gt;=3 🐼\u003c/h2\u003e\n\u003ch1\u003e⭐️ Highlight\u003c/h1\u003e\n\u003cp\u003ePandera now supports Pandas \u0026gt;= 3!\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport pandas 3.0 by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2214\"\u003eunionai-oss/pandera#2214\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003epre-commit\u003c/code\u003e with \u003ccode\u003eprek\u003c/code\u003e and fix existing violations by \u003ca href=\"https://github.com/Dev-iL\"\u003e\u003ccode\u003e@​Dev-iL\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2225\"\u003eunionai-oss/pandera#2225\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove vestigial \u003ccode\u003eordering\u003c/code\u003e parameter from polars \u003ccode\u003eCategorical\u003c/code\u003e by \u003ca href=\"https://github.com/Dev-iL\"\u003e\u003ccode\u003e@​Dev-iL\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2226\"\u003eunionai-oss/pandera#2226\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd AGENTS.md by \u003ca href=\"https://github.com/Dev-iL\"\u003e\u003ccode\u003e@​Dev-iL\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2224\"\u003eunionai-oss/pandera#2224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix optional nested validation by \u003ca href=\"https://github.com/amerberg\"\u003e\u003ccode\u003e@​amerberg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2218\"\u003eunionai-oss/pandera#2218\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[🐼 pandas 3] change default string to pandas-native string by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2229\"\u003eunionai-oss/pandera#2229\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor empty DataFrame creation in DataFrameModel to eliminate deep copy by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2230\"\u003eunionai-oss/pandera#2230\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eimplement PydanticModel for polars by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2231\"\u003eunionai-oss/pandera#2231\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epolars column regex reports column name by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2233\"\u003eunionai-oss/pandera#2233\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix bug in custom parser, built-in check, drop invalid rows by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2234\"\u003eunionai-oss/pandera#2234\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eunpin geopandas by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2236\"\u003eunionai-oss/pandera#2236\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix pandas docs reference in conf.py by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2237\"\u003eunionai-oss/pandera#2237\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/Dev-iL\"\u003e\u003ccode\u003e@​Dev-iL\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2225\"\u003eunionai-oss/pandera#2225\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/unionai-oss/pandera/compare/v0.29.0...v0.30.0\"\u003ehttps://github.com/unionai-oss/pandera/compare/v0.29.0...v0.30.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/unionai-oss/pandera/commit/85a8af4bf37d7cf366cda926859638494435ab02\"\u003e\u003ccode\u003e85a8af4\u003c/code\u003e\u003c/a\u003e polars: support instance types (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2239\"\u003e#2239\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/00f9e70d5b8e8b9d3bc52fd662121aacf387e4fb\"\u003e\u003ccode\u003e00f9e70\u003c/code\u003e\u003c/a\u003e Refactor Pandera accessors to use schema registry for managing schemas (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2241\"\u003e#2241\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/e7e0e65879c32b36c3533a498c96bb5be2a3ee88\"\u003e\u003ccode\u003ee7e0e65\u003c/code\u003e\u003c/a\u003e fix pandas docs reference in conf.py (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2237\"\u003e#2237\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/61b1f90cf0283465d6487328ca3457439c11859f\"\u003e\u003ccode\u003e61b1f90\u003c/code\u003e\u003c/a\u003e unpin geopandas (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2236\"\u003e#2236\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/96e4f9f17666f4b2eccf88ab68af25f9848e6323\"\u003e\u003ccode\u003e96e4f9f\u003c/code\u003e\u003c/a\u003e fix bug in custom parser, built-in check, drop invalid rows (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2234\"\u003e#2234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/1be68563610336e08c3f8b2db224fb4d737135a5\"\u003e\u003ccode\u003e1be6856\u003c/code\u003e\u003c/a\u003e polars column regex reports column name (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2233\"\u003e#2233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/2aee13dcee12f5cc2e2467caaaa20ab158588e0f\"\u003e\u003ccode\u003e2aee13d\u003c/code\u003e\u003c/a\u003e implement PydanticModel for polars (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2231\"\u003e#2231\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/7492a0084f7d906085346a29fa3289a1da7c4734\"\u003e\u003ccode\u003e7492a00\u003c/code\u003e\u003c/a\u003e Refactor empty DataFrame creation in DataFrameModel to eliminate deepcopy and...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/766eddce54f00b562ae014889321b05f7574432c\"\u003e\u003ccode\u003e766eddc\u003c/code\u003e\u003c/a\u003e [🐼 pandas 3] change default string to pandas-native string (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2229\"\u003e#2229\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/6900659ca7bc10544e0088b2b1d21b03995b641b\"\u003e\u003ccode\u003e6900659\u003c/code\u003e\u003c/a\u003e fix optional nested validation (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2218\"\u003e#2218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandera-dev/pandera/compare/v0.29.0...v0.30.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `shap` from 0.49.1 to 0.51.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/shap/shap/releases\"\u003eshap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.51.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: check first that the feature is not in the leaf node by \u003ca href=\"https://github.com/Far-naz\"\u003e\u003ccode\u003e@​Far-naz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4268\"\u003eshap/shap#4268\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix missing array to scalar conversion in MAPLE by \u003ca href=\"https://github.com/Scienfitz\"\u003e\u003ccode\u003e@​Scienfitz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4285\"\u003eshap/shap#4285\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix Python Version of Tree SHAP notebook by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4289\"\u003eshap/shap#4289\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix path-dependent SHAP NaN with small background datasets by \u003ca href=\"https://github.com/tudstudent\"\u003e\u003ccode\u003e@​tudstudent\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4272\"\u003eshap/shap#4272\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix IndexError in format_value() when handling empty strings by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4238\"\u003eshap/shap#4238\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix test_scatter_categorical for pandas 3.0 compatibility by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4253\"\u003eshap/shap#4253\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix SamplingExplainer.explain for Series. by \u003ca href=\"https://github.com/ljw20180420\"\u003e\u003ccode\u003e@​ljw20180420\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4200\"\u003eshap/shap#4200\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd tests for fixed masker by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4216\"\u003eshap/shap#4216\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd comprehensive type hints to production code by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4217\"\u003eshap/shap#4217\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eunpin versions and pin numba, skip causalml test by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4235\"\u003eshap/shap#4235\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify TreeExplainer binary classification returns different shapes per model by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4254\"\u003eshap/shap#4254\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd tests for explainers by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4218\"\u003eshap/shap#4218\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Colab Notebook to test GPUTreeExplainer by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4266\"\u003eshap/shap#4266\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix spelling error in docs: perterbation to perturbation by \u003ca href=\"https://github.com/laffertyryan0\"\u003e\u003ccode\u003e@​laffertyryan0\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4275\"\u003eshap/shap#4275\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate test_scatter to work with latest xgboost by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4278\"\u003eshap/shap#4278\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd ai usage policy at appropriate place in contributing, mention contributing in readme by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4279\"\u003eshap/shap#4279\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeprecate testing of newer llvmlite versions on macos x64_86 by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4286\"\u003eshap/shap#4286\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/ljw20180420\"\u003e\u003ccode\u003e@​ljw20180420\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4200\"\u003eshap/shap#4200\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4238\"\u003eshap/shap#4238\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/laffertyryan0\"\u003e\u003ccode\u003e@​laffertyryan0\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4275\"\u003eshap/shap#4275\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tudstudent\"\u003e\u003ccode\u003e@​tudstudent\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4272\"\u003eshap/shap#4272\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Far-naz\"\u003e\u003ccode\u003e@​Far-naz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4268\"\u003eshap/shap#4268\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Scienfitz\"\u003e\u003ccode\u003e@​Scienfitz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4285\"\u003eshap/shap#4285\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/shap/shap/compare/v0.50.0...v0.51.0\"\u003ehttps://github.com/shap/shap/compare/v0.50.0...v0.51.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.50.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ehand over threshold_types to GPUTreeExplainer by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4181\"\u003eshap/shap#4181\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove base_score assignment by \u003ca href=\"https://github.com/lsdxp\"\u003e\u003ccode\u003e@​lsdxp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4187\"\u003eshap/shap#4187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest against python 3.14, remove support for python 3.9 and 3.10 by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4176\"\u003eshap/shap#4176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways force transformers label2id ids to integers by \u003ca href=\"https://github.com/evamaxfield\"\u003e\u003ccode\u003e@​evamaxfield\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4192\"\u003eshap/shap#4192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix gpu tree explainer tests by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4199\"\u003eshap/shap#4199\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/lsdxp\"\u003e\u003ccode\u003e@​lsdxp\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4187\"\u003eshap/shap#4187\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/shap/shap/commit/03a6cd101aee0c706cad1568419bfa9d3c4f494c\"\u003e\u003ccode\u003e03a6cd1\u003c/code\u003e\u003c/a\u003e fix Python Version of Tree SHAP notebook (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4289\"\u003e#4289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/e9440d603b28413031e99016b74650c4b62a0091\"\u003e\u003ccode\u003ee9440d6\u003c/code\u003e\u003c/a\u003e Fix missing array to scalar conversion in MAPLE (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4285\"\u003e#4285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/1afee43abe03b557e309f495bd6d3b9d7bc850ec\"\u003e\u003ccode\u003e1afee43\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4287\"\u003e#4287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/7e95ee28f5f0c2fd9f2489cd2475e627232cd9ae\"\u003e\u003ccode\u003e7e95ee2\u003c/code\u003e\u003c/a\u003e deprecate testing of newer llvmlite versions on macos x64_86 (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4286\"\u003e#4286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/61f0f8e3e0168aba1ca8f40bb8f352c37ad1519e\"\u003e\u003ccode\u003e61f0f8e\u003c/code\u003e\u003c/a\u003e fix: check first that the feature is not in the leaf node (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4268\"\u003e#4268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/a613dab7d9443a993a7c7f7e5bb5c9f28e309d3d\"\u003e\u003ccode\u003ea613dab\u003c/code\u003e\u003c/a\u003e update pyproject toml to ignore benchmark in test coverage (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4281\"\u003e#4281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/b4547a038b379f5f14abd3fa9b449d6f661a3ce2\"\u003e\u003ccode\u003eb4547a0\u003c/code\u003e\u003c/a\u003e mention contributing in readme and update AI Policy (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4279\"\u003e#4279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/89de977aac62c4708b3200622423261451c52421\"\u003e\u003ccode\u003e89de977\u003c/code\u003e\u003c/a\u003e add AI policy and claude skill\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/0eeea53d09a85b992a79f1ed1dd2d7e6ce04489f\"\u003e\u003ccode\u003e0eeea53\u003c/code\u003e\u003c/a\u003e Fix path-dependent SHAP NaN with small background datasets (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4272\"\u003e#4272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/24e86f3a4e47589ac4dcb1433b21aaa1ef832260\"\u003e\u003ccode\u003e24e86f3\u003c/code\u003e\u003c/a\u003e build(deps): bump qs and express in /javascript (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4242\"\u003e#4242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/shap/shap/compare/v0.49.1...v0.51.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `optuna` from 4.7.0 to 4.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.8.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/73?closed=1\"\u003ev4.8.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eSupport for Constant Liar Strategy to GPSampler\u003c/h2\u003e\n\u003cp\u003eA constant liar strategy for efficient parallelization has been introduced to GPSampler by \u003ca href=\"https://github.com/sawa3030\"\u003e\u003ccode\u003e@​sawa3030\u003c/code\u003e\u003c/a\u003e. The figures (left: v4.7.0, right: v4.8.0) show that the overlap of search points has decreased, and a wider variety of solutions are being explored. The experiment uses \u003ccode\u003en_jobs = 10\u003c/code\u003e and \u003ccode\u003en_trials = 100\u003c/code\u003e. Currently, this feature supports single-objective and unconstrained optimization. Further extensions are coming in v4.9.0.\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003ev4.7.0\u003c/th\u003e\n\u003cth\u003ev4.8.0\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eSHAP-like beeswarm plot visualization\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/yasumorishima\"\u003e\u003ccode\u003e@​yasumorishima\u003c/code\u003e\u003c/a\u003e introduces the new visualization to OptunaHub. Please refer to \u003ca href=\"https://hub.optuna.org/visualization/plot_beeswarm/\"\u003ehttps://hub.optuna.org/visualization/plot_beeswarm/\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch1\u003eNew Features\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Trackio Integration for Optuna (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/259\"\u003eoptuna/optuna-integration#259\u003c/a\u003e, thanks \u003ca href=\"https://github.com/ParagEkbote\"\u003e\u003ccode\u003e@​ParagEkbote\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eAdd constant liar strategy to \u003ccode\u003eGPSampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6430\"\u003e#6430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eValidate artifact_id in FileSystemArtifactStore to prevent path traversal (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6432\"\u003e#6432\u003c/a\u003e, thanks \u003ca href=\"https://github.com/RinZ27\"\u003e\u003ccode\u003e@​RinZ27\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003efix: correct inverted warning message in pareto front plot (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e, thanks \u003ca href=\"https://github.com/aerosta\"\u003e\u003ccode\u003e@​aerosta\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix shared callback state in parallel OptunaSearchCV with LightGBM (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/260\"\u003eoptuna/optuna-integration#260\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Quant-Quasar\"\u003e\u003ccode\u003e@​Quant-Quasar\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix GPSampler crash when torch default device is CUDA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6418\"\u003e#6418\u003c/a\u003e, thanks \u003ca href=\"https://github.com/VedantMadane\"\u003e\u003ccode\u003e@​VedantMadane\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix combination between \u003ccode\u003ePartialFixedSampler\u003c/code\u003e and \u003ccode\u003eTPESampler\u003c/code\u003e with group decomposed search space (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6428\"\u003e#6428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTPESampler\u003c/code\u003e with \u003ccode\u003emultivariate\u003c/code\u003e and \u003ccode\u003econstant_liar\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDocumentation\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd documentation indicating that \u003ccode\u003eWilcoxonPruner\u003c/code\u003e requires \u003ccode\u003escipy\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6477\"\u003e#6477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove version \u0026amp; language selectors in the sidebar of docs (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6482\"\u003e#6482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eExamples\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eApply black 26.1.0 (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/348\"\u003eoptuna/optuna-examples#348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove CI workflow for allennlp since no longer maintained (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/351\"\u003eoptuna/optuna-examples#351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce the frequency of scheduled CI triggers (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/352\"\u003eoptuna/optuna-examples#352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove the scheduled trigger for \u003ccode\u003eaim\u003c/code\u003e CI (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/353\"\u003eoptuna/optuna-examples#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd constraint to \u003ccode\u003etransformers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/355\"\u003eoptuna/optuna-examples#355\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eTests\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/689c62dbfc14f3476c51c14fda2e4f818ed2ee30\"\u003e\u003ccode\u003e689c62d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6509\"\u003e#6509\u003c/a\u003e from y0z/feature/bump-up-release480\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/9e2e0658ee6205c69993cf4204fabe6353249441\"\u003e\u003ccode\u003e9e2e065\u003c/code\u003e\u003c/a\u003e Bump up version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/54fe633c042be32f9a8c90b440e81c05406448d2\"\u003e\u003ccode\u003e54fe633\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6507\"\u003e#6507\u003c/a\u003e from sateeshkumarb/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/8efb8b4ffd749a95610e537a597ccaabde2e97db\"\u003e\u003ccode\u003e8efb8b4\u003c/code\u003e\u003c/a\u003e Move imports used for typecheck under TYPE_CHCKING\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/c0fcd2e4bba33783aa5e61e94be29dfc2cdcac0a\"\u003e\u003ccode\u003ec0fcd2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6506\"\u003e#6506\u003c/a\u003e from acabellom/fix-fstring-file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/087cc9d85e431df96ac54bec1de992fac9260e80\"\u003e\u003ccode\u003e087cc9d\u003c/code\u003e\u003c/a\u003e Replace .format() with f-strings in 002_configurations.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/274f5b906accb795569550164f418dd3f40338c2\"\u003e\u003ccode\u003e274f5b9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e from not522/fix-multivariate-constant_liar\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/ce882f6a4e1b0ecc328373cf989cbb16debdf1f6\"\u003e\u003ccode\u003ece882f6\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6265\"\u003e#6265\u003c/a\u003e from not522/relative-use-cache\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/f9e546d71f3fe515ee0df37ffe49d83f1f294c58\"\u003e\u003ccode\u003ef9e546d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e from aerosta/fix/pareto-front-warning-message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/535215b3890f10b0cd96e6a22aaad58821769c3d\"\u003e\u003ccode\u003e535215b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6502\"\u003e#6502\u003c/a\u003e from nightcityblade/fix/issue-6029-patient-pruner\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/optuna/optuna/compare/v4.7.0...v4.8.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.15.1 to 0.15.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.9\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-04-02.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Flag annotated variable redeclarations as \u003ccode\u003eF811\u003c/code\u003e in preview mode (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24244\"\u003e#24244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Allow dunder-named assignments in non-strict mode for \u003ccode\u003eRUF067\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24089\"\u003e#24089\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-errmsg\u003c/code\u003e] Avoid shadowing existing \u003ccode\u003emsg\u003c/code\u003e in fix for \u003ccode\u003eEM101\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24363\"\u003e#24363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Ignore pre-initialization references in \u003ccode\u003eSIM113\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24235\"\u003e#24235\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epycodestyle\u003c/code\u003e] Fix \u003ccode\u003eW391\u003c/code\u003e fixes for consecutive empty notebook cells (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24236\"\u003e#24236\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix \u003ccode\u003eUP008\u003c/code\u003e nested class matching (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24273\"\u003e#24273\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Ignore strings with string-only escapes (\u003ccode\u003eUP012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/16058\"\u003e#16058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] \u003ccode\u003eRUF072\u003c/code\u003e: skip formfeeds on dedent (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24308\"\u003e#24308\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Avoid re-using symbol in \u003ccode\u003eRUF024\u003c/code\u003e fix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24316\"\u003e#24316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Parenthesize expression in \u003ccode\u003eRUF050\u003c/code\u003e fix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24234\"\u003e#24234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisallow starred expressions as values of starred expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24280\"\u003e#24280\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-simplify\u003c/code\u003e] Suppress \u003ccode\u003eSIM105\u003c/code\u003e for \u003ccode\u003eexcept*\u003c/code\u003e before Python 3.12 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23869\"\u003e#23869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Extend \u003ccode\u003eF507\u003c/code\u003e to flag \u003ccode\u003e%\u003c/code\u003e-format strings with zero placeholders (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24215\"\u003e#24215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] \u003ccode\u003eUP018\u003c/code\u003e should detect more unnecessarily wrapped literals (UP018) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24093\"\u003e#24093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix \u003ccode\u003eUP008\u003c/code\u003e callable scope handling to support lambdas (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24274\"\u003e#24274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] \u003ccode\u003eRUF010\u003c/code\u003e: Mark fix as unsafe when it deletes a comment (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24270\"\u003e#24270\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFormatter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003enested-string-quote-style\u003c/code\u003e formatting option (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24312\"\u003e#24312\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Clarify RUF071 fix safety for non-path string comparisons (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24149\"\u003e#24149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Clarify import cycle wording for \u003ccode\u003eTC001\u003c/code\u003e/\u003ccode\u003eTC002\u003c/code\u003e/\u003ccode\u003eTC003\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24322\"\u003e#24322\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid rendering fix lines with trailing whitespace after \u003ccode\u003e|\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24343\"\u003e#24343\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/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\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\u003cli\u003e\u003ca href=\"https://github.com/tranhoangtu-it\"\u003e\u003ccode\u003e@​tranhoangtu-it\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylwil3\"\u003e\u003ccode\u003e@​dylwil3\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zsol\"\u003e\u003ccode\u003e@​zsol\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.9\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-04-02.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Flag annotated variable redeclarations as \u003ccode\u003eF811\u003c/code\u003e in preview mode (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24244\"\u003e#24244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Allow dunder-named assignments in non-strict mode for \u003ccode\u003eRUF067\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24089\"\u003e#24089\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-errmsg\u003c/code\u003e] Avoid shadowing existing \u003ccode\u003emsg\u003c/code\u003e in fix for \u003ccode\u003eEM101\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24363\"\u003e#24363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Ignore pre-initialization references in \u003ccode\u003eSIM113\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24235\"\u003e#24235\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epycodestyle\u003c/code\u003e] Fix \u003ccode\u003eW391\u003c/code\u003e fixes for consecutive empty notebook cells (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24236\"\u003e#24236\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix \u003ccode\u003eUP008\u003c/code\u003e nested class matching (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24273\"\u003e#24273\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Ignore strings with string-only escapes (\u003ccode\u003eUP012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/16058\"\u003e#16058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] \u003ccode\u003eRUF072\u003c/code\u003e: skip formfeeds on dedent (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24308\"\u003e#24308\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Avoid re-using symbol in \u003ccode\u003eRUF024\u003c/code\u003e fix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24316\"\u003e#24316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Parenthesize expression in \u003ccode\u003eRUF050\u003c/code\u003e fix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24234\"\u003e#24234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisallow starred expressions as values of starred expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24280\"\u003e#24280\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-simplify\u003c/code\u003e] Suppress \u003ccode\u003eSIM105\u003c/code\u003e for \u003ccode\u003eexcept*\u003c/code\u003e before Python 3.12 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23869\"\u003e#23869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Extend \u003ccode\u003eF507\u003c/code\u003e to flag \u003ccode\u003e%\u003c/code\u003e-format strings with zero placeholders (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24215\"\u003e#24215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] \u003ccode\u003eUP018\u003c/code\u003e should detect more unnecessarily wrapped literals (UP018) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24093\"\u003e#24093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix \u003ccode\u003eUP008\u003c/code\u003e callable scope handling to support lambdas (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24274\"\u003e#24274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] \u003ccode\u003eRUF010\u003c/code\u003e: Mark fix as unsafe when it deletes a comment (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24270\"\u003e#24270\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFormatter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003enested-string-quote-style\u003c/code\u003e formatting option (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24312\"\u003e#24312\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Clarify RUF071 fix safety for non-path string comparisons (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24149\"\u003e#24149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Clarify import cycle wording for \u003ccode\u003eTC001\u003c/code\u003e/\u003ccode\u003eTC002\u003c/code\u003e/\u003ccode\u003eTC003\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24322\"\u003e#24322\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid rendering fix lines with trailing whitespace after \u003ccode\u003e|\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24343\"\u003e#24343\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/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\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\u003cli\u003e\u003ca href=\"https://github.com/tranhoangtu-it\"\u003e\u003ccode\u003e@​tranhoangtu-it\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylwil3\"\u003e\u003ccode\u003e@​dylwil3\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zsol\"\u003e\u003ccode\u003e@​zsol\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\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/724ccc1ae8a61e872cf58435f2c073189dc248f2\"\u003e\u003ccode\u003e724ccc1\u003c/code\u003e\u003c/a\u003e Bump 0.15.9 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24369\"\u003e#24369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/96d9e0964cb87498ef15510ea7f896ba336659f9\"\u003e\u003ccode\u003e96d9e09\u003c/code\u003e\u003c/a\u003e [ty] Move the \u003ccode\u003edeferred\u003c/code\u003e submodule inside \u003ccode\u003einfer/builder\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24368\"\u003e#24368\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/130da28d610a466721bb942e8a5e0ec47bbe3469\"\u003e\u003ccode\u003e130da28\u003c/code\u003e\u003c/a\u003e [ty] Infer the \u003ccode\u003eextra_items\u003c/code\u003e keyword argument to class-based TypedDicts as an...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a617c54b0708a8c1eb850cc3b2a5caee21137a28\"\u003e\u003ccode\u003ea617c54\u003c/code\u003e\u003c/a\u003e [ty] Validate type qualifiers in functional TypedDict fields and the `extra_i...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d8517087c6cd0aa4f33dcede605ff642941dd74b\"\u003e\u003ccode\u003ed851708\u003c/code\u003e\u003c/a\u003e [ty] Improve robustness of various type-qualifier-related checks (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24251\"\u003e#24251\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/aecb5877c6d6fe035c03aba994ec3a7b935b8f02\"\u003e\u003ccode\u003eaecb587\u003c/code\u003e\u003c/a\u003e Only run the release-gate on workflow dispatch (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24366\"\u003e#24366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b88957174311030927bf564da32d05dee0eb89d9\"\u003e\u003ccode\u003eb889571\u003c/code\u003e\u003c/a\u003e [ty] Use \u003ccode\u003einfer_type_expression\u003c/code\u003e for parsing parameter annotations and return...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/3286a62be986a8d6d04d95b3bc619f06e012fa2f\"\u003e\u003ccode\u003e3286a62\u003c/code\u003e\u003c/a\u003e Add a \u0026quot;release-gate\u0026quot; step to the release workflow (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24365\"\u003e#24365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/5f88756ee10e3faf0e96c883c34c95fc78200536\"\u003e\u003ccode\u003e5f88756\u003c/code\u003e\u003c/a\u003e Disallow starred expressions as values of starred expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24280\"\u003e#24280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/5c59f8a46965cac3470f09972196c8620faa4626\"\u003e\u003ccode\u003e5c59f8a\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epyupgrade\u003c/code\u003e] Ignore strings with string-only escapes (\u003ccode\u003eUP012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/16058\"\u003e#16058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.1...0.15.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-cov` from 7.0.0 to 7.1.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.1.0 (2026-03-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixed total coverage computation to always be consistent, regardless of reporting settings.\nPreviously some reports could produce different total counts, and consequently can make --cov-fail-under behave different depending on\nreporting options.\nSee \u003ccode\u003e[#641](https://github.com/pytest-dev/pytest-cov/issues/641) \u0026lt;https://github.com/pytest-dev/pytest-cov/issues/641\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImprove handling of ResourceWarning from sqlite3.\u003c/p\u003e\n\u003cp\u003eThe plugin adds warning filter for sqlite3 \u003ccode\u003eResourceWarning\u003c/code\u003e unclosed database (since 6.2.0).\nIt checks if there is already existing plugin for this message by comparing filter regular expression.\nWhen filter is specified on command line the message is escaped and does not match an expected message.\nA check for an escaped regular expression is added to handle this case.\u003c/p\u003e\n\u003cp\u003eWith this fix one can suppress \u003ccode\u003eResourceWarning\u003c/code\u003e from sqlite3 from command line::\u003c/p\u003e\n\u003cp\u003epytest -W \u0026quot;ignore:unclosed database in \u0026lt;sqlite3.Connection object at:ResourceWarning\u0026quot; ...\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eVarious improvements to documentation.\nContributed by Art Pelling in \u003ccode\u003e[#718](https://github.com/pytest-dev/pytest-cov/issues/718) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/718\u0026gt;\u003c/code\u003e_ and\n\u0026quot;vivodi\u0026quot; in \u003ccode\u003e[#738](https://github.com/pytest-dev/pytest-cov/issues/738) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/738\u0026gt;\u003c/code\u003e\u003cem\u003e.\nAlso closed \u003ccode\u003e[#736](https://github.com/pytest-dev/pytest-cov/issues/736) \u0026lt;https://github.com/pytest-dev/pytest-cov/issues/736\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed some assertions in tests.\nContributed by in Markéta Machová in \u003ccode\u003e[#722](https://github.com/pytest-dev/pytest-cov/issues/722) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/722\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemoved unnecessary coverage configuration copying (meant as a backup because reporting commands had configuration side-effects before coverage 5.0).\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/pytest-dev/pytest-cov/commit/66c8a526b1246b5eb8fb1bc218878131bc628622\"\u003e\u003ccode\u003e66c8a52\u003c/code\u003e\u003c/a\u003e Bump version: 7.0.0 → 7.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/f7076624784332594aa4cb3585d4757d295db15e\"\u003e\u003ccode\u003ef707662\u003c/code\u003e\u003c/a\u003e Make the examples use pypy 3.11.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/6049a7847872e3139e6c82e93787123df5dc8672\"\u003e\u003ccode\u003e6049a78\u003c/code\u003e\u003c/a\u003e Make context test use the old ctracer (seems the new sysmon tracer behaves di...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/8ebf20bbbc73478b3f8fd36d30237d9ea083f06b\"\u003e\u003ccode\u003e8ebf20b\u003c/code\u003e\u003c/a\u003e Update changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/861d30e60d571f97259c6b718b71c819d5dbc3b9\"\u003e\u003ccode\u003e861d30e\u003c/code\u003e\u003c/a\u003e Remove the backup context manager  - shouldn't be needed since coverage 5.0, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/fd4c956014035527f0c3c8d7faef3f8cfdadac7f\"\u003e\u003ccode\u003efd4c956\u003c/code\u003e\u003c/a\u003e Pass the precision on the nulled total (seems that there's some caching goion...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/78c9c4ecb005faf4962fd86ff7bf9c9cce9554d6\"\u003e\u003ccode\u003e78c9c4e\u003c/code\u003e\u003c/a\u003e Only run the 3.9 on older deps.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/4849a922e8be725c662a3d9175da571ace6545dc\"\u003e\u003ccode\u003e4849a92\u003c/code\u003e\u003c/a\u003e Punctuation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/197c35e2f37031fd1927715307ab6eed7cb3d2b7\"\u003e\u003ccode\u003e197c35e\u003c/code\u003e\u003c/a\u003e Update changelog and hopefully I don't forget to publish release again :))\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/14dc1c92d44108384e39803888635fdbfc578b7f\"\u003e\u003ccode\u003e14dc1c9\u003c/code\u003e\u003c/a\u003e Update examples to use 3.11 and make the adhoc layout example look a bit more...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-cov/compare/v7.0.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 `certifi` from 2026.1.4 to 2026.2.25\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/8571a4ba5205675107f9026d0008ad2d7a2778bf\"\u003e\u003ccode\u003e8571a4b\u003c/code\u003e\u003c/a\u003e 2026.02.25 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/6f7de00579d292af565bbb8a947643219794eb6d\"\u003e\u003ccode\u003e6f7de00\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 8.0.0 to 8.1.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/390\"\u003e#390\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/a1de59b15105cad768afed4f066b36171134f04a\"\u003e\u003ccode\u003ea1de59b\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.1 to 6.0.2 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/7f5ade5d8da615fd366e8de6a668271251c45d34\"\u003e\u003ccode\u003e7f5ade5\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 6.1.0 to 6.2.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2026.01.04...2026.02.25\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `charset-normalizer` from 3.4.4 to 3.4.7\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.7\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.6...3.4.7\"\u003e3.4.7\u003c/a\u003e (2026-04-02)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePre-built optimized version using mypy[c] v1.20.\u003c/li\u003e\n\u003cli\u003eRelax \u003ccode\u003esetuptools\u003c/code\u003e constraint to \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;82.1\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCorrectly remove SIG remnant in utf-7 decoded string. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/718\"\u003e#718\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/716\"\u003e#716\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.4.6\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.5...3.4.6\"\u003e3.4.6\u003c/a\u003e (2026-03-15)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFlattened the logic in \u003ccode\u003echarset_normalizer.md\u003c/code\u003e for higher performance. Removed \u003ccode\u003eeligible(..)\u003c/code\u003e and \u003ccode\u003efeed(...)\u003c/code\u003e\nin favor of \u003ccode\u003efeed_info(...)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound for mypy[c] to 1.20, for our optimized version.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eUNICODE_RANGES_COMBINED\u003c/code\u003e using Unicode blocks v17.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEdge case where noise difference between two candidates can be almost insignificant. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/672\"\u003e#672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCLI \u003ccode\u003e--normalize\u003c/code\u003e writing to wrong path when passing multiple files in. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/702\"\u003e#702\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFreethreaded pre-built wheels now shipped in PyPI starting with 3.14t. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/616\"\u003e#616\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.4.5\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.4...3.4.5\"\u003e3.4.5\u003c/a\u003e (2026-03-06)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003esetuptools\u003c/code\u003e constraint to \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;=82\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound of mypyc for the optional pre-built extension to v1.19.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd explicit link to lib math in our optimized build. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/692\"\u003e#692\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLogger level not restored correctly for empty byte sequences. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/701\"\u003e#701\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTypeError when passing bytearray to from_bytes. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/703\"\u003e#703\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eApplied safe micro-optimizations in both our noise detector and language detector.\u003c/li\u003e\n\u003cli\u003eRewrote the \u003ccode\u003equery_yes_no\u003c/code\u003e function (inside CLI) to avoid using ambiguous licensed code.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecd.py\u003c/code\u003e submodule into mypyc optional compilation to reduce further the performance impact.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\u003cbr /\u003e\nmypyc changed the usual binary output for the optimized wheel. Beware, especially if using PyInstaller or alike. See \u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/714\"\u003ejawah/charset_normalizer#714\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jawah/charset_normalizer/blob/master/CHANGELOG.md\"\u003echarset-normalizer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch...\n\n_Description has been truncated_","html_url":"https://github.com/iocariz/scoring_tools/pull/25","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/iocariz%2Fscoring_tools/issues/25","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/25/packages"},{"uuid":"4204721673","node_id":"PR_kwDORzaB6s7P87om","number":119,"state":"closed","title":"build(deps): Bump optuna from 3.6.2 to 4.8.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-04T14:19:09.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-04T11:55:33.000Z","updated_at":"2026-04-04T14:19:18.000Z","time_to_close":8616,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): Bump","packages":[{"name":"optuna","old_version":"3.6.2","new_version":"4.8.0","repository_url":"https://github.com/optuna/optuna"}],"path":null,"ecosystem":"pip"},"body":"Bumps [optuna](https://github.com/optuna/optuna) from 3.6.2 to 4.8.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.8.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/73?closed=1\"\u003ev4.8.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eSupport for Constant Liar Strategy to GPSampler\u003c/h2\u003e\n\u003cp\u003eA constant liar strategy for efficient parallelization has been introduced to GPSampler by \u003ca href=\"https://github.com/sawa3030\"\u003e\u003ccode\u003e@​sawa3030\u003c/code\u003e\u003c/a\u003e. The figures (left: v4.7.0, right: v4.8.0) show that the overlap of search points has decreased, and a wider variety of solutions are being explored. The experiment uses \u003ccode\u003en_jobs = 10\u003c/code\u003e and \u003ccode\u003en_trials = 100\u003c/code\u003e. Currently, this feature supports single-objective and unconstrained optimization. Further extensions are coming in v4.9.0.\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003ev4.7.0\u003c/th\u003e\n\u003cth\u003ev4.8.0\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eSHAP-like beeswarm plot visualization\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/yasumorishima\"\u003e\u003ccode\u003e@​yasumorishima\u003c/code\u003e\u003c/a\u003e introduces the new visualization to OptunaHub. Please refer to \u003ca href=\"https://hub.optuna.org/visualization/plot_beeswarm/\"\u003ehttps://hub.optuna.org/visualization/plot_beeswarm/\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch1\u003eNew Features\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Trackio Integration for Optuna (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/259\"\u003eoptuna/optuna-integration#259\u003c/a\u003e, thanks \u003ca href=\"https://github.com/ParagEkbote\"\u003e\u003ccode\u003e@​ParagEkbote\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eAdd constant liar strategy to \u003ccode\u003eGPSampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6430\"\u003e#6430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eValidate artifact_id in FileSystemArtifactStore to prevent path traversal (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6432\"\u003e#6432\u003c/a\u003e, thanks \u003ca href=\"https://github.com/RinZ27\"\u003e\u003ccode\u003e@​RinZ27\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003efix: correct inverted warning message in pareto front plot (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e, thanks \u003ca href=\"https://github.com/aerosta\"\u003e\u003ccode\u003e@​aerosta\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix shared callback state in parallel OptunaSearchCV with LightGBM (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/260\"\u003eoptuna/optuna-integration#260\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Quant-Quasar\"\u003e\u003ccode\u003e@​Quant-Quasar\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix GPSampler crash when torch default device is CUDA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6418\"\u003e#6418\u003c/a\u003e, thanks \u003ca href=\"https://github.com/VedantMadane\"\u003e\u003ccode\u003e@​VedantMadane\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix combination between \u003ccode\u003ePartialFixedSampler\u003c/code\u003e and \u003ccode\u003eTPESampler\u003c/code\u003e with group decomposed search space (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6428\"\u003e#6428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTPESampler\u003c/code\u003e with \u003ccode\u003emultivariate\u003c/code\u003e and \u003ccode\u003econstant_liar\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDocumentation\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd documentation indicating that \u003ccode\u003eWilcoxonPruner\u003c/code\u003e requires \u003ccode\u003escipy\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6477\"\u003e#6477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove version \u0026amp; language selectors in the sidebar of docs (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6482\"\u003e#6482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eExamples\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eApply black 26.1.0 (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/348\"\u003eoptuna/optuna-examples#348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove CI workflow for allennlp since no longer maintained (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/351\"\u003eoptuna/optuna-examples#351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce the frequency of scheduled CI triggers (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/352\"\u003eoptuna/optuna-examples#352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove the scheduled trigger for \u003ccode\u003eaim\u003c/code\u003e CI (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/353\"\u003eoptuna/optuna-examples#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd constraint to \u003ccode\u003etransformers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/355\"\u003eoptuna/optuna-examples#355\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eTests\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/689c62dbfc14f3476c51c14fda2e4f818ed2ee30\"\u003e\u003ccode\u003e689c62d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6509\"\u003e#6509\u003c/a\u003e from y0z/feature/bump-up-release480\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/9e2e0658ee6205c69993cf4204fabe6353249441\"\u003e\u003ccode\u003e9e2e065\u003c/code\u003e\u003c/a\u003e Bump up version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/54fe633c042be32f9a8c90b440e81c05406448d2\"\u003e\u003ccode\u003e54fe633\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6507\"\u003e#6507\u003c/a\u003e from sateeshkumarb/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/8efb8b4ffd749a95610e537a597ccaabde2e97db\"\u003e\u003ccode\u003e8efb8b4\u003c/code\u003e\u003c/a\u003e Move imports used for typecheck under TYPE_CHCKING\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/c0fcd2e4bba33783aa5e61e94be29dfc2cdcac0a\"\u003e\u003ccode\u003ec0fcd2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6506\"\u003e#6506\u003c/a\u003e from acabellom/fix-fstring-file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/087cc9d85e431df96ac54bec1de992fac9260e80\"\u003e\u003ccode\u003e087cc9d\u003c/code\u003e\u003c/a\u003e Replace .format() with f-strings in 002_configurations.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/274f5b906accb795569550164f418dd3f40338c2\"\u003e\u003ccode\u003e274f5b9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e from not522/fix-multivariate-constant_liar\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/ce882f6a4e1b0ecc328373cf989cbb16debdf1f6\"\u003e\u003ccode\u003ece882f6\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6265\"\u003e#6265\u003c/a\u003e from not522/relative-use-cache\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/f9e546d71f3fe515ee0df37ffe49d83f1f294c58\"\u003e\u003ccode\u003ef9e546d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e from aerosta/fix/pareto-front-warning-message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/535215b3890f10b0cd96e6a22aaad58821769c3d\"\u003e\u003ccode\u003e535215b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6502\"\u003e#6502\u003c/a\u003e from nightcityblade/fix/issue-6029-patient-pruner\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/optuna/optuna/compare/v3.6.2...v4.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=optuna\u0026package-manager=pip\u0026previous-version=3.6.2\u0026new-version=4.8.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/neuron7xLab/GeoSync/pull/119","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/neuron7xLab%2FGeoSync/issues/119","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/119/packages"},{"uuid":"4203951839","node_id":"PR_kwDOQAVVjs7P7pZb","number":34,"state":"closed","title":"[air](deps): Bump optuna from 4.1.0 to 4.8.0 in /python/requirements/ml","user":"dependabot[bot]","labels":["dependencies","python","stale"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-05-02T12:33:00.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-04T07:05:24.000Z","updated_at":"2026-05-02T12:33:09.000Z","time_to_close":2438856,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"[air](deps): Bump","packages":[{"name":"optuna","old_version":"4.1.0","new_version":"4.8.0","repository_url":"https://github.com/optuna/optuna"}],"path":"/python/requirements/ml","ecosystem":"pip"},"body":"Bumps [optuna](https://github.com/optuna/optuna) from 4.1.0 to 4.8.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.8.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/73?closed=1\"\u003ev4.8.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eSupport for Constant Liar Strategy to GPSampler\u003c/h2\u003e\n\u003cp\u003eA constant liar strategy for efficient parallelization has been introduced to GPSampler by \u003ca href=\"https://github.com/sawa3030\"\u003e\u003ccode\u003e@​sawa3030\u003c/code\u003e\u003c/a\u003e. The figures (left: v4.7.0, right: v4.8.0) show that the overlap of search points has decreased, and a wider variety of solutions are being explored. The experiment uses \u003ccode\u003en_jobs = 10\u003c/code\u003e and \u003ccode\u003en_trials = 100\u003c/code\u003e. Currently, this feature supports single-objective and unconstrained optimization. Further extensions are coming in v4.9.0.\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003ev4.7.0\u003c/th\u003e\n\u003cth\u003ev4.8.0\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eSHAP-like beeswarm plot visualization\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/yasumorishima\"\u003e\u003ccode\u003e@​yasumorishima\u003c/code\u003e\u003c/a\u003e introduces the new visualization to OptunaHub. Please refer to \u003ca href=\"https://hub.optuna.org/visualization/plot_beeswarm/\"\u003ehttps://hub.optuna.org/visualization/plot_beeswarm/\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch1\u003eNew Features\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Trackio Integration for Optuna (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/259\"\u003eoptuna/optuna-integration#259\u003c/a\u003e, thanks \u003ca href=\"https://github.com/ParagEkbote\"\u003e\u003ccode\u003e@​ParagEkbote\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eAdd constant liar strategy to \u003ccode\u003eGPSampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6430\"\u003e#6430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eValidate artifact_id in FileSystemArtifactStore to prevent path traversal (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6432\"\u003e#6432\u003c/a\u003e, thanks \u003ca href=\"https://github.com/RinZ27\"\u003e\u003ccode\u003e@​RinZ27\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003efix: correct inverted warning message in pareto front plot (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e, thanks \u003ca href=\"https://github.com/aerosta\"\u003e\u003ccode\u003e@​aerosta\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix shared callback state in parallel OptunaSearchCV with LightGBM (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/260\"\u003eoptuna/optuna-integration#260\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Quant-Quasar\"\u003e\u003ccode\u003e@​Quant-Quasar\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix GPSampler crash when torch default device is CUDA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6418\"\u003e#6418\u003c/a\u003e, thanks \u003ca href=\"https://github.com/VedantMadane\"\u003e\u003ccode\u003e@​VedantMadane\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix combination between \u003ccode\u003ePartialFixedSampler\u003c/code\u003e and \u003ccode\u003eTPESampler\u003c/code\u003e with group decomposed search space (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6428\"\u003e#6428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTPESampler\u003c/code\u003e with \u003ccode\u003emultivariate\u003c/code\u003e and \u003ccode\u003econstant_liar\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDocumentation\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd documentation indicating that \u003ccode\u003eWilcoxonPruner\u003c/code\u003e requires \u003ccode\u003escipy\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6477\"\u003e#6477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove version \u0026amp; language selectors in the sidebar of docs (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6482\"\u003e#6482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eExamples\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eApply black 26.1.0 (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/348\"\u003eoptuna/optuna-examples#348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove CI workflow for allennlp since no longer maintained (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/351\"\u003eoptuna/optuna-examples#351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce the frequency of scheduled CI triggers (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/352\"\u003eoptuna/optuna-examples#352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove the scheduled trigger for \u003ccode\u003eaim\u003c/code\u003e CI (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/353\"\u003eoptuna/optuna-examples#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd constraint to \u003ccode\u003etransformers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/355\"\u003eoptuna/optuna-examples#355\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eTests\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/689c62dbfc14f3476c51c14fda2e4f818ed2ee30\"\u003e\u003ccode\u003e689c62d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6509\"\u003e#6509\u003c/a\u003e from y0z/feature/bump-up-release480\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/9e2e0658ee6205c69993cf4204fabe6353249441\"\u003e\u003ccode\u003e9e2e065\u003c/code\u003e\u003c/a\u003e Bump up version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/54fe633c042be32f9a8c90b440e81c05406448d2\"\u003e\u003ccode\u003e54fe633\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6507\"\u003e#6507\u003c/a\u003e from sateeshkumarb/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/8efb8b4ffd749a95610e537a597ccaabde2e97db\"\u003e\u003ccode\u003e8efb8b4\u003c/code\u003e\u003c/a\u003e Move imports used for typecheck under TYPE_CHCKING\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/c0fcd2e4bba33783aa5e61e94be29dfc2cdcac0a\"\u003e\u003ccode\u003ec0fcd2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6506\"\u003e#6506\u003c/a\u003e from acabellom/fix-fstring-file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/087cc9d85e431df96ac54bec1de992fac9260e80\"\u003e\u003ccode\u003e087cc9d\u003c/code\u003e\u003c/a\u003e Replace .format() with f-strings in 002_configurations.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/274f5b906accb795569550164f418dd3f40338c2\"\u003e\u003ccode\u003e274f5b9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e from not522/fix-multivariate-constant_liar\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/ce882f6a4e1b0ecc328373cf989cbb16debdf1f6\"\u003e\u003ccode\u003ece882f6\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6265\"\u003e#6265\u003c/a\u003e from not522/relative-use-cache\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/f9e546d71f3fe515ee0df37ffe49d83f1f294c58\"\u003e\u003ccode\u003ef9e546d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e from aerosta/fix/pareto-front-warning-message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/535215b3890f10b0cd96e6a22aaad58821769c3d\"\u003e\u003ccode\u003e535215b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6502\"\u003e#6502\u003c/a\u003e from nightcityblade/fix/issue-6029-patient-pruner\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/optuna/optuna/compare/v4.1.0...v4.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=optuna\u0026package-manager=pip\u0026previous-version=4.1.0\u0026new-version=4.8.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/snorkel-marlin-repos/ray-project_ray_pr_55717_baed0557-8a30-41e3-8979-53ad3a31cf9d/pull/34","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/snorkel-marlin-repos%2Fray-project_ray_pr_55717_baed0557-8a30-41e3-8979-53ad3a31cf9d/issues/34","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/34/packages"},{"uuid":"4203950708","node_id":"PR_kwDOQAVSpM7P7pNj","number":33,"state":"open","title":"[air](deps): Bump optuna from 4.1.0 to 4.8.0 in /python/requirements/ml","user":"dependabot[bot]","labels":["dependencies","python","stale"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-04T07:04:45.000Z","updated_at":"2026-04-18T12:28:55.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"[air](deps): Bump","packages":[{"name":"optuna","old_version":"4.1.0","new_version":"4.8.0","repository_url":"https://github.com/optuna/optuna"}],"path":"/python/requirements/ml","ecosystem":"pip"},"body":"Bumps [optuna](https://github.com/optuna/optuna) from 4.1.0 to 4.8.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.8.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/73?closed=1\"\u003ev4.8.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eSupport for Constant Liar Strategy to GPSampler\u003c/h2\u003e\n\u003cp\u003eA constant liar strategy for efficient parallelization has been introduced to GPSampler by \u003ca href=\"https://github.com/sawa3030\"\u003e\u003ccode\u003e@​sawa3030\u003c/code\u003e\u003c/a\u003e. The figures (left: v4.7.0, right: v4.8.0) show that the overlap of search points has decreased, and a wider variety of solutions are being explored. The experiment uses \u003ccode\u003en_jobs = 10\u003c/code\u003e and \u003ccode\u003en_trials = 100\u003c/code\u003e. Currently, this feature supports single-objective and unconstrained optimization. Further extensions are coming in v4.9.0.\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003ev4.7.0\u003c/th\u003e\n\u003cth\u003ev4.8.0\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eSHAP-like beeswarm plot visualization\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/yasumorishima\"\u003e\u003ccode\u003e@​yasumorishima\u003c/code\u003e\u003c/a\u003e introduces the new visualization to OptunaHub. Please refer to \u003ca href=\"https://hub.optuna.org/visualization/plot_beeswarm/\"\u003ehttps://hub.optuna.org/visualization/plot_beeswarm/\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch1\u003eNew Features\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Trackio Integration for Optuna (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/259\"\u003eoptuna/optuna-integration#259\u003c/a\u003e, thanks \u003ca href=\"https://github.com/ParagEkbote\"\u003e\u003ccode\u003e@​ParagEkbote\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eAdd constant liar strategy to \u003ccode\u003eGPSampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6430\"\u003e#6430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eValidate artifact_id in FileSystemArtifactStore to prevent path traversal (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6432\"\u003e#6432\u003c/a\u003e, thanks \u003ca href=\"https://github.com/RinZ27\"\u003e\u003ccode\u003e@​RinZ27\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003efix: correct inverted warning message in pareto front plot (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e, thanks \u003ca href=\"https://github.com/aerosta\"\u003e\u003ccode\u003e@​aerosta\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix shared callback state in parallel OptunaSearchCV with LightGBM (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/260\"\u003eoptuna/optuna-integration#260\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Quant-Quasar\"\u003e\u003ccode\u003e@​Quant-Quasar\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix GPSampler crash when torch default device is CUDA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6418\"\u003e#6418\u003c/a\u003e, thanks \u003ca href=\"https://github.com/VedantMadane\"\u003e\u003ccode\u003e@​VedantMadane\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix combination between \u003ccode\u003ePartialFixedSampler\u003c/code\u003e and \u003ccode\u003eTPESampler\u003c/code\u003e with group decomposed search space (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6428\"\u003e#6428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTPESampler\u003c/code\u003e with \u003ccode\u003emultivariate\u003c/code\u003e and \u003ccode\u003econstant_liar\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDocumentation\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd documentation indicating that \u003ccode\u003eWilcoxonPruner\u003c/code\u003e requires \u003ccode\u003escipy\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6477\"\u003e#6477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove version \u0026amp; language selectors in the sidebar of docs (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6482\"\u003e#6482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eExamples\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eApply black 26.1.0 (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/348\"\u003eoptuna/optuna-examples#348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove CI workflow for allennlp since no longer maintained (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/351\"\u003eoptuna/optuna-examples#351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce the frequency of scheduled CI triggers (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/352\"\u003eoptuna/optuna-examples#352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove the scheduled trigger for \u003ccode\u003eaim\u003c/code\u003e CI (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/353\"\u003eoptuna/optuna-examples#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd constraint to \u003ccode\u003etransformers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/355\"\u003eoptuna/optuna-examples#355\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eTests\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/689c62dbfc14f3476c51c14fda2e4f818ed2ee30\"\u003e\u003ccode\u003e689c62d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6509\"\u003e#6509\u003c/a\u003e from y0z/feature/bump-up-release480\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/9e2e0658ee6205c69993cf4204fabe6353249441\"\u003e\u003ccode\u003e9e2e065\u003c/code\u003e\u003c/a\u003e Bump up version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/54fe633c042be32f9a8c90b440e81c05406448d2\"\u003e\u003ccode\u003e54fe633\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6507\"\u003e#6507\u003c/a\u003e from sateeshkumarb/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/8efb8b4ffd749a95610e537a597ccaabde2e97db\"\u003e\u003ccode\u003e8efb8b4\u003c/code\u003e\u003c/a\u003e Move imports used for typecheck under TYPE_CHCKING\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/c0fcd2e4bba33783aa5e61e94be29dfc2cdcac0a\"\u003e\u003ccode\u003ec0fcd2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6506\"\u003e#6506\u003c/a\u003e from acabellom/fix-fstring-file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/087cc9d85e431df96ac54bec1de992fac9260e80\"\u003e\u003ccode\u003e087cc9d\u003c/code\u003e\u003c/a\u003e Replace .format() with f-strings in 002_configurations.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/274f5b906accb795569550164f418dd3f40338c2\"\u003e\u003ccode\u003e274f5b9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e from not522/fix-multivariate-constant_liar\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/ce882f6a4e1b0ecc328373cf989cbb16debdf1f6\"\u003e\u003ccode\u003ece882f6\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6265\"\u003e#6265\u003c/a\u003e from not522/relative-use-cache\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/f9e546d71f3fe515ee0df37ffe49d83f1f294c58\"\u003e\u003ccode\u003ef9e546d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e from aerosta/fix/pareto-front-warning-message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/535215b3890f10b0cd96e6a22aaad58821769c3d\"\u003e\u003ccode\u003e535215b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6502\"\u003e#6502\u003c/a\u003e from nightcityblade/fix/issue-6029-patient-pruner\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/optuna/optuna/compare/v4.1.0...v4.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=optuna\u0026package-manager=pip\u0026previous-version=4.1.0\u0026new-version=4.8.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/snorkel-marlin-repos/ray-project_ray_pr_56513_43f4f4f0-f0f3-4b62-bc45-9d08bb2b35eb/pull/33","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/snorkel-marlin-repos%2Fray-project_ray_pr_56513_43f4f4f0-f0f3-4b62-bc45-9d08bb2b35eb/issues/33","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/33/packages"},{"uuid":"4155292003","node_id":"PR_kwDOMl9L2s7OI2bH","number":238,"state":"open","title":"build(deps): bump the python-packages-minor-patch group with 10 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-27T19:12:26.000Z","updated_at":"2026-03-27T19:18:51.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"python-packages-minor-patch","update_count":10,"packages":[{"name":"aio-pika","old_version":"9.6.1","new_version":"9.6.2","repository_url":"https://github.com/mosquito/aio-pika"},{"name":"llama-index-core","old_version":"0.14.16","new_version":"0.14.19","repository_url":"https://github.com/run-llama/llama_index"},{"name":"llama-index-llms-openai","old_version":"0.6.26","new_version":"0.7.4"},{"name":"optuna","old_version":"4.7.0","new_version":"4.8.0","repository_url":"https://github.com/optuna/optuna"},{"name":"ipython","old_version":"9.11.0","new_version":"9.12.0","repository_url":"https://github.com/ipython/ipython"},{"name":"ruff","old_version":"0.15.5","new_version":"0.15.8","repository_url":"https://github.com/astral-sh/ruff"},{"name":"coverage","old_version":"7.13.4","new_version":"7.13.5","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"pytest-env","old_version":"1.5.0","new_version":"1.6.0","repository_url":"https://github.com/pytest-dev/pytest-env"},{"name":"mkdocs-jupyter","old_version":"0.25.1","new_version":"0.26.1","repository_url":"https://github.com/danielfrg/mkdocs-jupyter"},{"name":"mkdocs-material","old_version":"9.7.5","new_version":"9.7.6","repository_url":"https://github.com/squidfunk/mkdocs-material"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-packages-minor-patch group with 10 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [aio-pika](https://github.com/mosquito/aio-pika) | `9.6.1` | `9.6.2` |\n| [llama-index-core](https://github.com/run-llama/llama_index) | `0.14.16` | `0.14.19` |\n| llama-index-llms-openai | `0.6.26` | `0.7.4` |\n| [optuna](https://github.com/optuna/optuna) | `4.7.0` | `4.8.0` |\n| [ipython](https://github.com/ipython/ipython) | `9.11.0` | `9.12.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.5` | `0.15.8` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.13.4` | `7.13.5` |\n| [pytest-env](https://github.com/pytest-dev/pytest-env) | `1.5.0` | `1.6.0` |\n| [mkdocs-jupyter](https://github.com/danielfrg/mkdocs-jupyter) | `0.25.1` | `0.26.1` |\n| [mkdocs-material](https://github.com/squidfunk/mkdocs-material) | `9.7.5` | `9.7.6` |\n\nUpdates `aio-pika` from 9.6.1 to 9.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mosquito/aio-pika/releases\"\u003eaio-pika's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.6.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInclude license file in built distributions via project.license-files by \u003ca href=\"https://github.com/julia-thorn\"\u003e\u003ccode\u003e@​julia-thorn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mosquito/aio-pika/pull/698\"\u003emosquito/aio-pika#698\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/julia-thorn\"\u003e\u003ccode\u003e@​julia-thorn\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mosquito/aio-pika/pull/698\"\u003emosquito/aio-pika#698\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/mosquito/aio-pika/compare/9.6.1...9.6.2\"\u003ehttps://github.com/mosquito/aio-pika/compare/9.6.1...9.6.2\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/mosquito/aio-pika/commit/8136a8cf6fd04413c9e6ac1a789944ac4b1a47fd\"\u003e\u003ccode\u003e8136a8c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mosquito/aio-pika/issues/698\"\u003e#698\u003c/a\u003e from julia-thorn/julia-thorn-patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mosquito/aio-pika/commit/31b82b102ac0133ff8322a3fc39db48409765055\"\u003e\u003ccode\u003e31b82b1\u003c/code\u003e\u003c/a\u003e Add license-files entry to pyproject.toml\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/mosquito/aio-pika/compare/9.6.1...9.6.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `llama-index-core` from 0.14.16 to 0.14.19\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/run-llama/llama_index/releases\"\u003ellama-index-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.19\u003c/h2\u003e\n\u003ch1\u003eRelease Notes\u003c/h1\u003e\n\u003ch2\u003e[2026-03-25]\u003c/h2\u003e\n\u003ch3\u003ellama-index-agent-agentmesh [0.2.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump the uv group across 49 directories with 1 update (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21083\"\u003e#21083\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-argilla [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump the uv group across 3 directories with 1 update (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21069\"\u003e#21069\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-core [0.14.19]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: pass \u003ccode\u003edelete_from_docstore\u003c/code\u003e parameter in \u003ccode\u003eBaseIndex.delete_ref_doc\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20990\"\u003e#20990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(core): preserve CTE names during schema prefixing in SQLDatabase.run_sql (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21028\"\u003e#21028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(core): align sync retrieval dedup key with async (hash + ref_doc_id) (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21034\"\u003e#21034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(core): raise ValueError instead of returning string from structured_predict (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21036\"\u003e#21036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(core): remove incorrect per-node delete calls in index helpers (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21050\"\u003e#21050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump the uv group across 49 directories with 1 update (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21083\"\u003e#21083\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump the uv group across 44 directories with 1 update (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21097\"\u003e#21097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eenable llama-cloud\u0026gt;1.0 install (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21140\"\u003e#21140\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-fireworks [0.5.2]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etest(embeddings-fireworks): add test suite and fix docs (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20977\"\u003e#20977\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-upstage [0.6.1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump the uv group across 49 directories with 1 update (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21083\"\u003e#21083\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-indices-managed-llama-cloud [0.11.1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: llama-cloud managed index and remove llamaparse reader (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21043\"\u003e#21043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eenable llama-cloud\u0026gt;1.0 install (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21140\"\u003e#21140\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-azure-openai [0.5.3]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eazure openai responses support (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21088\"\u003e#21088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix azure openai responses (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21099\"\u003e#21099\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-bedrock-converse [0.14.3]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003euse proper tool choice format in bedrock converse (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21098\"\u003e#21098\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-cohere [0.8.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs(cohere): update first basic usage example to chat API (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21108\"\u003e#21108\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/run-llama/llama_index/blob/main/CHANGELOG.md\"\u003ellama-index-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ellama-index-core [0.14.19]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: pass \u003ccode\u003edelete_from_docstore\u003c/code\u003e parameter in \u003ccode\u003eBaseIndex.delete_ref_doc\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20990\"\u003e#20990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(core): preserve CTE names during schema prefixing in SQLDatabase.run_sql (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21028\"\u003e#21028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(core): align sync retrieval dedup key with async (hash + ref_doc_id) (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21034\"\u003e#21034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(core): raise ValueError instead of returning string from structured_predict (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21036\"\u003e#21036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(core): remove incorrect per-node delete calls in index helpers (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21050\"\u003e#21050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump the uv group across 49 directories with 1 update (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21083\"\u003e#21083\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump the uv group across 44 directories with 1 update (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21097\"\u003e#21097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eenable llama-cloud\u0026gt;1.0 install (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21140\"\u003e#21140\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-fireworks [0.5.2]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etest(embeddings-fireworks): add test suite and fix docs (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20977\"\u003e#20977\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-upstage [0.6.1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump the uv group across 49 directories with 1 update (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21083\"\u003e#21083\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-indices-managed-llama-cloud [0.11.1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: llama-cloud managed index and remove llamaparse reader (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21043\"\u003e#21043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eenable llama-cloud\u0026gt;1.0 install (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21140\"\u003e#21140\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-azure-openai [0.5.3]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eazure openai responses support (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21088\"\u003e#21088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix azure openai responses (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21099\"\u003e#21099\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-bedrock-converse [0.14.3]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003euse proper tool choice format in bedrock converse (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21098\"\u003e#21098\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-cohere [0.8.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs(cohere): update first basic usage example to chat API (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21108\"\u003e#21108\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-google-genai [0.9.1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: gemini 3 default and temperature (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21060\"\u003e#21060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(google-genai): avoid mutating messages list in prepare_chat_params (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21141\"\u003e#21141\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-litellm [0.7.1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for custom LLM provider in model kwargs (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21095\"\u003e#21095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-minimax [0.1.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add MiniMax LLM provider integration with M2.7 default (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20955\"\u003e#20955\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/run-llama/llama_index/commit/6a3269261d0df1ea8cc5adab8e16ffda6b166d58\"\u003e\u003ccode\u003e6a32692\u003c/code\u003e\u003c/a\u003e Release 0.14.19 (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21147\"\u003e#21147\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/1b21484406c09e50a6bc2727d2f0d45373af6fed\"\u003e\u003ccode\u003e1b21484\u003c/code\u003e\u003c/a\u003e enable llama-cloud\u0026gt;1.0 install (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21140\"\u003e#21140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/465959b10fdbf776a2a9482f7d2cb1652eab7c77\"\u003e\u003ccode\u003e465959b\u003c/code\u003e\u003c/a\u003e fix(google-genai): avoid mutating messages list in prepare_chat_params (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21141\"\u003e#21141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/c4e586301723d456c3999762c4a02e6a78f130b8\"\u003e\u003ccode\u003ec4e5863\u003c/code\u003e\u003c/a\u003e restrict new packages (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21139\"\u003e#21139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/ea76d2caee7433f0b598234c2154f12f463a5d6e\"\u003e\u003ccode\u003eea76d2c\u003c/code\u003e\u003c/a\u003e docs(cohere): update first basic usage example to chat API (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21108\"\u003e#21108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/58ee450dc074a663b69b9be6f37a972af65b9d15\"\u003e\u003ccode\u003e58ee450\u003c/code\u003e\u003c/a\u003e fix bedrock tests (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21129\"\u003e#21129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/c346327e51eaf26c84a495f8bee1f9ea81542bc7\"\u003e\u003ccode\u003ec346327\u003c/code\u003e\u003c/a\u003e fix azure openai responses (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21099\"\u003e#21099\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/2b74a92798d543ded57e7d392451ad0d64a74f8c\"\u003e\u003ccode\u003e2b74a92\u003c/code\u003e\u003c/a\u003e fix(ollama): pass custom headers to auto-created clients (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21091\"\u003e#21091\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/edd23cc730feb78002c08ba8aade1628238c5428\"\u003e\u003ccode\u003eedd23cc\u003c/code\u003e\u003c/a\u003e chore(deps): bump tornado from 6.5.4 to 6.5.5 in /docs/api_reference in the p...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/2cc2e465637c0900e8fd5cdea4bc70d0d965922c\"\u003e\u003ccode\u003e2cc2e46\u003c/code\u003e\u003c/a\u003e feat(llms/openai): Add support for Mini and Nano variants of GPT 5.4 (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21065\"\u003e#21065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/run-llama/llama_index/compare/v0.14.16...v0.14.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `llama-index-llms-openai` from 0.6.26 to 0.7.4\n\nUpdates `optuna` from 4.7.0 to 4.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.8.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/73?closed=1\"\u003ev4.8.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eSupport for Constant Liar Strategy to GPSampler\u003c/h2\u003e\n\u003cp\u003eA constant liar strategy for efficient parallelization has been introduced to GPSampler by \u003ca href=\"https://github.com/sawa3030\"\u003e\u003ccode\u003e@​sawa3030\u003c/code\u003e\u003c/a\u003e. The figures (left: v4.7.0, right: v4.8.0) show that the overlap of search points has decreased, and a wider variety of solutions are being explored. The experiment uses \u003ccode\u003en_jobs = 10\u003c/code\u003e and \u003ccode\u003en_trials = 100\u003c/code\u003e. Currently, this feature supports single-objective and unconstrained optimization. Further extensions are coming in v4.9.0.\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003ev4.7.0\u003c/th\u003e\n\u003cth\u003ev4.8.0\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eSHAP-like beeswarm plot visualization\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/yasumorishima\"\u003e\u003ccode\u003e@​yasumorishima\u003c/code\u003e\u003c/a\u003e introduces the new visualization to OptunaHub. Please refer to \u003ca href=\"https://hub.optuna.org/visualization/plot_beeswarm/\"\u003ehttps://hub.optuna.org/visualization/plot_beeswarm/\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch1\u003eNew Features\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Trackio Integration for Optuna (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/259\"\u003eoptuna/optuna-integration#259\u003c/a\u003e, thanks \u003ca href=\"https://github.com/ParagEkbote\"\u003e\u003ccode\u003e@​ParagEkbote\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eAdd constant liar strategy to \u003ccode\u003eGPSampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6430\"\u003e#6430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eValidate artifact_id in FileSystemArtifactStore to prevent path traversal (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6432\"\u003e#6432\u003c/a\u003e, thanks \u003ca href=\"https://github.com/RinZ27\"\u003e\u003ccode\u003e@​RinZ27\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003efix: correct inverted warning message in pareto front plot (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e, thanks \u003ca href=\"https://github.com/aerosta\"\u003e\u003ccode\u003e@​aerosta\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix shared callback state in parallel OptunaSearchCV with LightGBM (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/260\"\u003eoptuna/optuna-integration#260\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Quant-Quasar\"\u003e\u003ccode\u003e@​Quant-Quasar\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix GPSampler crash when torch default device is CUDA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6418\"\u003e#6418\u003c/a\u003e, thanks \u003ca href=\"https://github.com/VedantMadane\"\u003e\u003ccode\u003e@​VedantMadane\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix combination between \u003ccode\u003ePartialFixedSampler\u003c/code\u003e and \u003ccode\u003eTPESampler\u003c/code\u003e with group decomposed search space (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6428\"\u003e#6428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTPESampler\u003c/code\u003e with \u003ccode\u003emultivariate\u003c/code\u003e and \u003ccode\u003econstant_liar\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDocumentation\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd documentation indicating that \u003ccode\u003eWilcoxonPruner\u003c/code\u003e requires \u003ccode\u003escipy\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6477\"\u003e#6477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove version \u0026amp; language selectors in the sidebar of docs (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6482\"\u003e#6482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eExamples\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eApply black 26.1.0 (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/348\"\u003eoptuna/optuna-examples#348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove CI workflow for allennlp since no longer maintained (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/351\"\u003eoptuna/optuna-examples#351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce the frequency of scheduled CI triggers (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/352\"\u003eoptuna/optuna-examples#352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove the scheduled trigger for \u003ccode\u003eaim\u003c/code\u003e CI (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/353\"\u003eoptuna/optuna-examples#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd constraint to \u003ccode\u003etransformers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/355\"\u003eoptuna/optuna-examples#355\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eTests\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/689c62dbfc14f3476c51c14fda2e4f818ed2ee30\"\u003e\u003ccode\u003e689c62d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6509\"\u003e#6509\u003c/a\u003e from y0z/feature/bump-up-release480\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/9e2e0658ee6205c69993cf4204fabe6353249441\"\u003e\u003ccode\u003e9e2e065\u003c/code\u003e\u003c/a\u003e Bump up version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/54fe633c042be32f9a8c90b440e81c05406448d2\"\u003e\u003ccode\u003e54fe633\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6507\"\u003e#6507\u003c/a\u003e from sateeshkumarb/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/8efb8b4ffd749a95610e537a597ccaabde2e97db\"\u003e\u003ccode\u003e8efb8b4\u003c/code\u003e\u003c/a\u003e Move imports used for typecheck under TYPE_CHCKING\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/c0fcd2e4bba33783aa5e61e94be29dfc2cdcac0a\"\u003e\u003ccode\u003ec0fcd2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6506\"\u003e#6506\u003c/a\u003e from acabellom/fix-fstring-file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/087cc9d85e431df96ac54bec1de992fac9260e80\"\u003e\u003ccode\u003e087cc9d\u003c/code\u003e\u003c/a\u003e Replace .format() with f-strings in 002_configurations.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/274f5b906accb795569550164f418dd3f40338c2\"\u003e\u003ccode\u003e274f5b9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e from not522/fix-multivariate-constant_liar\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/ce882f6a4e1b0ecc328373cf989cbb16debdf1f6\"\u003e\u003ccode\u003ece882f6\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6265\"\u003e#6265\u003c/a\u003e from not522/relative-use-cache\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/f9e546d71f3fe515ee0df37ffe49d83f1f294c58\"\u003e\u003ccode\u003ef9e546d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e from aerosta/fix/pareto-front-warning-message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/535215b3890f10b0cd96e6a22aaad58821769c3d\"\u003e\u003ccode\u003e535215b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6502\"\u003e#6502\u003c/a\u003e from nightcityblade/fix/issue-6029-patient-pruner\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/optuna/optuna/compare/v4.7.0...v4.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ipython` from 9.11.0 to 9.12.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/d9c6e314c3f31cb624cd443448e9094fdd49a1eb\"\u003e\u003ccode\u003ed9c6e31\u003c/code\u003e\u003c/a\u003e release 9.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/4c560d21ec7d6f72d2f150400fdab010790c81d7\"\u003e\u003ccode\u003e4c560d2\u003c/code\u003e\u003c/a\u003e security note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/bf954e4665168eeac39626164d76a646b683eaeb\"\u003e\u003ccode\u003ebf954e4\u003c/code\u003e\u003c/a\u003e Add release notes for 9.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/bfbdaaf71efae1d70ededaa0c0375400d7692d29\"\u003e\u003ccode\u003ebfbdaaf\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'ghsa/windows-programdata'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/8aae9a39bd6b44d4a798540a8d4863f73593ff57\"\u003e\u003ccode\u003e8aae9a3\u003c/code\u003e\u003c/a\u003e strip ansi for comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/e1aadc2c607df59f4d7313c60257ef9d43a46d7a\"\u003e\u003ccode\u003ee1aadc2\u003c/code\u003e\u003c/a\u003e fix test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/f48986a01e14eaed3504c474725e98700deae298\"\u003e\u003ccode\u003ef48986a\u003c/code\u003e\u003c/a\u003e fix-test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/d9b5285f5cb06aba35d4c3842cee7d2795afed7c\"\u003e\u003ccode\u003ed9b5285\u003c/code\u003e\u003c/a\u003e try to group tb frames\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/323552ea59fab72dcb36e4960caaffc18d3c5dae\"\u003e\u003ccode\u003e323552e\u003c/code\u003e\u003c/a\u003e Interleave fast and slow traceback path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/22cd33275bfccae3666f9f54d7f90fab924e517b\"\u003e\u003ccode\u003e22cd332\u003c/code\u003e\u003c/a\u003e Fix missing space in pdb chained exceptions warning message\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ipython/ipython/compare/9.11.0...9.12.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.15.5 to 0.15.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.8\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-26.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003eunnecessary-if\u003c/code\u003e (\u003ccode\u003eRUF050\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24114\"\u003e#24114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003euseless-finally\u003c/code\u003e (\u003ccode\u003eRUF072\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24165\"\u003e#24165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003ef-string-percent-format\u003c/code\u003e (\u003ccode\u003eRUF073\u003c/code\u003e): warn when using \u003ccode\u003e%\u003c/code\u003e operator on an f-string (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24162\"\u003e#24162\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Recognize \u003ccode\u003efrozendict\u003c/code\u003e as a builtin for Python 3.15+ (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24100\"\u003e#24100\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Use fully-qualified \u003ccode\u003eanyio.lowlevel\u003c/code\u003e import in autofix (\u003ccode\u003eASYNC115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24166\"\u003e#24166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Check tuple arguments for partial paths in \u003ccode\u003eS607\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24080\"\u003e#24080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Skip \u003ccode\u003eundefined-name\u003c/code\u003e (\u003ccode\u003eF821\u003c/code\u003e) for conditionally deleted variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24088\"\u003e#24088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eE501\u003c/code\u003e/\u003ccode\u003eW505\u003c/code\u003e/formatter: Exclude nested pragma comments from line width calculation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24071\"\u003e#24071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e%foo?\u003c/code\u003e parsing in IPython assignment expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24152\"\u003e#24152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eanalyze graph\u003c/code\u003e: resolve string imports that reference attributes, not just modules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24058\"\u003e#24058\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] ignore \u003ccode\u003ety: ignore\u003c/code\u003e comments in \u003ccode\u003eERA001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24192\"\u003e#24192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Treat \u003ccode\u003esys.executable\u003c/code\u003e as trusted input in \u003ccode\u003eS603\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24106\"\u003e#24106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-self\u003c/code\u003e] Recognize \u003ccode\u003eSelf\u003c/code\u003e annotation and \u003ccode\u003eself\u003c/code\u003e assignment in \u003ccode\u003eSLF001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24144\"\u003e#24144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] \u003ccode\u003eF507\u003c/code\u003e: Fix false negative for non-tuple RHS in \u003ccode\u003e%\u003c/code\u003e-formatting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24142\"\u003e#24142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Parenthesize generator arguments in \u003ccode\u003eFURB142\u003c/code\u003e fixer (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24200\"\u003e#24200\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up diagnostic rendering (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24146\"\u003e#24146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWarn when Markdown files are skipped due to preview being disabled (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24150\"\u003e#24150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarify \u003ccode\u003eextend-ignore\u003c/code\u003e and \u003ccode\u003eextend-select\u003c/code\u003e settings documentation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24064\"\u003e#24064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMention AI policy in PR template (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24198\"\u003e#24198\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse trusted publishing for NPM packages (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24171\"\u003e#24171\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/bitloi\"\u003e\u003ccode\u003e@​bitloi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Sim-hu\"\u003e\u003ccode\u003e@​Sim-hu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.8\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-26.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003eunnecessary-if\u003c/code\u003e (\u003ccode\u003eRUF050\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24114\"\u003e#24114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003euseless-finally\u003c/code\u003e (\u003ccode\u003eRUF072\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24165\"\u003e#24165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003ef-string-percent-format\u003c/code\u003e (\u003ccode\u003eRUF073\u003c/code\u003e): warn when using \u003ccode\u003e%\u003c/code\u003e operator on an f-string (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24162\"\u003e#24162\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Recognize \u003ccode\u003efrozendict\u003c/code\u003e as a builtin for Python 3.15+ (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24100\"\u003e#24100\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Use fully-qualified \u003ccode\u003eanyio.lowlevel\u003c/code\u003e import in autofix (\u003ccode\u003eASYNC115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24166\"\u003e#24166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Check tuple arguments for partial paths in \u003ccode\u003eS607\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24080\"\u003e#24080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Skip \u003ccode\u003eundefined-name\u003c/code\u003e (\u003ccode\u003eF821\u003c/code\u003e) for conditionally deleted variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24088\"\u003e#24088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eE501\u003c/code\u003e/\u003ccode\u003eW505\u003c/code\u003e/formatter: Exclude nested pragma comments from line width calculation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24071\"\u003e#24071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e%foo?\u003c/code\u003e parsing in IPython assignment expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24152\"\u003e#24152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eanalyze graph\u003c/code\u003e: resolve string imports that reference attributes, not just modules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24058\"\u003e#24058\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] ignore \u003ccode\u003ety: ignore\u003c/code\u003e comments in \u003ccode\u003eERA001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24192\"\u003e#24192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Treat \u003ccode\u003esys.executable\u003c/code\u003e as trusted input in \u003ccode\u003eS603\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24106\"\u003e#24106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-self\u003c/code\u003e] Recognize \u003ccode\u003eSelf\u003c/code\u003e annotation and \u003ccode\u003eself\u003c/code\u003e assignment in \u003ccode\u003eSLF001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24144\"\u003e#24144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] \u003ccode\u003eF507\u003c/code\u003e: Fix false negative for non-tuple RHS in \u003ccode\u003e%\u003c/code\u003e-formatting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24142\"\u003e#24142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Parenthesize generator arguments in \u003ccode\u003eFURB142\u003c/code\u003e fixer (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24200\"\u003e#24200\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up diagnostic rendering (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24146\"\u003e#24146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWarn when Markdown files are skipped due to preview being disabled (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24150\"\u003e#24150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarify \u003ccode\u003eextend-ignore\u003c/code\u003e and \u003ccode\u003eextend-select\u003c/code\u003e settings documentation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24064\"\u003e#24064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMention AI policy in PR template (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24198\"\u003e#24198\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse trusted publishing for NPM packages (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24171\"\u003e#24171\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/bitloi\"\u003e\u003ccode\u003e@​bitloi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Sim-hu\"\u003e\u003ccode\u003e@​Sim-hu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mvanhorn\"\u003e\u003ccode\u003e@​mvanhorn\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/c2a8815842f9dc5d24ec19385eae0f1a7188b0d9\"\u003e\u003ccode\u003ec2a8815\u003c/code\u003e\u003c/a\u003e Release 0.15.8 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24217\"\u003e#24217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d444d52e2b9cc8bc9a078c2bd4ff6ff993290209\"\u003e\u003ccode\u003ed444d52\u003c/code\u003e\u003c/a\u003e [ty] Infer lambda expressions with \u003ccode\u003eCallable\u003c/code\u003e type context (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22633\"\u003e#22633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9622285ed0081fc688149f6efca87f127d9b18dd\"\u003e\u003ccode\u003e9622285\u003c/code\u003e\u003c/a\u003e [ty] Autocomplete arguments if in arguments node (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24167\"\u003e#24167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d81266252aaf0820346d55edbed79c4f25ba13d2\"\u003e\u003ccode\u003ed812662\u003c/code\u003e\u003c/a\u003e Use the \u003ccode\u003erelease\u003c/code\u003e environment in \u003ccode\u003epublish-docs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24214\"\u003e#24214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/eda2355832f7a9c58aef6febd3e061dc9c87509a\"\u003e\u003ccode\u003eeda2355\u003c/code\u003e\u003c/a\u003e [ty] Show \u003ccode\u003eFinal\u003c/code\u003e source in final assignment diagnostic (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24194\"\u003e#24194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/929eb5238c82bfadad4549ff526f02efc0163dd0\"\u003e\u003ccode\u003e929eb52\u003c/code\u003e\u003c/a\u003e [ty] Enforce Final attribute assignment rules for annotated and augmented wri...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/34998be22ec3a77d398bbd55234ef8740f768329\"\u003e\u003ccode\u003e34998be\u003c/code\u003e\u003c/a\u003e [ty] Fix typo in comment (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24211\"\u003e#24211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/560aca0b2828ee2ff1b4bcc5c5ef1ef4ced229d2\"\u003e\u003ccode\u003e560aca0\u003c/code\u003e\u003c/a\u003e [ty] Minor simplifications to some benchmark code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24209\"\u003e#24209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/683bae512d03d3727a7bcdbc5a0170dafa049583\"\u003e\u003ccode\u003e683bae5\u003c/code\u003e\u003c/a\u003e [ty] Track non-terminal-call constraints in global scope (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23245\"\u003e#23245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/4704c2a4ff3dde2fd29324346720e9516b4fe387\"\u003e\u003ccode\u003e4704c2a\u003c/code\u003e\u003c/a\u003e [ty] Remove unnecessary intermediate collection in `StaticClassLiteral::field...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.5...0.15.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `coverage` from 7.13.4 to 7.13.5\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.5 — 2026-03-17\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: \u003ccode\u003eissue 2138\u003c/code\u003e_ describes a memory leak that happened when repeatedly\nusing the Coverage API with in-memory data. This is now fixed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the markdown-formatted coverage report didn't fully escape special\ncharacters in file paths (\u003ccode\u003eissue 2141\u003c/code\u003e\u003cem\u003e). This would be very unlikely to\ncause a problem, but now it's done properly, thanks to \u003ccode\u003eEllie Ayla \u0026lt;pull 2142_\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the C extension wouldn't build on VS2019, but now it does (\u003ccode\u003eissue 2145\u003c/code\u003e_).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 2138: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2138\"\u003ecoveragepy/coveragepy#2138\u003c/a\u003e\n.. _issue 2141: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2141\"\u003ecoveragepy/coveragepy#2141\u003c/a\u003e\n.. _pull 2142: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2142\"\u003ecoveragepy/coveragepy#2142\u003c/a\u003e\n.. _issue 2145: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2145\"\u003ecoveragepy/coveragepy#2145\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-13-4:\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/c88da144eef8cf78424331e5cbbde3e002eef43f\"\u003e\u003ccode\u003ec88da14\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.13.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/e2ac3e1ef644370101ff365acad3431d16076512\"\u003e\u003ccode\u003ee2ac3e1\u003c/code\u003e\u003c/a\u003e build: sample HTML shouldn't include the status.json file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/910f8f336541c2dcb4e9ec468144c7eb4a7779ac\"\u003e\u003ccode\u003e910f8f3\u003c/code\u003e\u003c/a\u003e docs: prep for 7.13.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/3a4819c24d3d20cb2670b99141517812ffa3fab0\"\u003e\u003ccode\u003e3a4819c\u003c/code\u003e\u003c/a\u003e style: make workflows more uniform\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/2a53705f5fe588158b8a8d37ff3beee86388b9e4\"\u003e\u003ccode\u003e2a53705\u003c/code\u003e\u003c/a\u003e chore: bump the action-dependencies group across 1 directory with 4 updates (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/e7c878d201db819416b978150944d9a842d22b18\"\u003e\u003ccode\u003ee7c878d\u003c/code\u003e\u003c/a\u003e chore: make upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/ab4db406a9c35acf977cf3ddb94a78d696b77bc5\"\u003e\u003ccode\u003eab4db40\u003c/code\u003e\u003c/a\u003e build: use --generate-hashes when pinning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/a438753eef870441044cef588e29ce4b9a28adf1\"\u003e\u003ccode\u003ea438753\u003c/code\u003e\u003c/a\u003e chore: make upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/7b33457d2c6367dfd5a563239998b3980444e090\"\u003e\u003ccode\u003e7b33457\u003c/code\u003e\u003c/a\u003e refactor: some leftover pyupgrade 3.10 bits\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/2ff968db91a7cdafe6f6569ac7659a3a93a2da07\"\u003e\u003ccode\u003e2ff968d\u003c/code\u003e\u003c/a\u003e refactor: this type wasn't used anywhere\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coveragepy/coveragepy/compare/7.13.4...7.13.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-env` from 1.5.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/pytest-dev/pytest-env/releases\"\u003epytest-env's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e✨ feat(env): preserve existing env values by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/pull/213\"\u003epytest-dev/pytest-env#213\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pytest-dev/pytest-env/compare/1.5.1...1.6.0\"\u003ehttps://github.com/pytest-dev/pytest-env/compare/1.5.1...1.6.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.5.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd permissions to workflows by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/pull/203\"\u003epytest-dev/pytest-env#203\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd SECURITY.md to .github/ by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/pull/206\"\u003epytest-dev/pytest-env#206\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing .github config files by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/pull/207\"\u003epytest-dev/pytest-env#207\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStandardize .github files to .yaml suffix by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/pull/208\"\u003epytest-dev/pytest-env#208\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix verbose source attribution when falling back to INI env by \u003ca href=\"https://github.com/shuofengzhang\"\u003e\u003ccode\u003e@​shuofengzhang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/pull/211\"\u003epytest-dev/pytest-env#211\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shuofengzhang\"\u003e\u003ccode\u003e@​shuofengzhang\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/pull/211\"\u003epytest-dev/pytest-env#211\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pytest-dev/pytest-env/compare/1.5.0...1.5.1\"\u003ehttps://github.com/pytest-dev/pytest-env/compare/1.5.0...1.5.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/8bd22d1b9d9d7594c408040610868743ca3d5a9b\"\u003e\u003ccode\u003e8bd22d1\u003c/code\u003e\u003c/a\u003e ✨ feat(env): preserve existing env values (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/issues/213\"\u003e#213\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/81f9e0e19d17169f03d9c078818421f34c45a67d\"\u003e\u003ccode\u003e81f9e0e\u003c/code\u003e\u003c/a\u003e Fix verbose source attribution when falling back to INI env (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/issues/211\"\u003e#211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/81dc95d54f09ebb9b6e5f704b86a4bb60552b08b\"\u003e\u003ccode\u003e81dc95d\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/issues/210\"\u003e#210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/439cc76fecbfbb95b6d3123a32bbc8030a9f95c0\"\u003e\u003ccode\u003e439cc76\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/issues/209\"\u003e#209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/b1b498e28cb76863a6e88c713a9bb09cdfbb0857\"\u003e\u003ccode\u003eb1b498e\u003c/code\u003e\u003c/a\u003e Standardize .github files to .yaml suffix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/066dadc7b4f8a40818e2c19c6bbd7281671eb081\"\u003e\u003ccode\u003e066dadc\u003c/code\u003e\u003c/a\u003e Add missing .github config files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/7d01327e395f0080dd6256c0cf30f2a8693c3c32\"\u003e\u003ccode\u003e7d01327\u003c/code\u003e\u003c/a\u003e Add SECURITY.md to .github/\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/04259c91dfbd4b77a053bcad5fd63d5d7d78ae5d\"\u003e\u003ccode\u003e04259c9\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 7 to 8 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/issues/205\"\u003e#205\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/4fdb9d8d6defe6fc40069455ec672fa3f1bef51f\"\u003e\u003ccode\u003e4fdb9d8\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/issues/204\"\u003e#204\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/672e44f059e03870caf87054aa7426411a8a9658\"\u003e\u003ccode\u003e672e44f\u003c/code\u003e\u003c/a\u003e Add permissions to workflows (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/issues/203\"\u003e#203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-env/compare/1.5.0...1.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocs-jupyter` from 0.25.1 to 0.26.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/danielfrg/mkdocs-jupyter/blob/main/CHANGELOG.md\"\u003emkdocs-jupyter's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003emkdocs-jupyter Change Log\u003c/h1\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danielfrg/mkdocs-jupyter/commit/8e47143281d76c492a335d031a36efd6ef013d08\"\u003e\u003ccode\u003e8e47143\u003c/code\u003e\u003c/a\u003e Release 0.26.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danielfrg/mkdocs-jupyter/commit/6420d554676941f9cfbde7e12e7eaa04d6b9b0c7\"\u003e\u003ccode\u003e6420d55\u003c/code\u003e\u003c/a\u003e Build assets on release CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danielfrg/mkdocs-jupyter/commit/25a79b5fbd7a03be5398cd128b05d353dcf99646\"\u003e\u003ccode\u003e25a79b5\u003c/code\u003e\u003c/a\u003e Release 0.26.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danielfrg/mkdocs-jupyter/commit/3b145c9e5d1f644c952ea11ec2f3331ceb0b6375\"\u003e\u003ccode\u003e3b145c9\u003c/code\u003e\u003c/a\u003e Add release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danielfrg/mkdocs-jupyter/commit/64f17aaf0229073791872d504b98306c97f01aa1\"\u003e\u003ccode\u003e64f17aa\u003c/code\u003e\u003c/a\u003e Add release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danielfrg/mkdocs-jupyter/commit/136080e4176ee358d46b990657fa8a463aaa2859\"\u003e\u003ccode\u003e136080e\u003c/code\u003e\u003c/a\u003e fix: backtick-stripping regex in nb2md() (\u003ca href=\"https://redirect.github.com/danielfrg/mkdocs-jupyter/issues/268\"\u003e#268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danielfrg/mkdocs-jupyter/commit/2bac0a22ec111d633745efb319541a19c2f6a41f\"\u003e\u003ccode\u003e2bac0a2\u003c/code\u003e\u003c/a\u003e Cache added to avoid recompiling unchanged notebooks (\u003ca href=\"https://redirect.github.com/danielfrg/mkdocs-jupyter/issues/267\"\u003e#267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danielfrg/mkdocs-jupyter/commit/98f3dbb917f1ffca8e13a58ac383de24b4ad2905\"\u003e\u003ccode\u003e98f3dbb\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003eipykernel\u0026gt;6,\u0026lt;8\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/danielfrg/mkdocs-jupyter/issues/253\"\u003e#253\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danielfrg/mkdocs-jupyter/commit/72367246e1b8c0c709fbc80242619f71294387ef\"\u003e\u003ccode\u003e7236724\u003c/code\u003e\u003c/a\u003e html escape source text for clipboard copy (\u003ca href=\"https://redirect.github.com/danielfrg/mkdocs-jupyter/issues/248\"\u003e#248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danielfrg/mkdocs-jupyter/commit/7f977fdc0393f8ec5c279f4c6d5b5901eb0c2062\"\u003e\u003ccode\u003e7f977fd\u003c/code\u003e\u003c/a\u003e Check ignore patterns before reading files (\u003ca href=\"https://redirect.github.com/danielfrg/mkdocs-jupyter/issues/247\"\u003e#247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/danielfrg/mkdocs-jupyter/compare/0.25.1...0.26.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocs-material` from 9.7.5 to 9.7.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/squidfunk/mkdocs-material/releases\"\u003emkdocs-material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003emkdocs-material-9.7.6\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMaterial for MkDocs is in maintenance mode\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eGoing forward, the Material for MkDocs team focuses on \u003ca href=\"https://zensical.org\"\u003eZensical\u003c/a\u003e, a next-gen static site generator built from first principles. We will provide critical bug fixes and security updates for Material for MkDocs until November 2026.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003eRead the full announcement on our blog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAutomatically disable MkDocs 2.0 warning for forks of MkDocs\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/squidfunk/mkdocs-material/blob/master/CHANGELOG\"\u003emkdocs-material's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003emkdocs-material-9.7.6 (2026-03-19)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAutomatically disable MkDocs 2.0 warning for forks of MkDocs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.5 (2026-03-10)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eLimited version range of mkdocs to \u0026lt;2\u003c/li\u003e\n\u003cli\u003eUpdated MkDocs 2.0 incompatibility warning (clarify relation with MkDocs)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.4 (2026-03-03)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eHardened social cards plugin by switching to sandboxed environment\u003c/li\u003e\n\u003cli\u003eUpdated MkDocs 2.0 incompatibility warning\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.3 (2026-02-24)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8567\"\u003e#8567\u003c/a\u003e: Print MkDocs 2.0 incompatibility warning to stderr\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.2 (2026-02-18)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpened up version ranges of optional dependencies for forward-compatibility\u003c/li\u003e\n\u003cli\u003eAdded warning to 'mkdocs build' about impending MkDocs 2.0 incompatibility\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.1 (2025-12-18)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated requests to 2.30+ to mitigate CVE in urllib\u003c/li\u003e\n\u003cli\u003eFixed privacy plugin not picking up protocol-relative URLs\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8542\"\u003e#8542\u003c/a\u003e: false positives and negatives captured in privacy plugin\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.0 (2025-11-11)\u003c/p\u003e\n\u003cp\u003e⚠️ Material for MkDocs is now in maintenance mode\u003c/p\u003e\n\u003cp\u003eThis is the last release of Material for MkDocs that will receive new features.\nGoing forward, the Material for MkDocs team focuses on Zensical, a next-gen\nstatic site generator built from first principles. We will provide critical\nbug fixes and security updates for Material for MkDocs for 12 months at least.\u003c/p\u003e\n\u003cp\u003eRead the full announcement on our blog:\n\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003ehttps://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis release includes all features that were previously exclusive to the\nInsiders edition. These features are now freely available to everyone.\u003c/p\u003e\n\u003cp\u003eNote on deprecated plugins: The projects and typeset plugins are included in\nthis release, but must be considered deprecated. Both plugins proved\nunsustainable to maintain and represent architectural dead ends. They are\nprovided as-is without ongoing support.\u003c/p\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/6c52ed6289b171a153875491f059a94819ec3e10\"\u003e\u003ccode\u003e6c52ed6\u003c/code\u003e\u003c/a\u003e Prepare 9.7.6 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/51d9b76636431814df924bcda27485b16023978b\"\u003e\u003ccode\u003e51d9b76\u003c/code\u003e\u003c/a\u003e Automatically disable MkDocs 2.0 warning for forks of MkDocs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/6f9a48b4048650341a654d9757da57fc1e3e323d\"\u003e\u003ccode\u003e6f9a48b\u003c/code\u003e\u003c/a\u003e Updated links\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/squidfunk/mkdocs-material/compare/9.7.5...9.7.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/plugboard-dev/plugboard/pull/238","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/plugboard-dev%2Fplugboard/issues/238","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/238/packages"},{"uuid":"4074939152","node_id":"PR_kwDOP6Bu1M7Kj1Uo","number":35,"state":"closed","title":"[air](deps): Bump optuna from 4.1.0 to 4.7.0 in /python/requirements/ml","user":"dependabot[bot]","labels":["dependencies","python","stale"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-04-12T01:03:05.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-14T07:03:12.000Z","updated_at":"2026-04-12T01:03:15.000Z","time_to_close":2483993,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"[air](deps): Bump","packages":[{"name":"optuna","old_version":"4.1.0","new_version":"4.7.0","repository_url":"https://github.com/optuna/optuna"}],"path":"/python/requirements/ml","ecosystem":"pip"},"body":"Bumps [optuna](https://github.com/optuna/optuna) from 4.1.0 to 4.7.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.7.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/72?closed=1\"\u003ev4.7.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eTwo New Multi-Objective Samplers Added to OptunaHub!\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/hrntsm\"\u003e\u003ccode\u003e@​hrntsm\u003c/code\u003e\u003c/a\u003e introduces two new multi-objective samplers—SPEA-II (Strength Pareto Evolutionary Algorithm 2) and HypE (Hypervolume Estimation Algorithm)—to OptunaHub. SPEA-II is an improved multi-objective evolutionary algorithm that differs from NSGA-II in its selection mechanism. HypE is a fast, hypervolume-based evolutionary algorithm designed for many-objective optimization problems. Please refer to the following pages for more details:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSPEA-II: \u003ca href=\"https://hub.optuna.org/samplers/speaii/\"\u003ehttps://hub.optuna.org/samplers/speaii/\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHypE: \u003ca href=\"https://hub.optuna.org/samplers/hype/\"\u003ehttps://hub.optuna.org/samplers/hype/\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003ePedAnovaImportanceEvaluator\u003c/code\u003e Now Supports Local Hyperparameter Importance Computation\u003c/h2\u003e\n\u003cp\u003eThe \u003ccode\u003etarget_quantile\u003c/code\u003e and \u003ccode\u003eregion_quantile\u003c/code\u003e arguments have been introduced to \u003ca href=\"https://optuna.readthedocs.io/en/latest/reference/generated/optuna.importance.PedAnovaImportanceEvaluator.html\"\u003e\u003ccode\u003ePedAnovaImportanceEvaluator\u003c/code\u003e\u003c/a\u003e. This change allows you to investigate local hyperparameter importance rather than the global one with \u003ccode\u003eregion_quantile \u0026lt; 1.0\u003c/code\u003e. See \u003ca href=\"https://www.ijcai.org/proceedings/2023/488\"\u003ethe original paper\u003c/a\u003e for the technical details.\u003c/p\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce stacklevel-aware custom warnings (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6293\"\u003e#6293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCache distributions to skip consistency check (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6301\"\u003e#6301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd warnings when \u003ccode\u003eJournalStorage\u003c/code\u003e lock acquisition is delayed (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6361\"\u003e#6361\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for local HPI in PED-ANOVA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6362\"\u003e#6362\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix log PDF of discrete trunc log-norm distribution for \u003ccode\u003eTPESampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6258\"\u003e#6258\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix coefficient in PED-ANOVA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6358\"\u003e#6358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix GPSampler crash when default torch device is CUDA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6397\"\u003e#6397\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Quant-Quasar\"\u003e\u003ccode\u003e@​Quant-Quasar\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDocumentation\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eSECURITY.md\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6317\"\u003e#6317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a note for future dev of exclusive HV (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6318\"\u003e#6318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate GPSampler documentation to include D-BE optimization details (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6347\"\u003e#6347\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Kaichi-Irie\"\u003e\u003ccode\u003e@​Kaichi-Irie\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eRevert PR \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6354\"\u003e#6354\u003c/a\u003e to enable \u003ccode\u003e-W\u003c/code\u003e option on Sphinx build (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6373\"\u003e#6373\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eExamples\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDisable scheduled runs for PyTorch and visualization temporarily (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/337\"\u003eoptuna/optuna-examples#337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix skorch example: Replace unavailable OpenML MNIST (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/338\"\u003eoptuna/optuna-examples#338\u003c/a\u003e, thanks \u003ca href=\"https://github.com/sotagg\"\u003e\u003ccode\u003e@​sotagg\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003ePin \u003ccode\u003eminio\u003c/code\u003e version to \u003ccode\u003e\u0026lt;=7.2.18\u003c/code\u003e to fix CI \u0026amp; stop daily CI running (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/339\"\u003eoptuna/optuna-examples#339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix spark example (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/342\"\u003eoptuna/optuna-examples#342\u003c/a\u003e, thanks \u003ca href=\"https://github.com/fritshermans\"\u003e\u003ccode\u003e@​fritshermans\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003ePin scikit-learn to \u0026lt; 1.6.0 for lightgbm (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/343\"\u003eoptuna/optuna-examples#343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove python 3.9 due to EOL Status (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/344\"\u003eoptuna/optuna-examples#344\u003c/a\u003e, thanks \u003ca href=\"https://github.com/ParagEkbote\"\u003e\u003ccode\u003e@​ParagEkbote\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eAdd IPython as a dependency of fastai example (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/347\"\u003eoptuna/optuna-examples#347\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eTests\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/40703c51b7b102df65efaf426f12562d3365735f\"\u003e\u003ccode\u003e40703c5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6413\"\u003e#6413\u003c/a\u003e from y0z/feature/bump-up-v470\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/7fa54e424464f943810c744910920ec159752163\"\u003e\u003ccode\u003e7fa54e4\u003c/code\u003e\u003c/a\u003e Bump up version to v4.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/adbe6f542150e01eb2c17d589d19415a921b9c22\"\u003e\u003ccode\u003eadbe6f5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6400\"\u003e#6400\u003c/a\u003e from sawa3030/add-warning-for-journal-lock-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/d58b06193f1564b03e64dd39921465ffe32cee3b\"\u003e\u003ccode\u003ed58b061\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6412\"\u003e#6412\u003c/a\u003e from VedantMadane/refactor/fstring-fixed-trial\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/0d782be3bd8ee30cde03a1870a15c3c3e8f17af2\"\u003e\u003ccode\u003e0d782be\u003c/code\u003e\u003c/a\u003e Replace .format() with f-string in _fixed.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/e50dd5f056e610ebfe47abed2e26cc3e07867f75\"\u003e\u003ccode\u003ee50dd5f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6411\"\u003e#6411\u003c/a\u003e from Banjiola/fix-format-fstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/7eefa699c3c2303b10c0dd0ae52a850c62671561\"\u003e\u003ccode\u003e7eefa69\u003c/code\u003e\u003c/a\u003e Replace .format() with f-string in test_hyperband.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/653523fd330161273369f267e4fa674b2946bcd7\"\u003e\u003ccode\u003e653523f\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into add-warning-for-journal-lock-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/b526dbfa54374d6b86c9f2dc1d20548ad7fde263\"\u003e\u003ccode\u003eb526dbf\u003c/code\u003e\u003c/a\u003e use logger.warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/f4e630d17adf78de4fda9f98da2adda536577abc\"\u003e\u003ccode\u003ef4e630d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6409\"\u003e#6409\u003c/a\u003e from jwalith/fix-format-rank-py\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/optuna/optuna/compare/v4.1.0...v4.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=optuna\u0026package-manager=pip\u0026previous-version=4.1.0\u0026new-version=4.7.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/snorkel-marlin-repos/ray_pr_56306_test2/pull/35","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/snorkel-marlin-repos%2Fray_pr_56306_test2/issues/35","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/35/packages"},{"uuid":"4037837956","node_id":"PR_kwDOQHUoec7Ir_bn","number":26,"state":"closed","title":"[air](deps): Bump optuna from 4.1.0 to 4.7.0 in /python/requirements/ml","user":"dependabot[bot]","labels":["dependencies","python","stale"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-04-04T12:26:35.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-07T08:13:05.000Z","updated_at":"2026-04-04T15:01:13.694Z","time_to_close":2434410,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"[air](deps): Bump","packages":[{"name":"optuna","old_version":"4.1.0","new_version":"4.7.0","repository_url":"https://github.com/optuna/optuna"}],"path":"/python/requirements/ml","ecosystem":"pip"},"body":"Bumps [optuna](https://github.com/optuna/optuna) from 4.1.0 to 4.7.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.7.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/72?closed=1\"\u003ev4.7.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eTwo New Multi-Objective Samplers Added to OptunaHub!\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/hrntsm\"\u003e\u003ccode\u003e@​hrntsm\u003c/code\u003e\u003c/a\u003e introduces two new multi-objective samplers—SPEA-II (Strength Pareto Evolutionary Algorithm 2) and HypE (Hypervolume Estimation Algorithm)—to OptunaHub. SPEA-II is an improved multi-objective evolutionary algorithm that differs from NSGA-II in its selection mechanism. HypE is a fast, hypervolume-based evolutionary algorithm designed for many-objective optimization problems. Please refer to the following pages for more details:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSPEA-II: \u003ca href=\"https://hub.optuna.org/samplers/speaii/\"\u003ehttps://hub.optuna.org/samplers/speaii/\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHypE: \u003ca href=\"https://hub.optuna.org/samplers/hype/\"\u003ehttps://hub.optuna.org/samplers/hype/\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003ePedAnovaImportanceEvaluator\u003c/code\u003e Now Supports Local Hyperparameter Importance Computation\u003c/h2\u003e\n\u003cp\u003eThe \u003ccode\u003etarget_quantile\u003c/code\u003e and \u003ccode\u003eregion_quantile\u003c/code\u003e arguments have been introduced to \u003ca href=\"https://optuna.readthedocs.io/en/latest/reference/generated/optuna.importance.PedAnovaImportanceEvaluator.html\"\u003e\u003ccode\u003ePedAnovaImportanceEvaluator\u003c/code\u003e\u003c/a\u003e. This change allows you to investigate local hyperparameter importance rather than the global one with \u003ccode\u003eregion_quantile \u0026lt; 1.0\u003c/code\u003e. See \u003ca href=\"https://www.ijcai.org/proceedings/2023/488\"\u003ethe original paper\u003c/a\u003e for the technical details.\u003c/p\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce stacklevel-aware custom warnings (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6293\"\u003e#6293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCache distributions to skip consistency check (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6301\"\u003e#6301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd warnings when \u003ccode\u003eJournalStorage\u003c/code\u003e lock acquisition is delayed (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6361\"\u003e#6361\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for local HPI in PED-ANOVA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6362\"\u003e#6362\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix log PDF of discrete trunc log-norm distribution for \u003ccode\u003eTPESampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6258\"\u003e#6258\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix coefficient in PED-ANOVA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6358\"\u003e#6358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix GPSampler crash when default torch device is CUDA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6397\"\u003e#6397\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Quant-Quasar\"\u003e\u003ccode\u003e@​Quant-Quasar\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDocumentation\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eSECURITY.md\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6317\"\u003e#6317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a note for future dev of exclusive HV (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6318\"\u003e#6318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate GPSampler documentation to include D-BE optimization details (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6347\"\u003e#6347\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Kaichi-Irie\"\u003e\u003ccode\u003e@​Kaichi-Irie\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eRevert PR \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6354\"\u003e#6354\u003c/a\u003e to enable \u003ccode\u003e-W\u003c/code\u003e option on Sphinx build (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6373\"\u003e#6373\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eExamples\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDisable scheduled runs for PyTorch and visualization temporarily (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/337\"\u003eoptuna/optuna-examples#337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix skorch example: Replace unavailable OpenML MNIST (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/338\"\u003eoptuna/optuna-examples#338\u003c/a\u003e, thanks \u003ca href=\"https://github.com/sotagg\"\u003e\u003ccode\u003e@​sotagg\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003ePin \u003ccode\u003eminio\u003c/code\u003e version to \u003ccode\u003e\u0026lt;=7.2.18\u003c/code\u003e to fix CI \u0026amp; stop daily CI running (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/339\"\u003eoptuna/optuna-examples#339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix spark example (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/342\"\u003eoptuna/optuna-examples#342\u003c/a\u003e, thanks \u003ca href=\"https://github.com/fritshermans\"\u003e\u003ccode\u003e@​fritshermans\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003ePin scikit-learn to \u0026lt; 1.6.0 for lightgbm (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/343\"\u003eoptuna/optuna-examples#343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove python 3.9 due to EOL Status (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/344\"\u003eoptuna/optuna-examples#344\u003c/a\u003e, thanks \u003ca href=\"https://github.com/ParagEkbote\"\u003e\u003ccode\u003e@​ParagEkbote\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eAdd IPython as a dependency of fastai example (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/347\"\u003eoptuna/optuna-examples#347\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eTests\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/40703c51b7b102df65efaf426f12562d3365735f\"\u003e\u003ccode\u003e40703c5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6413\"\u003e#6413\u003c/a\u003e from y0z/feature/bump-up-v470\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/7fa54e424464f943810c744910920ec159752163\"\u003e\u003ccode\u003e7fa54e4\u003c/code\u003e\u003c/a\u003e Bump up version to v4.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/adbe6f542150e01eb2c17d589d19415a921b9c22\"\u003e\u003ccode\u003eadbe6f5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6400\"\u003e#6400\u003c/a\u003e from sawa3030/add-warning-for-journal-lock-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/d58b06193f1564b03e64dd39921465ffe32cee3b\"\u003e\u003ccode\u003ed58b061\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6412\"\u003e#6412\u003c/a\u003e from VedantMadane/refactor/fstring-fixed-trial\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/0d782be3bd8ee30cde03a1870a15c3c3e8f17af2\"\u003e\u003ccode\u003e0d782be\u003c/code\u003e\u003c/a\u003e Replace .format() with f-string in _fixed.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/e50dd5f056e610ebfe47abed2e26cc3e07867f75\"\u003e\u003ccode\u003ee50dd5f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6411\"\u003e#6411\u003c/a\u003e from Banjiola/fix-format-fstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/7eefa699c3c2303b10c0dd0ae52a850c62671561\"\u003e\u003ccode\u003e7eefa69\u003c/code\u003e\u003c/a\u003e Replace .format() with f-string in test_hyperband.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/653523fd330161273369f267e4fa674b2946bcd7\"\u003e\u003ccode\u003e653523f\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into add-warning-for-journal-lock-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/b526dbfa54374d6b86c9f2dc1d20548ad7fde263\"\u003e\u003ccode\u003eb526dbf\u003c/code\u003e\u003c/a\u003e use logger.warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/f4e630d17adf78de4fda9f98da2adda536577abc\"\u003e\u003ccode\u003ef4e630d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6409\"\u003e#6409\u003c/a\u003e from jwalith/fix-format-rank-py\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/optuna/optuna/compare/v4.1.0...v4.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=optuna\u0026package-manager=pip\u0026previous-version=4.1.0\u0026new-version=4.7.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/snorkel-marlin-repos/ray-project_ray_pr_56363_bd0b5321-02f2-433c-8f17-62433aad813d/pull/26","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/snorkel-marlin-repos%2Fray-project_ray_pr_56363_bd0b5321-02f2-433c-8f17-62433aad813d/issues/26","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/26/packages"},{"uuid":"4037823548","node_id":"PR_kwDOQHUm187Ir8gx","number":26,"state":"closed","title":"[air](deps): Bump optuna from 4.1.0 to 4.7.0 in /python/requirements/ml","user":"dependabot[bot]","labels":["dependencies","python","stale"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-04-04T12:24:29.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-07T08:05:54.000Z","updated_at":"2026-04-04T12:24:38.000Z","time_to_close":2434715,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"[air](deps): Bump","packages":[{"name":"optuna","old_version":"4.1.0","new_version":"4.7.0","repository_url":"https://github.com/optuna/optuna"}],"path":"/python/requirements/ml","ecosystem":"pip"},"body":"Bumps [optuna](https://github.com/optuna/optuna) from 4.1.0 to 4.7.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.7.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/72?closed=1\"\u003ev4.7.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eTwo New Multi-Objective Samplers Added to OptunaHub!\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/hrntsm\"\u003e\u003ccode\u003e@​hrntsm\u003c/code\u003e\u003c/a\u003e introduces two new multi-objective samplers—SPEA-II (Strength Pareto Evolutionary Algorithm 2) and HypE (Hypervolume Estimation Algorithm)—to OptunaHub. SPEA-II is an improved multi-objective evolutionary algorithm that differs from NSGA-II in its selection mechanism. HypE is a fast, hypervolume-based evolutionary algorithm designed for many-objective optimization problems. Please refer to the following pages for more details:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSPEA-II: \u003ca href=\"https://hub.optuna.org/samplers/speaii/\"\u003ehttps://hub.optuna.org/samplers/speaii/\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHypE: \u003ca href=\"https://hub.optuna.org/samplers/hype/\"\u003ehttps://hub.optuna.org/samplers/hype/\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003ePedAnovaImportanceEvaluator\u003c/code\u003e Now Supports Local Hyperparameter Importance Computation\u003c/h2\u003e\n\u003cp\u003eThe \u003ccode\u003etarget_quantile\u003c/code\u003e and \u003ccode\u003eregion_quantile\u003c/code\u003e arguments have been introduced to \u003ca href=\"https://optuna.readthedocs.io/en/latest/reference/generated/optuna.importance.PedAnovaImportanceEvaluator.html\"\u003e\u003ccode\u003ePedAnovaImportanceEvaluator\u003c/code\u003e\u003c/a\u003e. This change allows you to investigate local hyperparameter importance rather than the global one with \u003ccode\u003eregion_quantile \u0026lt; 1.0\u003c/code\u003e. See \u003ca href=\"https://www.ijcai.org/proceedings/2023/488\"\u003ethe original paper\u003c/a\u003e for the technical details.\u003c/p\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce stacklevel-aware custom warnings (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6293\"\u003e#6293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCache distributions to skip consistency check (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6301\"\u003e#6301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd warnings when \u003ccode\u003eJournalStorage\u003c/code\u003e lock acquisition is delayed (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6361\"\u003e#6361\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for local HPI in PED-ANOVA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6362\"\u003e#6362\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix log PDF of discrete trunc log-norm distribution for \u003ccode\u003eTPESampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6258\"\u003e#6258\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix coefficient in PED-ANOVA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6358\"\u003e#6358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix GPSampler crash when default torch device is CUDA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6397\"\u003e#6397\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Quant-Quasar\"\u003e\u003ccode\u003e@​Quant-Quasar\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDocumentation\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eSECURITY.md\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6317\"\u003e#6317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a note for future dev of exclusive HV (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6318\"\u003e#6318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate GPSampler documentation to include D-BE optimization details (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6347\"\u003e#6347\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Kaichi-Irie\"\u003e\u003ccode\u003e@​Kaichi-Irie\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eRevert PR \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6354\"\u003e#6354\u003c/a\u003e to enable \u003ccode\u003e-W\u003c/code\u003e option on Sphinx build (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6373\"\u003e#6373\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eExamples\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDisable scheduled runs for PyTorch and visualization temporarily (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/337\"\u003eoptuna/optuna-examples#337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix skorch example: Replace unavailable OpenML MNIST (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/338\"\u003eoptuna/optuna-examples#338\u003c/a\u003e, thanks \u003ca href=\"https://github.com/sotagg\"\u003e\u003ccode\u003e@​sotagg\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003ePin \u003ccode\u003eminio\u003c/code\u003e version to \u003ccode\u003e\u0026lt;=7.2.18\u003c/code\u003e to fix CI \u0026amp; stop daily CI running (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/339\"\u003eoptuna/optuna-examples#339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix spark example (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/342\"\u003eoptuna/optuna-examples#342\u003c/a\u003e, thanks \u003ca href=\"https://github.com/fritshermans\"\u003e\u003ccode\u003e@​fritshermans\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003ePin scikit-learn to \u0026lt; 1.6.0 for lightgbm (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/343\"\u003eoptuna/optuna-examples#343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove python 3.9 due to EOL Status (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/344\"\u003eoptuna/optuna-examples#344\u003c/a\u003e, thanks \u003ca href=\"https://github.com/ParagEkbote\"\u003e\u003ccode\u003e@​ParagEkbote\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eAdd IPython as a dependency of fastai example (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/347\"\u003eoptuna/optuna-examples#347\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eTests\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/40703c51b7b102df65efaf426f12562d3365735f\"\u003e\u003ccode\u003e40703c5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6413\"\u003e#6413\u003c/a\u003e from y0z/feature/bump-up-v470\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/7fa54e424464f943810c744910920ec159752163\"\u003e\u003ccode\u003e7fa54e4\u003c/code\u003e\u003c/a\u003e Bump up version to v4.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/adbe6f542150e01eb2c17d589d19415a921b9c22\"\u003e\u003ccode\u003eadbe6f5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6400\"\u003e#6400\u003c/a\u003e from sawa3030/add-warning-for-journal-lock-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/d58b06193f1564b03e64dd39921465ffe32cee3b\"\u003e\u003ccode\u003ed58b061\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6412\"\u003e#6412\u003c/a\u003e from VedantMadane/refactor/fstring-fixed-trial\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/0d782be3bd8ee30cde03a1870a15c3c3e8f17af2\"\u003e\u003ccode\u003e0d782be\u003c/code\u003e\u003c/a\u003e Replace .format() with f-string in _fixed.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/e50dd5f056e610ebfe47abed2e26cc3e07867f75\"\u003e\u003ccode\u003ee50dd5f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6411\"\u003e#6411\u003c/a\u003e from Banjiola/fix-format-fstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/7eefa699c3c2303b10c0dd0ae52a850c62671561\"\u003e\u003ccode\u003e7eefa69\u003c/code\u003e\u003c/a\u003e Replace .format() with f-string in test_hyperband.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/653523fd330161273369f267e4fa674b2946bcd7\"\u003e\u003ccode\u003e653523f\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into add-warning-for-journal-lock-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/b526dbfa54374d6b86c9f2dc1d20548ad7fde263\"\u003e\u003ccode\u003eb526dbf\u003c/code\u003e\u003c/a\u003e use logger.warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/f4e630d17adf78de4fda9f98da2adda536577abc\"\u003e\u003ccode\u003ef4e630d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6409\"\u003e#6409\u003c/a\u003e from jwalith/fix-format-rank-py\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/optuna/optuna/compare/v4.1.0...v4.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=optuna\u0026package-manager=pip\u0026previous-version=4.1.0\u0026new-version=4.7.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/snorkel-marlin-repos/ray-project_ray_pr_56216_7ff0fe8b-3d01-415f-82de-254673ee083d/pull/26","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/snorkel-marlin-repos%2Fray-project_ray_pr_56216_7ff0fe8b-3d01-415f-82de-254673ee083d/issues/26","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/26/packages"},{"uuid":"3879627325","node_id":"PR_kwDORFl4FM7AluVy","number":13,"state":"open","title":"chore(deps): update optuna requirement from \u003c4.0.0,\u003e=3.0.0 to \u003e=3.0.0,\u003c5.0.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-01-31T17:24:26.000Z","updated_at":"2026-01-31T17:24:27.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): update","packages":[{"name":"optuna","old_version":"\u003c4.0.0,\u003e=3.0.0","new_version":"\u003e=3.0.0,\u003c5.0.0","repository_url":"https://github.com/optuna/optuna"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [optuna](https://github.com/optuna/optuna) 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/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.7.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/72?closed=1\"\u003ev4.7.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eTwo New Multi-Objective Samplers Added to OptunaHub!\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/hrntsm\"\u003e\u003ccode\u003e@​hrntsm\u003c/code\u003e\u003c/a\u003e introduces two new multi-objective samplers—SPEA-II (Strength Pareto Evolutionary Algorithm 2) and HypE (Hypervolume Estimation Algorithm)—to OptunaHub. SPEA-II is an improved multi-objective evolutionary algorithm that differs from NSGA-II in its selection mechanism. HypE is a fast, hypervolume-based evolutionary algorithm designed for many-objective optimization problems. Please refer to the following pages for more details:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSPEA-II: \u003ca href=\"https://hub.optuna.org/samplers/speaii/\"\u003ehttps://hub.optuna.org/samplers/speaii/\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHypE: \u003ca href=\"https://hub.optuna.org/samplers/hype/\"\u003ehttps://hub.optuna.org/samplers/hype/\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003ePedAnovaImportanceEvaluator\u003c/code\u003e Now Supports Local Hyperparameter Importance Computation\u003c/h2\u003e\n\u003cp\u003eThe \u003ccode\u003etarget_quantile\u003c/code\u003e and \u003ccode\u003eregion_quantile\u003c/code\u003e arguments have been introduced to \u003ca href=\"https://optuna.readthedocs.io/en/latest/reference/generated/optuna.importance.PedAnovaImportanceEvaluator.html\"\u003e\u003ccode\u003ePedAnovaImportanceEvaluator\u003c/code\u003e\u003c/a\u003e. This change allows you to investigate local hyperparameter importance rather than the global one with \u003ccode\u003eregion_quantile \u0026lt; 1.0\u003c/code\u003e. See \u003ca href=\"https://www.ijcai.org/proceedings/2023/488\"\u003ethe original paper\u003c/a\u003e for the technical details.\u003c/p\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce stacklevel-aware custom warnings (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6293\"\u003e#6293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCache distributions to skip consistency check (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6301\"\u003e#6301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd warnings when \u003ccode\u003eJournalStorage\u003c/code\u003e lock acquisition is delayed (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6361\"\u003e#6361\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for local HPI in PED-ANOVA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6362\"\u003e#6362\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix log PDF of discrete trunc log-norm distribution for \u003ccode\u003eTPESampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6258\"\u003e#6258\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix coefficient in PED-ANOVA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6358\"\u003e#6358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix GPSampler crash when default torch device is CUDA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6397\"\u003e#6397\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Quant-Quasar\"\u003e\u003ccode\u003e@​Quant-Quasar\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDocumentation\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eSECURITY.md\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6317\"\u003e#6317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a note for future dev of exclusive HV (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6318\"\u003e#6318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate GPSampler documentation to include D-BE optimization details (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6347\"\u003e#6347\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Kaichi-Irie\"\u003e\u003ccode\u003e@​Kaichi-Irie\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eRevert PR \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6354\"\u003e#6354\u003c/a\u003e to enable \u003ccode\u003e-W\u003c/code\u003e option on Sphinx build (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6373\"\u003e#6373\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eExamples\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDisable scheduled runs for PyTorch and visualization temporarily (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/337\"\u003eoptuna/optuna-examples#337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix skorch example: Replace unavailable OpenML MNIST (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/338\"\u003eoptuna/optuna-examples#338\u003c/a\u003e, thanks \u003ca href=\"https://github.com/sotagg\"\u003e\u003ccode\u003e@​sotagg\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003ePin \u003ccode\u003eminio\u003c/code\u003e version to \u003ccode\u003e\u0026lt;=7.2.18\u003c/code\u003e to fix CI \u0026amp; stop daily CI running (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/339\"\u003eoptuna/optuna-examples#339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix spark example (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/342\"\u003eoptuna/optuna-examples#342\u003c/a\u003e, thanks \u003ca href=\"https://github.com/fritshermans\"\u003e\u003ccode\u003e@​fritshermans\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003ePin scikit-learn to \u0026lt; 1.6.0 for lightgbm (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/343\"\u003eoptuna/optuna-examples#343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove python 3.9 due to EOL Status (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/344\"\u003eoptuna/optuna-examples#344\u003c/a\u003e, thanks \u003ca href=\"https://github.com/ParagEkbote\"\u003e\u003ccode\u003e@​ParagEkbote\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eAdd IPython as a dependency of fastai example (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/347\"\u003eoptuna/optuna-examples#347\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eTests\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/40703c51b7b102df65efaf426f12562d3365735f\"\u003e\u003ccode\u003e40703c5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6413\"\u003e#6413\u003c/a\u003e from y0z/feature/bump-up-v470\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/7fa54e424464f943810c744910920ec159752163\"\u003e\u003ccode\u003e7fa54e4\u003c/code\u003e\u003c/a\u003e Bump up version to v4.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/adbe6f542150e01eb2c17d589d19415a921b9c22\"\u003e\u003ccode\u003eadbe6f5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6400\"\u003e#6400\u003c/a\u003e from sawa3030/add-warning-for-journal-lock-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/d58b06193f1564b03e64dd39921465ffe32cee3b\"\u003e\u003ccode\u003ed58b061\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6412\"\u003e#6412\u003c/a\u003e from VedantMadane/refactor/fstring-fixed-trial\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/0d782be3bd8ee30cde03a1870a15c3c3e8f17af2\"\u003e\u003ccode\u003e0d782be\u003c/code\u003e\u003c/a\u003e Replace .format() with f-string in _fixed.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/e50dd5f056e610ebfe47abed2e26cc3e07867f75\"\u003e\u003ccode\u003ee50dd5f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6411\"\u003e#6411\u003c/a\u003e from Banjiola/fix-format-fstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/7eefa699c3c2303b10c0dd0ae52a850c62671561\"\u003e\u003ccode\u003e7eefa69\u003c/code\u003e\u003c/a\u003e Replace .format() with f-string in test_hyperband.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/653523fd330161273369f267e4fa674b2946bcd7\"\u003e\u003ccode\u003e653523f\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into add-warning-for-journal-lock-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/b526dbfa54374d6b86c9f2dc1d20548ad7fde263\"\u003e\u003ccode\u003eb526dbf\u003c/code\u003e\u003c/a\u003e use logger.warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/f4e630d17adf78de4fda9f98da2adda536577abc\"\u003e\u003ccode\u003ef4e630d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6409\"\u003e#6409\u003c/a\u003e from jwalith/fix-format-rank-py\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/optuna/optuna/compare/v3.0.0...v4.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/josedab/genesis/pull/13","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/josedab%2Fgenesis/issues/13","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/13/packages"},{"uuid":"3878709840","node_id":"PR_kwDOQHUb1M7Ai1AK","number":18,"state":"closed","title":"[air](deps): Bump optuna from 4.1.0 to 4.7.0 in /python/requirements/ml","user":"dependabot[bot]","labels":["dependencies","python","stale"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-03-01T00:57:07.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-31T08:02:53.000Z","updated_at":"2026-03-01T02:31:07.000Z","time_to_close":2480054,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"[air](deps): Bump","packages":[{"name":"optuna","old_version":"4.1.0","new_version":"4.7.0","repository_url":"https://github.com/optuna/optuna"}],"path":"/python/requirements/ml","ecosystem":"pip"},"body":"Bumps [optuna](https://github.com/optuna/optuna) from 4.1.0 to 4.7.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.7.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/72?closed=1\"\u003ev4.7.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eTwo New Multi-Objective Samplers Added to OptunaHub!\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/hrntsm\"\u003e\u003ccode\u003e@​hrntsm\u003c/code\u003e\u003c/a\u003e introduces two new multi-objective samplers—SPEA-II (Strength Pareto Evolutionary Algorithm 2) and HypE (Hypervolume Estimation Algorithm)—to OptunaHub. SPEA-II is an improved multi-objective evolutionary algorithm that differs from NSGA-II in its selection mechanism. HypE is a fast, hypervolume-based evolutionary algorithm designed for many-objective optimization problems. Please refer to the following pages for more details:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSPEA-II: \u003ca href=\"https://hub.optuna.org/samplers/speaii/\"\u003ehttps://hub.optuna.org/samplers/speaii/\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHypE: \u003ca href=\"https://hub.optuna.org/samplers/hype/\"\u003ehttps://hub.optuna.org/samplers/hype/\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003ePedAnovaImportanceEvaluator\u003c/code\u003e Now Supports Local Hyperparameter Importance Computation\u003c/h2\u003e\n\u003cp\u003eThe \u003ccode\u003etarget_quantile\u003c/code\u003e and \u003ccode\u003eregion_quantile\u003c/code\u003e arguments have been introduced to \u003ca href=\"https://optuna.readthedocs.io/en/latest/reference/generated/optuna.importance.PedAnovaImportanceEvaluator.html\"\u003e\u003ccode\u003ePedAnovaImportanceEvaluator\u003c/code\u003e\u003c/a\u003e. This change allows you to investigate local hyperparameter importance rather than the global one with \u003ccode\u003eregion_quantile \u0026lt; 1.0\u003c/code\u003e. See \u003ca href=\"https://www.ijcai.org/proceedings/2023/488\"\u003ethe original paper\u003c/a\u003e for the technical details.\u003c/p\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce stacklevel-aware custom warnings (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6293\"\u003e#6293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCache distributions to skip consistency check (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6301\"\u003e#6301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd warnings when \u003ccode\u003eJournalStorage\u003c/code\u003e lock acquisition is delayed (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6361\"\u003e#6361\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for local HPI in PED-ANOVA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6362\"\u003e#6362\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix log PDF of discrete trunc log-norm distribution for \u003ccode\u003eTPESampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6258\"\u003e#6258\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix coefficient in PED-ANOVA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6358\"\u003e#6358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix GPSampler crash when default torch device is CUDA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6397\"\u003e#6397\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Quant-Quasar\"\u003e\u003ccode\u003e@​Quant-Quasar\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDocumentation\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eSECURITY.md\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6317\"\u003e#6317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a note for future dev of exclusive HV (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6318\"\u003e#6318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate GPSampler documentation to include D-BE optimization details (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6347\"\u003e#6347\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Kaichi-Irie\"\u003e\u003ccode\u003e@​Kaichi-Irie\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eRevert PR \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6354\"\u003e#6354\u003c/a\u003e to enable \u003ccode\u003e-W\u003c/code\u003e option on Sphinx build (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6373\"\u003e#6373\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eExamples\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDisable scheduled runs for PyTorch and visualization temporarily (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/337\"\u003eoptuna/optuna-examples#337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix skorch example: Replace unavailable OpenML MNIST (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/338\"\u003eoptuna/optuna-examples#338\u003c/a\u003e, thanks \u003ca href=\"https://github.com/sotagg\"\u003e\u003ccode\u003e@​sotagg\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003ePin \u003ccode\u003eminio\u003c/code\u003e version to \u003ccode\u003e\u0026lt;=7.2.18\u003c/code\u003e to fix CI \u0026amp; stop daily CI running (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/339\"\u003eoptuna/optuna-examples#339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix spark example (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/342\"\u003eoptuna/optuna-examples#342\u003c/a\u003e, thanks \u003ca href=\"https://github.com/fritshermans\"\u003e\u003ccode\u003e@​fritshermans\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003ePin scikit-learn to \u0026lt; 1.6.0 for lightgbm (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/343\"\u003eoptuna/optuna-examples#343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove python 3.9 due to EOL Status (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/344\"\u003eoptuna/optuna-examples#344\u003c/a\u003e, thanks \u003ca href=\"https://github.com/ParagEkbote\"\u003e\u003ccode\u003e@​ParagEkbote\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eAdd IPython as a dependency of fastai example (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/347\"\u003eoptuna/optuna-examples#347\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eTests\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/40703c51b7b102df65efaf426f12562d3365735f\"\u003e\u003ccode\u003e40703c5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6413\"\u003e#6413\u003c/a\u003e from y0z/feature/bump-up-v470\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/7fa54e424464f943810c744910920ec159752163\"\u003e\u003ccode\u003e7fa54e4\u003c/code\u003e\u003c/a\u003e Bump up version to v4.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/adbe6f542150e01eb2c17d589d19415a921b9c22\"\u003e\u003ccode\u003eadbe6f5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6400\"\u003e#6400\u003c/a\u003e from sawa3030/add-warning-for-journal-lock-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/d58b06193f1564b03e64dd39921465ffe32cee3b\"\u003e\u003ccode\u003ed58b061\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6412\"\u003e#6412\u003c/a\u003e from VedantMadane/refactor/fstring-fixed-trial\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/0d782be3bd8ee30cde03a1870a15c3c3e8f17af2\"\u003e\u003ccode\u003e0d782be\u003c/code\u003e\u003c/a\u003e Replace .format() with f-string in _fixed.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/e50dd5f056e610ebfe47abed2e26cc3e07867f75\"\u003e\u003ccode\u003ee50dd5f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6411\"\u003e#6411\u003c/a\u003e from Banjiola/fix-format-fstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/7eefa699c3c2303b10c0dd0ae52a850c62671561\"\u003e\u003ccode\u003e7eefa69\u003c/code\u003e\u003c/a\u003e Replace .format() with f-string in test_hyperband.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/653523fd330161273369f267e4fa674b2946bcd7\"\u003e\u003ccode\u003e653523f\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into add-warning-for-journal-lock-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/b526dbfa54374d6b86c9f2dc1d20548ad7fde263\"\u003e\u003ccode\u003eb526dbf\u003c/code\u003e\u003c/a\u003e use logger.warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/f4e630d17adf78de4fda9f98da2adda536577abc\"\u003e\u003ccode\u003ef4e630d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6409\"\u003e#6409\u003c/a\u003e from jwalith/fix-format-rank-py\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/optuna/optuna/compare/v4.1.0...v4.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=optuna\u0026package-manager=pip\u0026previous-version=4.1.0\u0026new-version=4.7.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/snorkel-marlin-repos/ray-project_ray_pr_56921_7979291f-ff95-47ad-be20-e2f589acc6d4/pull/18","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/snorkel-marlin-repos%2Fray-project_ray_pr_56921_7979291f-ff95-47ad-be20-e2f589acc6d4/issues/18","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/18/packages"}],"issue_packages":[{"old_version":"4.8.0","new_version":"4.9.0","update_type":"minor","path":null,"pr_created_at":"2026-06-11T04:54:54.000Z","version_change":"4.8.0 → 4.9.0","issue":{"uuid":"4637339102","node_id":"PR_kwDOFBt0FM7lKKx_","number":956,"state":"open","title":"chore(deps)(deps): bump the python-versions group across 1 directory with 11 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-11T04:54:54.000Z","updated_at":"2026-06-11T04:55:37.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps): bump","group_name":"python-versions","update_count":11,"packages":[{"name":"huggingface-hub","old_version":"1.17.0","new_version":"1.18.0","repository_url":"https://github.com/huggingface/huggingface_hub"},{"name":"ruff","old_version":"0.15.15","new_version":"0.15.16","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ipython","old_version":"9.14.0","new_version":"9.14.1","repository_url":"https://github.com/ipython/ipython"},{"name":"optuna","old_version":"4.8.0","new_version":"4.9.0","repository_url":"https://github.com/optuna/optuna"},{"name":"sphinx-autodoc-typehints","old_version":"3.10.4","new_version":"3.10.5","repository_url":"https://github.com/tox-dev/sphinx-autodoc-typehints"},{"name":"dagster","old_version":"1.13.7","new_version":"1.13.8","repository_url":"https://github.com/dagster-io/dagster"},{"name":"plotly","old_version":"6.7.0","new_version":"6.8.0","repository_url":"https://github.com/plotly/plotly.py"},{"name":"tqdm","old_version":"4.67.3","new_version":"4.68.1","repository_url":"https://github.com/tqdm/tqdm"},{"name":"holidays","old_version":"0.97","new_version":"0.98","repository_url":"https://github.com/vacanza/holidays"},{"name":"mlflow-skinny","old_version":"3.12.0","new_version":"3.13.0","repository_url":"https://github.com/mlflow/mlflow"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-versions group with 10 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [huggingface-hub](https://github.com/huggingface/huggingface_hub) | `1.17.0` | `1.18.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.15` | `0.15.16` |\n| [ipython](https://github.com/ipython/ipython) | `9.14.0` | `9.14.1` |\n| [optuna](https://github.com/optuna/optuna) | `4.8.0` | `4.9.0` |\n| [sphinx-autodoc-typehints](https://github.com/tox-dev/sphinx-autodoc-typehints) | `3.10.4` | `3.10.5` |\n| [dagster](https://github.com/dagster-io/dagster) | `1.13.7` | `1.13.8` |\n| [plotly](https://github.com/plotly/plotly.py) | `6.7.0` | `6.8.0` |\n| [tqdm](https://github.com/tqdm/tqdm) | `4.67.3` | `4.68.1` |\n| [holidays](https://github.com/vacanza/holidays) | `0.97` | `0.98` |\n| [mlflow-skinny](https://github.com/mlflow/mlflow) | `3.12.0` | `3.13.0` |\n\n\nUpdates `huggingface-hub` from 1.17.0 to 1.18.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/huggingface/huggingface_hub/releases\"\u003ehuggingface-hub's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v1.18.0] Unified file copying, web URL support, and storage usage\u003c/h2\u003e\n\u003ch2\u003e🖥️ Unified \u003ccode\u003ehf cp\u003c/code\u003e command\u003c/h2\u003e\n\u003cp\u003eA single \u003ccode\u003ehf cp\u003c/code\u003e command now handles all file-copy workflows (upload a local file, download from the Hub, or copy between two remote locations) with consistent \u003ccode\u003ehf://\u003c/code\u003e URI syntax for both repositories and buckets. It is also available as \u003ccode\u003ehf repos cp\u003c/code\u003e and \u003ccode\u003ehf buckets cp\u003c/code\u003e; all three aliases are identical, so you can use whichever reads best for your workflow. You can stream from stdin (\u003ccode\u003e-\u003c/code\u003e) or to stdout (\u003ccode\u003e-\u003c/code\u003e), and a trailing \u003ccode\u003e/\u003c/code\u003e on the source path gives you rsync-style semantics (copy the folder contents, not the folder itself). Note that remote-to-remote copies only work within the same \u003ca href=\"https://huggingface.co/docs/hub/storage-regions\"\u003estorage region\u003c/a\u003e, and bucket-to-repo is not yet supported.\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003e# Upload a local file to a repo\r\nhf cp ./model.safetensors hf://username/my-model/model.safetensors\r\n\u003ch1\u003eDownload a file to stdout\u003c/h1\u003e\n\u003cp\u003ehf cp hf://username/my-model/config.json - | jq .\u003c/p\u003e\n\u003ch1\u003eCopy between two Hub repos\u003c/h1\u003e\n\u003cp\u003ehf cp hf://username/source-model/config.json hf://username/dest-model/config.json\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e📚 \u003cstrong\u003eDocumentation:\u003c/strong\u003e \u003ca href=\"https://huggingface.co/docs/huggingface_hub/main/en/guides/cli#copy-files\"\u003eCLI guide — Copy files\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[CLI] Add unified \u003ccode\u003ehf cp\u003c/code\u003e command (aliased as \u003ccode\u003ehf repos cp\u003c/code\u003e and \u003ccode\u003ehf buckets cp\u003c/code\u003e) by \u003ca href=\"https://github.com/Wauplin\"\u003e\u003ccode\u003e@​Wauplin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/4295\"\u003e#4295\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:egg: Easter egg:explore your storage usage\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003e[CLI] Easter egg: city skyline in \u003ccode\u003ehf repos ls\u003c/code\u003e by \u003ca href=\"https://github.com/Wauplin\"\u003e\u003ccode\u003e@​Wauplin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/4287\"\u003e#4287\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🔗 Paste web URLs directly\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003eparse_hf_uri\u003c/code\u003e now accepts Hugging Face \u003cstrong\u003eweb URLs\u003c/strong\u003e so you can paste a link straight into the CLI or the library and it \u0026quot;just works\u0026quot;.\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003e# Copy-paste a URL from the website\r\nhf cp https://huggingface.co/nvidia/LocateAnything-3B/blob/main/config.json - | jq '.architectures'\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e📚 \u003cstrong\u003eDocumentation:\u003c/strong\u003e \u003ca href=\"https://huggingface.co/docs/huggingface_hub/main/en/package_reference/hf_uris#web-urls\"\u003eHF URIs — Web URLs\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[URIs] Parse web URLs in \u003ccode\u003eparse_hf_uri\u003c/code\u003e + add \u003ccode\u003eHfUri.to_url\u003c/code\u003e by \u003ca href=\"https://github.com/Wauplin\"\u003e\u003ccode\u003e@​Wauplin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/4296\"\u003e#4296\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🚨 Breaking change\u003c/h2\u003e\n\u003cp\u003eOn Lustre, GPFS, and some NFS mounts, \u003ccode\u003eflock(2)\u003c/code\u003e silently succeeds for every caller, which means \u003ccode\u003efilelock\u003c/code\u003e provides no mutual exclusion. When multiple \u003ccode\u003ehf_hub_download\u003c/code\u003e calls race for the same file, they can append to the same \u003ccode\u003e.incomplete\u003c/code\u003e file and silently corrupt the blob cache. This release fixes that by always downloading to a fresh temporary file instead of resuming an incomplete one, making the download path safe even when file locking is broken. \u003ccode\u003efilelock\u003c/code\u003e is still used as a \u0026quot;best-effort\u0026quot; hint to avoid unnecessary duplicate downloads, but correctness no longer depends on it. \u003cstrong\u003eThis is a breaking change: resuming a previously failed partial download is no longer possible. However, file resumability was already a niche use case only applicable when \u003ccode\u003ehf_xet\u003c/code\u003e is disabled.\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Fix] Make concurrent downloads safe even when file locking is broken by \u003ca href=\"https://github.com/Wauplin\"\u003e\u003ccode\u003e@​Wauplin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/4306\"\u003e#4306\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🖥️ CLI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[CLI] inline enum choices in the generated CLI skill by \u003ca href=\"https://github.com/hanouticelina\"\u003e\u003ccode\u003e@​hanouticelina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/4299\"\u003e#4299\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/huggingface/huggingface_hub/commit/64e53566ec136eb8e2a30d02639d6407e95d746f\"\u003e\u003ccode\u003e64e5356\u003c/code\u003e\u003c/a\u003e Release: v1.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/huggingface_hub/commit/b1c4c20a24d2246cad2b209c83ea854ebbe317ea\"\u003e\u003ccode\u003eb1c4c20\u003c/code\u003e\u003c/a\u003e Release: v1.18.0.rc0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/huggingface_hub/commit/c505f7755a780c9be9e9764b350575ddff460baa\"\u003e\u003ccode\u003ec505f77\u003c/code\u003e\u003c/a\u003e [Fix] Make concurrent downloads safe even when file locking is broken (\u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/4306\"\u003e#4306\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/huggingface_hub/commit/d04c3b2083a07e34cbb6914c366edca0fd00a8ab\"\u003e\u003ccode\u003ed04c3b2\u003c/code\u003e\u003c/a\u003e [URIs] Parse web URLs in \u003ccode\u003eparse_hf_uri\u003c/code\u003e + add \u003ccode\u003eHfUri.to_url\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/4296\"\u003e#4296\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/huggingface_hub/commit/0e57086dcefff2d6939cfb29e93d34a9cb57441e\"\u003e\u003ccode\u003e0e57086\u003c/code\u003e\u003c/a\u003e Bump the actions group with 2 updates (\u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/4309\"\u003e#4309\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/huggingface_hub/commit/e628f153cd3ddc528f2f4211908de950571eff1d\"\u003e\u003ccode\u003ee628f15\u003c/code\u003e\u003c/a\u003e [Download] Probe umask next to incomplete file instead of two levels above de...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/huggingface_hub/commit/f4a91c2e3da71fc9c49dfc479ded07433466a1d3\"\u003e\u003ccode\u003ef4a91c2\u003c/code\u003e\u003c/a\u003e [CLI] inline enum choices in the generated CLI skill (\u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/4299\"\u003e#4299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/huggingface_hub/commit/1138933105930098fbd4d51a384e1baafb0b90ec\"\u003e\u003ccode\u003e1138933\u003c/code\u003e\u003c/a\u003e [Docs] Mention storage region limitation for server-side copy (\u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/4302\"\u003e#4302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/huggingface_hub/commit/26a6df1abfdca37ddd380a1e3c926db20ee35477\"\u003e\u003ccode\u003e26a6df1\u003c/code\u003e\u003c/a\u003e [Docs] Document missing parameters in hf_hub_url and preupload_lfs_files (\u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/4300\"\u003e#4300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/huggingface_hub/commit/c6dfc6d86a061566542287f1a2d35f30982ae371\"\u003e\u003ccode\u003ec6dfc6d\u003c/code\u003e\u003c/a\u003e [Docs] Document missing endpoint and template_str parameters (\u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/4298\"\u003e#4298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/huggingface/huggingface_hub/compare/v1.17.0...v1.18.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.15.15 to 0.15.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.16\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eyield-in-context-manager-in-async-generator\u003c/code\u003e (\u003ccode\u003eASYNC119\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24644\"\u003e#24644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Narrow diagnostic range and exclude cases without exception handlers (\u003ccode\u003ePLW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25440\"\u003e#25440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Treat \u003ccode\u003eyield\u003c/code\u003e before \u003ccode\u003ebreak\u003c/code\u003e from a terminal loop as terminal (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25447\"\u003e#25447\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Avoid flagging \u003ccode\u003eruff:ignore\u003c/code\u003e comments as code (\u003ccode\u003eERA001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25537\"\u003e#25537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Fix \u003ccode\u003eERA001\u003c/code\u003e/\u003ccode\u003eRUF100\u003c/code\u003e conflict when \u003ccode\u003enoqa\u003c/code\u003e is on commented-out code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25414\"\u003e#25414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Avoid removing the \u003ccode\u003eformat\u003c/code\u003e call when it would change behavior (\u003ccode\u003eF523\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25320\"\u003e#25320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid syntax errors in invalid character replacements in f-strings before Python 3.12 (\u003ccode\u003ePLE2510\u003c/code\u003e, \u003ccode\u003ePLE2512\u003c/code\u003e, \u003ccode\u003ePLE2513\u003c/code\u003e, \u003ccode\u003ePLE2514\u003c/code\u003e, \u003ccode\u003ePLE2515\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25544\"\u003e#25544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Avoid converting \u003ccode\u003eformat\u003c/code\u003e calls with more kinds of side effects (\u003ccode\u003eUP032\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25484\"\u003e#25484\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-pytest-style\u003c/code\u003e] Avoid fixes for ambiguous \u003ccode\u003eargnames\u003c/code\u003e and \u003ccode\u003eargvalues\u003c/code\u003e combinations (\u003ccode\u003ePT006\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24776\"\u003e#24776\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop excess capacity from statement suites during parsing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25368\"\u003e#25368\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epydocstyle\u003c/code\u003e] Improve discoverability of rules enabled for each convention (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24973\"\u003e#24973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Restore example code for Python versions before 3.15 (\u003ccode\u003eRUF017\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25439\"\u003e#25439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix typo \u003ccode\u003ebin/active\u003c/code\u003e → \u003ccode\u003ebin/activate\u003c/code\u003e in tutorial (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25473\"\u003e#25473\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShrink additional parser AST collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25465\"\u003e#25465\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/Redslayer112\"\u003e\u003ccode\u003e@​Redslayer112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/koriyoshi2041\"\u003e\u003ccode\u003e@​koriyoshi2041\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/George-Ogden\"\u003e\u003ccode\u003e@​George-Ogden\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TejasAmle\"\u003e\u003ccode\u003e@​TejasAmle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\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\u003cli\u003e\u003ca href=\"https://github.com/loganrosen\"\u003e\u003ccode\u003e@​loganrosen\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RafaelJohn9\"\u003e\u003ccode\u003e@​RafaelJohn9\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.16\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eyield-in-context-manager-in-async-generator\u003c/code\u003e (\u003ccode\u003eASYNC119\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24644\"\u003e#24644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Narrow diagnostic range and exclude cases without exception handlers (\u003ccode\u003ePLW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25440\"\u003e#25440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Treat \u003ccode\u003eyield\u003c/code\u003e before \u003ccode\u003ebreak\u003c/code\u003e from a terminal loop as terminal (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25447\"\u003e#25447\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Avoid flagging \u003ccode\u003eruff:ignore\u003c/code\u003e comments as code (\u003ccode\u003eERA001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25537\"\u003e#25537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Fix \u003ccode\u003eERA001\u003c/code\u003e/\u003ccode\u003eRUF100\u003c/code\u003e conflict when \u003ccode\u003enoqa\u003c/code\u003e is on commented-out code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25414\"\u003e#25414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Avoid removing the \u003ccode\u003eformat\u003c/code\u003e call when it would change behavior (\u003ccode\u003eF523\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25320\"\u003e#25320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid syntax errors in invalid character replacements in f-strings before Python 3.12 (\u003ccode\u003ePLE2510\u003c/code\u003e, \u003ccode\u003ePLE2512\u003c/code\u003e, \u003ccode\u003ePLE2513\u003c/code\u003e, \u003ccode\u003ePLE2514\u003c/code\u003e, \u003ccode\u003ePLE2515\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25544\"\u003e#25544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Avoid converting \u003ccode\u003eformat\u003c/code\u003e calls with more kinds of side effects (\u003ccode\u003eUP032\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25484\"\u003e#25484\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-pytest-style\u003c/code\u003e] Avoid fixes for ambiguous \u003ccode\u003eargnames\u003c/code\u003e and \u003ccode\u003eargvalues\u003c/code\u003e combinations (\u003ccode\u003ePT006\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24776\"\u003e#24776\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop excess capacity from statement suites during parsing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25368\"\u003e#25368\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epydocstyle\u003c/code\u003e] Improve discoverability of rules enabled for each convention (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24973\"\u003e#24973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Restore example code for Python versions before 3.15 (\u003ccode\u003eRUF017\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25439\"\u003e#25439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix typo \u003ccode\u003ebin/active\u003c/code\u003e → \u003ccode\u003ebin/activate\u003c/code\u003e in tutorial (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25473\"\u003e#25473\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShrink additional parser AST collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25465\"\u003e#25465\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/Redslayer112\"\u003e\u003ccode\u003e@​Redslayer112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/koriyoshi2041\"\u003e\u003ccode\u003e@​koriyoshi2041\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/George-Ogden\"\u003e\u003ccode\u003e@​George-Ogden\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TejasAmle\"\u003e\u003ccode\u003e@​TejasAmle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\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\u003cli\u003e\u003ca href=\"https://github.com/loganrosen\"\u003e\u003ccode\u003e@​loganrosen\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RafaelJohn9\"\u003e\u003ccode\u003e@​RafaelJohn9\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/6c498ab5394edc5622d7f348e12956bf86203716\"\u003e\u003ccode\u003e6c498ab\u003c/code\u003e\u003c/a\u003e Bump 0.15.16 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25635\"\u003e#25635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e51e132831c4e1c4a5ac00fca4c9256354ab99bf\"\u003e\u003ccode\u003ee51e132\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eyield-in-context-manager-in-async-generator\u003c/code\u003e (`AS...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7c6dcd9f2611999c449143d241c582dedf287964\"\u003e\u003ccode\u003e7c6dcd9\u003c/code\u003e\u003c/a\u003e [ty] Add caching for pattern match narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25613\"\u003e#25613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/27058fc071b542bf06395ba89cabed061d313ca6\"\u003e\u003ccode\u003e27058fc\u003c/code\u003e\u003c/a\u003e [ty] Compact retained definition and expression identities (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25606\"\u003e#25606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/bf80d05f007c939799f530c9e775ed9449f5b2eb\"\u003e\u003ccode\u003ebf80d05\u003c/code\u003e\u003c/a\u003e Fix CODEOWNERS syntax (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25622\"\u003e#25622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/10ccd511e94a81d1e836b174f1c553a73ff3f1b3\"\u003e\u003ccode\u003e10ccd51\u003c/code\u003e\u003c/a\u003e Shrink additional parser AST collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25465\"\u003e#25465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/0d7135f4d23e7f4d8404daed16b9ef11d14f3fb9\"\u003e\u003ccode\u003e0d7135f\u003c/code\u003e\u003c/a\u003e [ty] Upgrade Salsa (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25545\"\u003e#25545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/49493a3cea83a08fa9aa143695017c816a540f1d\"\u003e\u003ccode\u003e49493a3\u003c/code\u003e\u003c/a\u003e [ty] Show type alias value on hover (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25381\"\u003e#25381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/85207d3b7657a84252f266766cb0d56034dc21cc\"\u003e\u003ccode\u003e85207d3\u003c/code\u003e\u003c/a\u003e [ty] sys.implementation.version is not sys.version_info (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25608\"\u003e#25608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a8a0614348c1fcf47fc9b666eff61a103914d520\"\u003e\u003ccode\u003ea8a0614\u003c/code\u003e\u003c/a\u003e [ty] Avoid retaining duplicate function signatures (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25609\"\u003e#25609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.15...0.15.16\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ipython` from 9.14.0 to 9.14.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/352c35b9e841fe20c2a0dc09af67e180e6854322\"\u003e\u003ccode\u003e352c35b\u003c/code\u003e\u003c/a\u003e release 9.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/df72b1f8d94e874947f6425dbbcca614942aa3f5\"\u003e\u003ccode\u003edf72b1f\u003c/code\u003e\u003c/a\u003e Add forward compatibility for pdb.Pdb's mode argument (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/15235\"\u003e#15235\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/a957d81c3177d33fc9d0b5fe123e58dd8cbf87e7\"\u003e\u003ccode\u003ea957d81\u003c/code\u003e\u003c/a\u003e Handle pdb.Pdb \u003ccode\u003emode\u003c/code\u003e argument and test signature compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/3e1c0544e141d55cd232259d4828a633e952f5fc\"\u003e\u003ccode\u003e3e1c054\u003c/code\u003e\u003c/a\u003e ci: add zizmor GitHub Actions security analysis and harden workflows (\u003ca href=\"https://redirect.github.com/ipython/ipython/issues/15238\"\u003e#15238\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/0181ae38b68b929f464c349ad139e1080ee60a93\"\u003e\u003ccode\u003e0181ae3\u003c/code\u003e\u003c/a\u003e ci: add zizmor GitHub Actions security analysis and harden workflows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/fb831cc06fe27a12f5d52f6608fa90857428748c\"\u003e\u003ccode\u003efb831cc\u003c/code\u003e\u003c/a\u003e back to dev\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ipython/ipython/compare/9.14.0...9.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `optuna` from 4.8.0 to 4.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.9.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/74?closed=1\"\u003ev4.9.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch3\u003eEnhance Multi-Objective Constrained Parallel Optimization in GPSampler\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sawa3030\"\u003e\u003ccode\u003e@​sawa3030\u003c/code\u003e\u003c/a\u003e introduces parallelization enhancements to \u003ccode\u003eGPSampler\u003c/code\u003e, leveraging the \u003cstrong\u003eKriging Believer\u003c/strong\u003e approach for constrained and multi-objective optimization (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6481\"\u003e#6481\u003c/a\u003e). This improvement allows for more efficient exploration when multiple trials are running concurrently.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003eThe GP surrogate is updated by assigning temporary objective function values ​​to the running trials.\u003c/p\u003e\n\u003cp\u003eFor more technical details and benchmarks, please check out our blog post: \u003ca href=\"https://medium.com/optuna/improving-optunas-gpsampler-parallelization-by-considering-running-trials-10d42aeb5d49\"\u003eImproving Optuna’s GPSampler Parallelization by Considering Running Trials\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eDeprecate Several Features\u003c/h3\u003e\n\u003cp\u003eThe following features are deprecated in v4.9.0 and scheduled for removal in v6.0.0.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eoptuna\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSeveral arguments in \u003ccode\u003eTPESampler\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6635\"\u003e#6635\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eprior_weight\u003c/code\u003e, \u003ccode\u003econsider_magic_clip\u003c/code\u003e, \u003ccode\u003econsider_endpoints\u003c/code\u003e, \u003ccode\u003egamma\u003c/code\u003e, \u003ccode\u003eweights\u003c/code\u003e, \u003ccode\u003ehyperopt_parameters\u003c/code\u003e: These internal parameters are being deprecated to simplify the interface, as the default settings are optimal for most use cases.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ewarn_independent_sampling\u003c/code\u003e: Deprecated because \u003ccode\u003eTPESampler\u003c/code\u003e now robustly supports both independent and joint sampling, making this warning obsolete.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecategorical_distance_func\u003c/code\u003e: This advanced feature will be migrated to OptunaHub in the future.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ex0\u003c/code\u003e and \u003ccode\u003esigma0\u003c/code\u003e options in \u003ccode\u003eCmaEsSampler\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6624\"\u003e#6624\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThese options have been deprecated because they require a deep understanding of \u003ccode\u003eCmaEsSampler\u003c/code\u003e's internals to be configured effectively.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eoptuna.terminator\u003c/code\u003e module\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6668\"\u003e#6668\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis feature will be migrated to OptunaHub in the future.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eRetryFailedTrialCallback\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6670\"\u003e#6670\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis class has been renamed to \u003ccode\u003eRetryHeartbeatStaleTrialCallback\u003c/code\u003e to better reflect its behavior and avoid confusion with general trial retries (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6085\"\u003e#6085\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eoptuna.integration\u003c/code\u003e module\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003eoptuna.integration\u003c/code\u003e module currently acts as a shortcut to the external \u003ccode\u003eoptuna_integration\u003c/code\u003e package for backward compatibility. Please import directly from the \u003ccode\u003eoptuna_integration\u003c/code\u003e package going forward.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eoptuna-integration\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ePyCmaSampler\u003c/code\u003e: Please use Optuna's native \u003ccode\u003eCmaEsSampler\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCometCallback\u003c/code\u003e: This feature will be migrated to OptunaHub in the future.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMLflowCallback\u003c/code\u003e: This feature will be migrated to OptunaHub in the future.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTensorBoardCallback\u003c/code\u003e: This feature will be migrated to OptunaHub in the future.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTrackioCallback\u003c/code\u003e: This feature will be migrated to OptunaHub in the future.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eWeightsAndBiasesCallback\u003c/code\u003e: This class has already been migrated to OptunaHub.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBreaking Changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003ePyCmaSampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/276\"\u003eoptuna/optuna-integration#276\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd deprecation message for \u003ccode\u003eCometCallback\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/280\"\u003eoptuna/optuna-integration#280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd deprecation message for MLflowCallback (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/281\"\u003eoptuna/optuna-integration#281\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/optuna/optuna/commit/4db42e31c24b200e52595df9d4c00e2cdeefea2b\"\u003e\u003ccode\u003e4db42e3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6691\"\u003e#6691\u003c/a\u003e from c-bata/backport-v4.9-attestations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/6a15cf0906c5e92e9dbe70d3ee320eb3db5d08b7\"\u003e\u003ccode\u003e6a15cf0\u003c/code\u003e\u003c/a\u003e Add attestations: false to fix release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/a592e6c0d6604fa678201ecddbcc53a0d232cc65\"\u003e\u003ccode\u003ea592e6c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6684\"\u003e#6684\u003c/a\u003e from c-bata/bump-up-to-v4.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/490cfd6de52377acbec1d6f709b0189026575af2\"\u003e\u003ccode\u003e490cfd6\u003c/code\u003e\u003c/a\u003e Bump up to version number v4.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/6135d5469152a3f14a41202d2c065e823f3dd24c\"\u003e\u003ccode\u003e6135d54\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6651\"\u003e#6651\u003c/a\u003e from nabenabe0928/add-brute-force-info-to-grid-sampler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/c41ec2df70ba2c4957aa96f524733d1e488d9e85\"\u003e\u003ccode\u003ec41ec2d\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'upstream/master' into add-brute-force-info-to-g...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/f845a8fccfc0c6d64d419b27ab3076bb1b7caf32\"\u003e\u003ccode\u003ef845a8f\u003c/code\u003e\u003c/a\u003e Fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/574749e6a8ae2b93fc0a61908ad90da92495e8e5\"\u003e\u003ccode\u003e574749e\u003c/code\u003e\u003c/a\u003e Fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/af7fe8b01791a8ddbb368ce9e77d922296da30b1\"\u003e\u003ccode\u003eaf7fe8b\u003c/code\u003e\u003c/a\u003e Add note to best trial\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/b200bfbb312595c07d0e0c1265754096843091af\"\u003e\u003ccode\u003eb200bfb\u003c/code\u003e\u003c/a\u003e Update the NSGA-III doc\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/optuna/optuna/compare/v4.8.0...v4.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sphinx-autodoc-typehints` from 3.10.4 to 3.10.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/sphinx-autodoc-typehints/releases\"\u003esphinx-autodoc-typehints's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.10.5\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eprocess_signature: don't skip the first arg on bound instance methods by \u003ca href=\"https://github.com/ilia-kats\"\u003e\u003ccode\u003e@​ilia-kats\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/sphinx-autodoc-typehints/pull/705\"\u003etox-dev/sphinx-autodoc-typehints#705\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(annotations): use class role for Ellipsis/NotImplementedType on 3.13+ by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/sphinx-autodoc-typehints/pull/707\"\u003etox-dev/sphinx-autodoc-typehints#707\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/ilia-kats\"\u003e\u003ccode\u003e@​ilia-kats\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/sphinx-autodoc-typehints/pull/705\"\u003etox-dev/sphinx-autodoc-typehints#705\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/sphinx-autodoc-typehints/compare/3.10.4...3.10.5\"\u003ehttps://github.com/tox-dev/sphinx-autodoc-typehints/compare/3.10.4...3.10.5\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/sphinx-autodoc-typehints/commit/bf535f668d3f6652c8c3d93dcc35ced6f01d293b\"\u003e\u003ccode\u003ebf535f6\u003c/code\u003e\u003c/a\u003e 🐛 fix(annotations): use class role for Ellipsis/NotImplementedType on 3.13+ (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/sphinx-autodoc-typehints/commit/9f50d8dbf2b676cbf5b52659d9f2234757dd87d6\"\u003e\u003ccode\u003e9f50d8d\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/sphinx-autodoc-typehints/issues/706\"\u003e#706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/sphinx-autodoc-typehints/commit/ac8ff5fecbe4db9ed30723221fa7afaa3efce74d\"\u003e\u003ccode\u003eac8ff5f\u003c/code\u003e\u003c/a\u003e process_signature: don't skip the first arg on bound instance methods (\u003ca href=\"https://redirect.github.com/tox-dev/sphinx-autodoc-typehints/issues/705\"\u003e#705\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tox-dev/sphinx-autodoc-typehints/compare/3.10.4...3.10.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dagster` from 1.13.7 to 1.13.8\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dagster-io/dagster/blob/master/CHANGES.md\"\u003edagster's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.13.8 (core) / 0.29.8 (libraries)\u003c/h2\u003e\n\u003ch3\u003eNew\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpecial characters are now allowed in team \u003ccode\u003eowners\u003c/code\u003e for jobs, schedules, and sensors. (Thanks, \u003ca href=\"https://github.com/dragos-pop\"\u003e\u003ccode\u003e@​dragos-pop\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ekinds\u003c/code\u003e tags and icons for Microsoft Fabric and OneLake. (Thanks, \u003ca href=\"https://github.com/MartyP233\"\u003e\u003ccode\u003e@​MartyP233\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eThe BigQuery, Snowflake, and DuckDB I/O managers now skip the table write when an asset returns an empty DataFrame, logging a warning instead. This prevents incorrect type inference and degenerate tables for empty partitions.\u003c/li\u003e\n\u003cli\u003e[ui] The per-code-location \u0026quot;Docs\u0026quot; tab is now \u0026quot;Components\u0026quot;, with its content available under a \u0026quot;Library\u0026quot; subtab. Existing \u003ccode\u003e/docs\u003c/code\u003e links continue to work via redirect.\u003c/li\u003e\n\u003cli\u003e[dagster-aws] The EMR PySpark step launcher now honors a configured S3 job package path.\u003c/li\u003e\n\u003cli\u003e[dagster-cloud] \u003ccode\u003ecode_server.*\u003c/code\u003e metrics now carry a \u003ccode\u003eserver_instance_id\u003c/code\u003e tag identifying the underlying gRPC server process. For multi-replica code locations, the tag identifies whichever replica answered the most recent metrics ping.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eInstigationLogger\u003c/code\u003e now stringifies log record attributes that are not JSON-serializable instead of failing to emit the log. (Thanks, \u003ca href=\"https://github.com/jonaslb\"\u003e\u003ccode\u003e@​jonaslb\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFixed a SQL injection vulnerability in \u003ccode\u003edagster-clickhouse\u003c/code\u003e, \u003ccode\u003edagster-clickhouse-pandas\u003c/code\u003e, and \u003ccode\u003edagster-clickhouse-polars\u003c/code\u003e when using dynamic partition keys. ClickHouse partition queries now bind partition key values as driver parameters instead of interpolating them into SQL strings.\u003c/li\u003e\n\u003cli\u003eFixed an issue where tag values in component YAML files were not coerced correctly.\u003c/li\u003e\n\u003cli\u003e[dg] \u003ccode\u003edg labs ai dispatch\u003c/code\u003e no longer writes a \u003ccode\u003eplan.md\u003c/code\u003e artifact into version control.\u003c/li\u003e\n\u003cli\u003e[dg] Fixed an error that occurred when using \u003ccode\u003eTypedDict\u003c/code\u003e-typed fields in component configuration.\u003c/li\u003e\n\u003cli\u003e[ui] Fixed partition step status labels and squares that rendered incorrectly after the CSS Modules migration.\u003c/li\u003e\n\u003cli\u003e[ui] Fixed backfill progress not reaching 100% until all runs had completed.\u003c/li\u003e\n\u003cli\u003e[dagster-databricks] Fixed Databricks workspace job list pagination and added retries for rate-limit responses.\u003c/li\u003e\n\u003cli\u003e[dagster-dbt] Fixed \u003ccode\u003eDbtProject.prepare()\u003c/code\u003e to always run \u003ccode\u003edbt deps\u003c/code\u003e when dependency files are present.\u003c/li\u003e\n\u003cli\u003e[dagster-dbt] Fixed YAML-based translation in \u003ccode\u003eDbtProjectComponent\u003c/code\u003e subclasses to also translate dependency keys.\u003c/li\u003e\n\u003cli\u003e[dagster-dbt] Fixed an issue where dbt unit tests could be ignored unexpectedly.\u003c/li\u003e\n\u003cli\u003e[dagster-dbt] Fixed incorrect asset key translation when generating column lineage with \u003ccode\u003eDbtProjectComponent\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e[dagster-dbt] Fixed unbounded recursive copying of the \u003ccode\u003e.local_defs_state()\u003c/code\u003e directory when a dbt project was located at the repository root.\u003c/li\u003e\n\u003cli\u003e[dagster-cloud-cli] Fixed \u003ccode\u003edg plus deploy\u003c/code\u003e failing with \u003ccode\u003eNo module named pip\u003c/code\u003e in \u003ccode\u003euv\u003c/code\u003e-managed environments.\u003c/li\u003e\n\u003cli\u003e[dagster-cloud-cli] Removed an overly strict dependency-file check from the Docker deploy path.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an integration reference for \u003ccode\u003edagster-elasticsearch\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded documentation for the OpenLineage integration.\u003c/li\u003e\n\u003cli\u003eAdded documentation for \u003ccode\u003edagster-hf-datasets\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded an example covering deployment strategies.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/37f0140a321d1437f01af0cc2b3461d13d228014\"\u003e\u003ccode\u003e37f0140\u003c/code\u003e\u003c/a\u003e 1.13.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/e1eb62555a13eab248f7a844d8978dfccb6154da\"\u003e\u003ccode\u003ee1eb625\u003c/code\u003e\u003c/a\u003e Authenticate release changelog branch-tip fetch with devtools PAT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/85b74f5cb3193c499c8db8835f878a8a68197268\"\u003e\u003ccode\u003e85b74f5\u003c/code\u003e\u003c/a\u003e Fix release changelog check on k8s buildkite agents (\u003ca href=\"https://redirect.github.com/dagster-io/dagster/issues/24807\"\u003e#24807\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/cb5263359b7c4b3543fa84b7794493f54a0e9464\"\u003e\u003ccode\u003ecb52633\u003c/code\u003e\u003c/a\u003e 1.13.8 changelog (\u003ca href=\"https://redirect.github.com/dagster-io/dagster/issues/25255\"\u003e#25255\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/bea738d8750154f182ea4422b09433efd31cc9a1\"\u003e\u003ccode\u003ebea738d\u003c/code\u003e\u003c/a\u003e fix(dagster-rest-resources): relock to capture pytest conditional deps for py...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/8df28a8058d798314bf158d1ae72fe642b59a676\"\u003e\u003ccode\u003e8df28a8\u003c/code\u003e\u003c/a\u003e fix(dagster-shared): match_type Required/NotRequired support for TypedDict on...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/b443d0f40367f13425c392b5a059822c37a10b4b\"\u003e\u003ccode\u003eb443d0f\u003c/code\u003e\u003c/a\u003e [ui] Fix partition step status labels/squares broken by CSS Modules migration...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/9765c988d6aa18aabcc88133116bc447c178eb3d\"\u003e\u003ccode\u003e9765c98\u003c/code\u003e\u003c/a\u003e [ui] Replace all \u003ccode\u003eCaption\u003c/code\u003e typography components with \u003ccode\u003eText\u003c/code\u003e component (\u003ca href=\"https://redirect.github.com/dagster-io/dagster/issues/25200\"\u003e#25200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/05e07d20750462e70fa9204ad4e74cde9cff1033\"\u003e\u003ccode\u003e05e07d2\u003c/code\u003e\u003c/a\u003e [ui] Replace all \u003ccode\u003eMono\u003c/code\u003e typography components with \u003ccode\u003eText\u003c/code\u003e component (\u003ca href=\"https://redirect.github.com/dagster-io/dagster/issues/25199\"\u003e#25199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/2ff035297321613e0a3416f33e8c16f251a94205\"\u003e\u003ccode\u003e2ff0352\u003c/code\u003e\u003c/a\u003e fix(dagster-test): poll for dg dev child-process exit instead of fixed sleep ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dagster-io/dagster/compare/1.13.7...1.13.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dagster-webserver` from 1.13.7 to 1.13.8\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dagster-io/dagster/blob/master/CHANGES.md\"\u003edagster-webserver's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.13.8 (core) / 0.29.8 (libraries)\u003c/h2\u003e\n\u003ch3\u003eNew\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpecial characters are now allowed in team \u003ccode\u003eowners\u003c/code\u003e for jobs, schedules, and sensors. (Thanks, \u003ca href=\"https://github.com/dragos-pop\"\u003e\u003ccode\u003e@​dragos-pop\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ekinds\u003c/code\u003e tags and icons for Microsoft Fabric and OneLake. (Thanks, \u003ca href=\"https://github.com/MartyP233\"\u003e\u003ccode\u003e@​MartyP233\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eThe BigQuery, Snowflake, and DuckDB I/O managers now skip the table write when an asset returns an empty DataFrame, logging a warning instead. This prevents incorrect type inference and degenerate tables for empty partitions.\u003c/li\u003e\n\u003cli\u003e[ui] The per-code-location \u0026quot;Docs\u0026quot; tab is now \u0026quot;Components\u0026quot;, with its content available under a \u0026quot;Library\u0026quot; subtab. Existing \u003ccode\u003e/docs\u003c/code\u003e links continue to work via redirect.\u003c/li\u003e\n\u003cli\u003e[dagster-aws] The EMR PySpark step launcher now honors a configured S3 job package path.\u003c/li\u003e\n\u003cli\u003e[dagster-cloud] \u003ccode\u003ecode_server.*\u003c/code\u003e metrics now carry a \u003ccode\u003eserver_instance_id\u003c/code\u003e tag identifying the underlying gRPC server process. For multi-replica code locations, the tag identifies whichever replica answered the most recent metrics ping.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eInstigationLogger\u003c/code\u003e now stringifies log record attributes that are not JSON-serializable instead of failing to emit the log. (Thanks, \u003ca href=\"https://github.com/jonaslb\"\u003e\u003ccode\u003e@​jonaslb\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFixed a SQL injection vulnerability in \u003ccode\u003edagster-clickhouse\u003c/code\u003e, \u003ccode\u003edagster-clickhouse-pandas\u003c/code\u003e, and \u003ccode\u003edagster-clickhouse-polars\u003c/code\u003e when using dynamic partition keys. ClickHouse partition queries now bind partition key values as driver parameters instead of interpolating them into SQL strings.\u003c/li\u003e\n\u003cli\u003eFixed an issue where tag values in component YAML files were not coerced correctly.\u003c/li\u003e\n\u003cli\u003e[dg] \u003ccode\u003edg labs ai dispatch\u003c/code\u003e no longer writes a \u003ccode\u003eplan.md\u003c/code\u003e artifact into version control.\u003c/li\u003e\n\u003cli\u003e[dg] Fixed an error that occurred when using \u003ccode\u003eTypedDict\u003c/code\u003e-typed fields in component configuration.\u003c/li\u003e\n\u003cli\u003e[ui] Fixed partition step status labels and squares that rendered incorrectly after the CSS Modules migration.\u003c/li\u003e\n\u003cli\u003e[ui] Fixed backfill progress not reaching 100% until all runs had completed.\u003c/li\u003e\n\u003cli\u003e[dagster-databricks] Fixed Databricks workspace job list pagination and added retries for rate-limit responses.\u003c/li\u003e\n\u003cli\u003e[dagster-dbt] Fixed \u003ccode\u003eDbtProject.prepare()\u003c/code\u003e to always run \u003ccode\u003edbt deps\u003c/code\u003e when dependency files are present.\u003c/li\u003e\n\u003cli\u003e[dagster-dbt] Fixed YAML-based translation in \u003ccode\u003eDbtProjectComponent\u003c/code\u003e subclasses to also translate dependency keys.\u003c/li\u003e\n\u003cli\u003e[dagster-dbt] Fixed an issue where dbt unit tests could be ignored unexpectedly.\u003c/li\u003e\n\u003cli\u003e[dagster-dbt] Fixed incorrect asset key translation when generating column lineage with \u003ccode\u003eDbtProjectComponent\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e[dagster-dbt] Fixed unbounded recursive copying of the \u003ccode\u003e.local_defs_state()\u003c/code\u003e directory when a dbt project was located at the repository root.\u003c/li\u003e\n\u003cli\u003e[dagster-cloud-cli] Fixed \u003ccode\u003edg plus deploy\u003c/code\u003e failing with \u003ccode\u003eNo module named pip\u003c/code\u003e in \u003ccode\u003euv\u003c/code\u003e-managed environments.\u003c/li\u003e\n\u003cli\u003e[dagster-cloud-cli] Removed an overly strict dependency-file check from the Docker deploy path.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an integration reference for \u003ccode\u003edagster-elasticsearch\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded documentation for the OpenLineage integration.\u003c/li\u003e\n\u003cli\u003eAdded documentation for \u003ccode\u003edagster-hf-datasets\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded an example covering deployment strategies.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/37f0140a321d1437f01af0cc2b3461d13d228014\"\u003e\u003ccode\u003e37f0140\u003c/code\u003e\u003c/a\u003e 1.13.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/e1eb62555a13eab248f7a844d8978dfccb6154da\"\u003e\u003ccode\u003ee1eb625\u003c/code\u003e\u003c/a\u003e Authenticate release changelog branch-tip fetch with devtools PAT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/85b74f5cb3193c499c8db8835f878a8a68197268\"\u003e\u003ccode\u003e85b74f5\u003c/code\u003e\u003c/a\u003e Fix release changelog check on k8s buildkite agents (\u003ca href=\"https://redirect.github.com/dagster-io/dagster/issues/24807\"\u003e#24807\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/cb5263359b7c4b3543fa84b7794493f54a0e9464\"\u003e\u003ccode\u003ecb52633\u003c/code\u003e\u003c/a\u003e 1.13.8 changelog (\u003ca href=\"https://redirect.github.com/dagster-io/dagster/issues/25255\"\u003e#25255\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/bea738d8750154f182ea4422b09433efd31cc9a1\"\u003e\u003ccode\u003ebea738d\u003c/code\u003e\u003c/a\u003e fix(dagster-rest-resources): relock to capture pytest conditional deps for py...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/8df28a8058d798314bf158d1ae72fe642b59a676\"\u003e\u003ccode\u003e8df28a8\u003c/code\u003e\u003c/a\u003e fix(dagster-shared): match_type Required/NotRequired support for TypedDict on...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/b443d0f40367f13425c392b5a059822c37a10b4b\"\u003e\u003ccode\u003eb443d0f\u003c/code\u003e\u003c/a\u003e [ui] Fix partition step status labels/squares broken by CSS Modules migration...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/9765c988d6aa18aabcc88133116bc447c178eb3d\"\u003e\u003ccode\u003e9765c98\u003c/code\u003e\u003c/a\u003e [ui] Replace all \u003ccode\u003eCaption\u003c/code\u003e typography components with \u003ccode\u003eText\u003c/code\u003e component (\u003ca href=\"https://redirect.github.com/dagster-io/dagster/issues/25200\"\u003e#25200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/05e07d20750462e70fa9204ad4e74cde9cff1033\"\u003e\u003ccode\u003e05e07d2\u003c/code\u003e\u003c/a\u003e [ui] Replace all \u003ccode\u003eMono\u003c/code\u003e typography components with \u003ccode\u003eText\u003c/code\u003e component (\u003ca href=\"https://redirect.github.com/dagster-io/dagster/issues/25199\"\u003e#25199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dagster-io/dagster/commit/2ff035297321613e0a3416f33e8c16f251a94205\"\u003e\u003ccode\u003e2ff0352\u003c/code\u003e\u003c/a\u003e fix(dagster-test): poll for dg dev child-process exit instead of fixed sleep ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dagster-io/dagster/compare/1.13.7...1.13.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `plotly` from 6.7.0 to 6.8.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.8.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd optional \u003ccode\u003efont\u003c/code\u003e parameter for \u003ccode\u003emake_subplots\u003c/code\u003e [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5393\"\u003e#5393\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/Zomtir\"\u003e\u003ccode\u003e@​Zomtir\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 user-specified \u003ccode\u003ecolor_continuous_scale\u003c/code\u003e was ignored when template had \u003ccode\u003eautocolorscale=True\u003c/code\u003e [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5439\"\u003e#5439\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/antonymilne\"\u003e\u003ccode\u003e@​antonymilne\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eUse presence of \u003ccode\u003eCOLAB_NOTEBOOK_ID\u003c/code\u003e env var to enable Colab renderer instead of testing import of \u003ccode\u003egoogle.colab\u003c/code\u003e [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5473\"\u003e#5473\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/kevineger\"\u003e\u003ccode\u003e@​kevineger\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eFix incorrect annotation placement for \u003ccode\u003eadd_vline\u003c/code\u003e, \u003ccode\u003eadd_hline\u003c/code\u003e, \u003ccode\u003eadd_vrect\u003c/code\u003e, and \u003ccode\u003eadd_hrect\u003c/code\u003e on datetime axes [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5508\"\u003e#5508\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/mosh3eb\"\u003e\u003ccode\u003e@​mosh3eb\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eUpdate tests to be compatible with numpy 2.4 [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5522\"\u003e#5522\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/thunze\"\u003e\u003ccode\u003e@​thunze\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eFix issue where \u003ccode\u003ejs/\u003c/code\u003e directory was unintentionally installed as a top-level Python package when installing \u003ccode\u003eplotly\u003c/code\u003e [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5587\"\u003e#5587\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd default headers to be passed in to Kaleido v1.3.0 to avoid blocked Open Street Map tiles [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5588\"\u003e#5588\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003ePropagate the requested \u003ccode\u003edefault_height\u003c/code\u003e/\u003ccode\u003edefault_width\u003c/code\u003e to the outer wrapper div produced by \u003ccode\u003eto_html\u003c/code\u003e so that responsive (percentage) dimensions inherit from a sized parent container instead of collapsing to the plotly.js 450px fallback [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5591\"\u003e#5591\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/SharadhNaidu\"\u003e\u003ccode\u003e@​SharadhNaidu\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003e__eq__\u003c/code\u003e method for  \u003ccode\u003egraph_objects\u003c/code\u003e classes now returns \u003ccode\u003eNotImplemented\u003c/code\u003e to give the other operand an opportunity to handle the comparison [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5547\"\u003e#5547\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/RazerM\"\u003e\u003ccode\u003e@​RazerM\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eUpdate plotly.js from version 3.5.0 to version 3.6.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.6.0\"\u003erelease notes\u003c/a\u003e for more information [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5608\"\u003e#5608\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd support for arrays for the pie property \u003ccode\u003elegendrank\u003c/code\u003e, so that it can be configured per slice [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7723\"\u003e#7723\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ehoversort\u003c/code\u003e layout attribute to sort unified hover label items by value [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7734\"\u003e#7734\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/plotly/plotly.py/blob/main/CHANGELOG.md\"\u003eplotly's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[6.8.0] - 2026-06-03\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd optional \u003ccode\u003efont\u003c/code\u003e parameter for \u003ccode\u003emake_subplots\u003c/code\u003e [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5393\"\u003e#5393\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/Zomtir\"\u003e\u003ccode\u003e@​Zomtir\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 user-specified \u003ccode\u003ecolor_continuous_scale\u003c/code\u003e was ignored when template had \u003ccode\u003eautocolorscale=True\u003c/code\u003e [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5439\"\u003e#5439\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/antonymilne\"\u003e\u003ccode\u003e@​antonymilne\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eUse presence of \u003ccode\u003eCOLAB_NOTEBOOK_ID\u003c/code\u003e env var to enable Colab renderer instead of testing import of \u003ccode\u003egoogle.colab\u003c/code\u003e [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5473\"\u003e#5473\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/kevineger\"\u003e\u003ccode\u003e@​kevineger\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eFix incorrect annotation placement for \u003ccode\u003eadd_vline\u003c/code\u003e, \u003ccode\u003eadd_hline\u003c/code\u003e, \u003ccode\u003eadd_vrect\u003c/code\u003e, and \u003ccode\u003eadd_hrect\u003c/code\u003e on datetime axes [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5508\"\u003e#5508\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/mosh3eb\"\u003e\u003ccode\u003e@​mosh3eb\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eUpdate tests to be compatible with numpy 2.4 [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5522\"\u003e#5522\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/thunze\"\u003e\u003ccode\u003e@​thunze\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eFix issue where \u003ccode\u003ejs/\u003c/code\u003e directory was unintentionally installed as a top-level Python package when installing \u003ccode\u003eplotly\u003c/code\u003e [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5587\"\u003e#5587\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd default headers to be passed in to Kaleido v1.3.0 to avoid blocked Open Street Map tiles [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5588\"\u003e#5588\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003ePropagate the requested \u003ccode\u003edefault_height\u003c/code\u003e/\u003ccode\u003edefault_width\u003c/code\u003e to the outer wrapper div produced by \u003ccode\u003eto_html\u003c/code\u003e so that responsive (percentage) dimensions inherit from a sized parent container instead of collapsing to the plotly.js 450px fallback [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5591\"\u003e#5591\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/SharadhNaidu\"\u003e\u003ccode\u003e@​SharadhNaidu\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003e__eq__\u003c/code\u003e method for  \u003ccode\u003egraph_objects\u003c/code\u003e classes now returns \u003ccode\u003eNotImplemented\u003c/code\u003e to give the other operand an opportunity to handle the comparison [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5547\"\u003e#5547\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/RazerM\"\u003e\u003ccode\u003e@​RazerM\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eUpdate plotly.js from version 3.5.0 to version 3.6.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.6.0\"\u003erelease notes\u003c/a\u003e for more information [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5608\"\u003e#5608\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd support for arrays for the pie property \u003ccode\u003elegendrank\u003c/code\u003e, so that it can be configured per slice [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7723\"\u003e#7723\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ehoversort\u003c/code\u003e layout attribute to sort unified hover label items by value [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7734\"\u003e#7734\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/ea4eca89c48f9549f5073607b22a4490a49954f7\"\u003e\u003ccode\u003eea4eca8\u003c/code\u003e\u003c/a\u003e Address PR feedback\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/e57adbd447d35912e95e77b121907cb1ce053a59\"\u003e\u003ccode\u003ee57adbd\u003c/code\u003e\u003c/a\u003e Fix broken example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/b8c2bf44bc9961419527f0af27c132ca077de524\"\u003e\u003ccode\u003eb8c2bf4\u003c/code\u003e\u003c/a\u003e Update Jupyter Lab extension files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/2de1059a2eb00487f6cb86575f85ffabc35ab38a\"\u003e\u003ccode\u003e2de1059\u003c/code\u003e\u003c/a\u003e Update docs for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/f94e304fcd5106bfca6c6c5a13367dfb3f79e969\"\u003e\u003ccode\u003ef94e304\u003c/code\u003e\u003c/a\u003e Version changes for v6.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/7f2eb35237d99b9cef779fa26740d8420cecce32\"\u003e\u003ccode\u003e7f2eb35\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5608\"\u003e#5608\u003c/a\u003e from plotly/cam/update-plotly.js-3.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/f57cf960db23faf1a42fad57e55b870fbb463ca5\"\u003e\u003ccode\u003ef57cf96\u003c/code\u003e\u003c/a\u003e Update command to run \u003ccode\u003enpm install\u003c/code\u003e for \u003ccode\u003eupdateplotlyjs\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/1f268208ed820e402fa7f84df1b822f91d201981\"\u003e\u003ccode\u003e1f26820\u003c/code\u003e\u003c/a\u003e Update lock file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/8f699a303ab8ad575b756828dd365138b63f7fdb\"\u003e\u003ccode\u003e8f699a3\u003c/code\u003e\u003c/a\u003e chore: Update plotly.js to v3.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/f0755e59dc42697a6d4b053ca2ecb8f7970ae1fd\"\u003e\u003ccode\u003ef0755e5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5605\"\u003e#5605\u003c/a\u003e from plotly/cam/pin-python-frontmatter\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/plotly/plotly.py/compare/v6.7.0...v6.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tqdm` from 4.67.3 to 4.68.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tqdm/tqdm/releases\"\u003etqdm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etqdm v4.68.1 stable\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eset name of monitor thread (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1669\"\u003e#1669\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1752\"\u003e#1752\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1435\"\u003e#1435\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix monitor thread \u003ccode\u003eatexit\u003c/code\u003e deadlock (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1751\"\u003e#1751\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/528\"\u003e#528\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/627\"\u003e#627\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1435\"\u003e#1435\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1564\"\u003e#1564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: minor copyediting\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etqdm v4.68.0 stable\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eutils\u003c/code\u003e: simplify terminal size detection (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1760\"\u003e#1760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econtrib\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eitertools\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1760\"\u003e#1760\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eadd \u003ccode\u003echain\u003c/code\u003e, \u003ccode\u003epermutations\u003c/code\u003e, \u003ccode\u003ecombinations\u003c/code\u003e, \u003ccode\u003ecombinations_with_replacement\u003c/code\u003e, \u003ccode\u003ebatched\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003eproduct(repeat=1)\u003c/code\u003e keyword argument (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1428\"\u003e#1428\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003efix \u003ccode\u003ediscord\u003c/code\u003e, \u003ccode\u003etelegram\u003c/code\u003e error handling\u003c/li\u003e\n\u003cli\u003efix \u003ccode\u003ediscord\u003c/code\u003e, \u003ccode\u003eslack\u003c/code\u003e, \u003ccode\u003etelegram\u003c/code\u003e format for \u003ccode\u003etotal=None\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003esoft-deprecate \u003ccode\u003etqdm.utils.envwrap\u003c/code\u003e -\u0026gt; \u003ca href=\"https://github.com/tqdm/envwrap\"\u003e\u003ccode\u003eenvwrap\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebenchmarks: fix \u003ccode\u003easv\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003emisc linting\u003c/li\u003e\n\u003cli\u003emisc framework updates\n\u003cul\u003e\n\u003cli\u003eCI: migrate manual job to \u003ccode\u003epre-commit.ci\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ebump workflow actions \u0026amp; pre-commit hooks\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/67cf355f96dfc3e459d18193d68a98a7abb6e08e\"\u003e\u003ccode\u003e67cf355\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1751\"\u003e#1751\u003c/a\u003e from jaltmayerpizzorno/fix-atexit-monitor-deadlock\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/cfa4a8522e8915e5f3f29dec9cedf7a75e366e1a\"\u003e\u003ccode\u003ecfa4a85\u003c/code\u003e\u003c/a\u003e minor docstring updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/f83290ce32f424e0562d47efe2304cdb90d244d5\"\u003e\u003ccode\u003ef83290c\u003c/code\u003e\u003c/a\u003e Fix TMonitor deadlock at interpreter shutdown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/59029c37ad6af57df7b49d31c0f48728280ae824\"\u003e\u003ccode\u003e59029c3\u003c/code\u003e\u003c/a\u003e Set name for tqdm monitor thread (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1752\"\u003e#1752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/ef4a142ebd53f05b8765b969590e9a888498ab57\"\u003e\u003ccode\u003eef4a142\u003c/code\u003e\u003c/a\u003e bump version, merge pull request \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1760\"\u003e#1760\u003c/a\u003e from tqdm/devel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/17f246b77dcfc29bfeaaa8bfa12ddb45557606bc\"\u003e\u003ccode\u003e17f246b\u003c/code\u003e\u003c/a\u003e lint warning suppression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/c682c7b73142b1b469e698e0cf62e2963cdfb7d1\"\u003e\u003ccode\u003ec682c7b\u003c/code\u003e\u003c/a\u003e benchmarks: fix asv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/fc69588dc219f30c4c59adad98355cc09933f271\"\u003e\u003ccode\u003efc69588\u003c/code\u003e\u003c/a\u003e CI: migrate to pre-commit.ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/a31d97f821d9bf33f1b7e0a9738a3ea62baa68ca\"\u003e\u003ccode\u003ea31d97f\u003c/code\u003e\u003c/a\u003e more contrib.itertools\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/e4d97426d6c6df91bbd681f3fe9ac98b1d704011\"\u003e\u003ccode\u003ee4d9742\u003c/code\u003e\u003c/a\u003e soft-deprecate tqdm.utils.envwrap -\u0026gt; envwrap\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tqdm/tqdm/compare/v4.67.3...v4.68.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `holidays` from 0.97 to 0.98\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vacanza/holidays/releases\"\u003eholidays's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.98\u003c/h2\u003e\n\u003ch2\u003eVersion 0.98\u003c/h2\u003e\n\u003cp\u003eReleased June 1, 2026\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd NASDAQ (XNAS) holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3586\"\u003e#3586\u003c/a\u003e by \u003ca href=\"https://github.com/pareshjoshij\"\u003e\u003ccode\u003e@​pareshjoshij\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate United Arab Emirates holidays: fix Thai localization (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3596\"\u003e#3596\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Bhutan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3590\"\u003e#3590\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate l10n test: check .po files for missing entries comments (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3594\"\u003e#3594\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd 2025-2026 Islamic holidays exact dates for Indonesia and Philippines (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3591\"\u003e#3591\u003c/a\u003e by \u003ca href=\"https://github.com/akshiDhi\"\u003e\u003ccode\u003e@​akshiDhi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Tibetan calendar generator (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3330\"\u003e#3330\u003c/a\u003e by \u003ca href=\"https://github.com/Abiram08\"\u003e\u003ccode\u003e@​Abiram08\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd pre-commit cache (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3589\"\u003e#3589\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eNew Contributors\u003c/strong\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/akshiDhi\"\u003e\u003ccode\u003e@​akshiDhi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vacanza/holidays/pull/3591\"\u003evacanza/holidays#3591\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/vacanza/holidays/compare/v0.97...v0.98\"\u003ehttps://github.com/vacanza/holidays/compare/v0.97...v0.98\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/vacanza/holidays/blob/dev/CHANGES.md\"\u003eholidays's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.98\u003c/h2\u003e\n\u003cp\u003eReleased June 1, 2026\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd NASDAQ (XNAS) holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3586\"\u003e#3586\u003c/a\u003e by \u003ca href=\"https://github.com/pareshjoshij\"\u003e\u003ccode\u003e@​pareshjoshij\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate United Arab Emirates holidays: fix Thai localization (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3596\"\u003e#3596\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Bhutan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3590\"\u003e#3590\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate l10n test: check .po files for missing entries comments (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3594\"\u003e#3594\u003c/a\u003e by \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd 2025-2026 Islamic holidays exact dates for Indonesia and Philippines (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3591\"\u003e#3591\u003c/a\u003e by \u003ca href=\"https://github.com/akshiDhi\"\u003e\u003ccode\u003e@​akshiDhi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Tibetan calendar generator (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3330\"\u003e#3330\u003c/a\u003e by \u003ca href=\"https://github.com/Abiram08\"\u003e\u003ccode\u003e@​Abiram08\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/KJhellico\"\u003e\u003ccode\u003e@​KJhellico\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd pre-commit cache (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3589\"\u003e#3589\u003c/a\u003e by \u003ca href=\"https://github.com/arkid15r\"\u003e\u003ccode\u003e@​arkid15r\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/vacanza/holidays/commit/cf5b848f6b2cf519d919ba5a5d7f8cfb328556c7\"\u003e\u003ccode\u003ecf5b848\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3597\"\u003e#3597\u003c/a\u003e from vacanza/dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/2c33c619ca9a525c1ac431a7f661ef93f9c87587\"\u003e\u003ccode\u003e2c33c61\u003c/code\u003e\u003c/a\u003e Finalize v0.98\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/af83976ad137be04c5943bee63878259b9416e0a\"\u003e\u003ccode\u003eaf83976\u003c/code\u003e\u003c/a\u003e Update United Arab Emirates holidays: fix Thai localization (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3596\"\u003e#3596\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/85511bf733fcdfccd77503860ed5d7dcf0ba6b72\"\u003e\u003ccode\u003e85511bf\u003c/code\u003e\u003c/a\u003e Update l10n test: check .po files for missing entries comments (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3594\"\u003e#3594\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/414f9dbaf3cb1e448e7b0051e65c12fca97c9ec1\"\u003e\u003ccode\u003e414f9db\u003c/code\u003e\u003c/a\u003e Update Bhutan holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3590\"\u003e#3590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/eaf32f861ead6d8f29fbbdb1feb18192b5388c0f\"\u003e\u003ccode\u003eeaf32f8\u003c/code\u003e\u003c/a\u003e chore: Update snapshots (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3592\"\u003e#3592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/75b2d70b44f26a4902c3f8e99e6c936952f33046\"\u003e\u003ccode\u003e75b2d70\u003c/code\u003e\u003c/a\u003e Add NASDAQ (XNAS) holidays (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3586\"\u003e#3586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/98b5213ee3deebf4923afc486eb6d5dbff60e615\"\u003e\u003ccode\u003e98b5213\u003c/code\u003e\u003c/a\u003e Add Tibetan calendar generator (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3330\"\u003e#3330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/f06e031b3dfae5fa24c54cfa1070ffd10bd8d4f5\"\u003e\u003ccode\u003ef06e031\u003c/code\u003e\u003c/a\u003e Add 2025-2026 Islamic holidays exact dates for Indonesia and Philippines (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3591\"\u003e#3591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vacanza/holidays/commit/54203e2b0671abe5cc799437cd1ca7144ecafb17\"\u003e\u003ccode\u003e54203e2\u003c/code\u003e\u003c/a\u003e Add pre-commit cache (\u003ca href=\"https://redirect.github.com/vacanza/holidays/issues/3589\"\u003e#3589\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vacanza/holidays/compare/v0.97...v0.98\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mlflow-skinny` from 3.12.0 to 3.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mlflow/mlflow/releases\"\u003emlflow-skinny's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.13.0\u003c/h2\u003e\n\u003cp\u003eMLflow 3.13.0 includes several major features and improvements\u003c/p\u003e\n\u003ch3\u003eMajor New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e🔐 \u003ca href=\"https://mlflow.org/docs/latest/self-hosting/security/role-based-access-control\"\u003eRole-Based Access Control \u0026amp; Admin UI\u003c/a\u003e\u003c/strong\u003e: A full RBAC system with reusable roles and workspace-scoped grants, plus a new web Admin UI for managing users, roles, and permissions on self-hosted MLflow.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e🗄️ \u003ca href=\"https://mlflow.org/docs/latest/genai/tracing/observe-with-traces/archive-traces\"\u003eTrace Retention \u0026amp; Auto Archival\u003c/a\u003e\u003c/strong\u003e: Automatically move aged trace span data out of your SQL backend into object storage (e.g. S3) while keeping every trace fully readable in the UI and APIs.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e🤖 \u003ca href=\"https://mlflow.org/docs/latest/genai/governance/ai-gateway/coding-agents/\"\u003eOne-click observability \u0026amp; governance for coding agents\u003c/a\u003e\u003c/strong\u003e: Onboard Claude Code, OpenAI Codex, or Gemini CLI to the AI Gateway in one click for tracing, usage tracking, budgets, and guardrails.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e✨ \u003ca href=\"https://mlflow.org/docs/latest/genai/getting-started/try-assistant/\"\u003eNew engines for MLflow Assistant\u003c/a\u003e\u003c/strong\u003e: Run MLflow Assistant on a local Ollama model, the OpenAI Codex CLI, or any MLflow AI Gateway endpoint, in addition to Claude Code.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e☸️ \u003ca href=\"https://mlflow.org/docs/latest/self-hosting/kubernetes-helm\"\u003eHelm chart for Kubernetes\u003c/a\u003e\u003c/strong\u003e: An official, production-ready Helm chart for deploying the MLflow tracking server to any Kubernetes cluster.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e🌐 \u003ca href=\"https://mlflow.org/docs/latest/genai/governance/ai-gateway/coding-agents/hermes-agent\"\u003eHermes Agent support\u003c/a\u003e\u003c/strong\u003e: Route the Hermes Agent runtime through the AI Gateway and capture its end-to-end traces in MLflow over OpenTelemetry.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e🪵 \u003ca href=\"https://mlflow.org/docs/latest/genai/tracing/app-instrumentation/logging\"\u003eSpan log levels\u003c/a\u003e\u003c/strong\u003e: Python-\u003ccode\u003elogging\u003c/code\u003e-style severity levels on spans, with a \u0026quot;Minimum log level\u0026quot; filter in the trace UI to hide low-level noise.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe permission system has been overhauled into a unified Role-Based Access Control model. The legacy per-resource permission tables, REST endpoints, and client methods are removed and replaced by roles backed by \u003ccode\u003erole_permissions\u003c/code\u003e, \u003ccode\u003edefault_permission\u003c/code\u003e now acts as a floor rather than an override, and a workspace \u003ccode\u003eUSE\u003c/code\u003e grant is sufficient to create experiments and registered models. Code that relied on the old per-resource permission APIs must migrate to the new role-based APIs. (\u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/22855\"\u003e#22855\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/mlflow/mlflow/issues/22859\"\u003e#22859\u003c/a\u003e, \u003ca hre...\n\n_Description has been truncated_","html_url":"https://github.com/OpenSTEF/openstef/pull/956","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenSTEF%2Fopenstef/issues/956","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/956/packages"}},{"old_version":"4.8.0","new_version":"4.9.0","update_type":"minor","path":null,"pr_created_at":"2026-06-08T21:36:45.000Z","version_change":"4.8.0 → 4.9.0","issue":{"uuid":"4616816099","node_id":"PR_kwDOPFo1N87kG1rg","number":228,"state":"open","title":":dependabot: uv(deps): Bump the all-uv group across 1 directory with 4 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-08T21:36:45.000Z","updated_at":"2026-06-08T21:39:48.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":":dependabot: uv(deps): Bump","group_name":"all-uv","update_count":4,"packages":[{"name":"boto3","old_version":"1.43.14","new_version":"1.43.25","repository_url":"https://github.com/boto/boto3"},{"name":"snowballstemmer","old_version":"3.1.0","new_version":"3.1.1","repository_url":"https://github.com/snowballstem/snowball"},{"name":"optuna","old_version":"4.8.0","new_version":"4.9.0","repository_url":"https://github.com/optuna/optuna"},{"name":"moto","old_version":"5.2.1","new_version":"5.2.2","repository_url":"https://github.com/getmoto/moto"}],"path":null,"ecosystem":"pip"},"body":"Bumps the all-uv group with 4 updates in the / directory: [boto3](https://github.com/boto/boto3), [snowballstemmer](https://github.com/snowballstem/snowball), [optuna](https://github.com/optuna/optuna) and [moto](https://github.com/getmoto/moto).\n\nUpdates `boto3` from 1.43.14 to 1.43.25\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/7cb97d3726d5b1dde7f5e867da7252c73ebe8511\"\u003e\u003ccode\u003e7cb97d3\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.25'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/100e4d14cc2ef5b728e3381210ff48cd08f56596\"\u003e\u003ccode\u003e100e4d1\u003c/code\u003e\u003c/a\u003e Bumping version to 1.43.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/74bfd8111fba157d760d47b0d56263210e9ad43a\"\u003e\u003ccode\u003e74bfd81\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/b2b302b072044a376279adcb7a4791f424027ad1\"\u003e\u003ccode\u003eb2b302b\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.24'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/0622bb598bfed6eba5df0dc2908f2406f1d2b914\"\u003e\u003ccode\u003e0622bb5\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.24' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/02fd3ca9aab5ae0e8e1e9e88e80b56e5a3e3755c\"\u003e\u003ccode\u003e02fd3ca\u003c/code\u003e\u003c/a\u003e Bumping version to 1.43.24\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/fcaf9ff50cea0eff6ce965e97fc4b23c941d1cb5\"\u003e\u003ccode\u003efcaf9ff\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/f2106e0d34cb87a89f066f06373d337da503b0d5\"\u003e\u003ccode\u003ef2106e0\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.23'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/5f983267ce19c9461f9da5ef19105b46879a440e\"\u003e\u003ccode\u003e5f98326\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.23' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/d7e5b7c20dfad5465df92d55541638ecfc09e981\"\u003e\u003ccode\u003ed7e5b7c\u003c/code\u003e\u003c/a\u003e Bumping version to 1.43.23\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.43.14...1.43.25\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `snowballstemmer` from 3.1.0 to 3.1.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/snowballstem/snowball/blob/main/NEWS\"\u003esnowballstemmer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eSnowball 3.1.1 (2026-06-03)\u003c/h1\u003e\n\u003ch2\u003eCompiler changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix a segmentation fault after reporting an error for a string command\nnot followed by a string variable name or string literal.  Bug introduced\nin 3.1.0.  Patch from Jerry James (\u003ca href=\"https://redirect.github.com/snowballstem/snowball/issues/287\"\u003e#287\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCompiler command-line options:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEmit an error for \u003ccode\u003e-o -\u003c/code\u003e/\u003ccode\u003e-output -\u003c/code\u003e.  Output to stdout is not supported\nbecause we need to generate multiple files for some target languages.\nWe were interpreting \u003ccode\u003e-\u003c/code\u003e as a base filename to append extensions to, so\nwe'd create \u003ccode\u003e-.c\u003c/code\u003e and \u003ccode\u003e-.h\u003c/code\u003e for C, but creating filenames that start with\n\u003ccode\u003e-\u003c/code\u003e seems unhelpful.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGeneric code generation changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eVariable localisation was failing to check the expression on the RHS of an\ninteger test for uses of a variable, so could incorrectly localise an\ninteger variable whose value should have persisted between calls to a\nfunction.  This bug won't realistically manifest in real world Snowball\ncode.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eOptimisations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eInline some routines which are only used once.  This is done for routines\nconsisting of a single non-compound command (or cases such as \u003ccode\u003enot \u0026lt;boolean\u0026gt;\u003c/code\u003e and \u003ccode\u003egoto \u0026lt;grouping\u0026gt;\u003c/code\u003e which we internally synthesise a\nnon-compound command for).  Localisation of variables happens after\ninlining, so variables can now be localised in more cases.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003etest next\u003c/code\u003e and \u003ccode\u003enot next\u003c/code\u003e are both now simplified to a comparison between\n\u003ccode\u003ecursor\u003c/code\u003e and \u003ccode\u003elimit\u003c/code\u003e (like \u003ccode\u003enot atlimit\u003c/code\u003e and \u003ccode\u003eatlimit\u003c/code\u003e).  We already\nnormalise \u003ccode\u003ehop 1\u003c/code\u003e to \u003ccode\u003enext\u003c/code\u003e, so \u003ccode\u003etest hop 1\u003c/code\u003e and \u003ccode\u003enot hop 1\u003c/code\u003e are also\nsimplified in this way.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSimplify \u003ccode\u003enot\u003c/code\u003e applied to an integer test by removing the \u003ccode\u003enot\u003c/code\u003e and\nflipping the sense of the test (e.g. \u003ccode\u003enot $(x \u0026gt; y)\u003c/code\u003e becomes \u003ccode\u003e$(x \u0026lt;= y)\u003c/code\u003e)\nwhich results in simpler generated code.  More usefully in real world code,\nthis also results in simpler generated code for \u003ccode\u003enot atlimit\u003c/code\u003e (since\n\u003ccode\u003eatlimit\u003c/code\u003e is converted \u003ccode\u003e$(cursor \u0026gt;= limit)\u003c/code\u003e or \u003ccode\u003e$(cursor \u0026lt;= limit)\u003c/code\u003e\n(depending on the current direction).\u003c/p\u003e\n\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/snowballstem/snowball/commit/cd195b51e948a902a4312f023f4a14392516a543\"\u003e\u003ccode\u003ecd195b5\u003c/code\u003e\u003c/a\u003e Update for 3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/snowballstem/snowball/commit/80d885c983019967339bbea003e0a8f724ba0f58\"\u003e\u003ccode\u003e80d885c\u003c/code\u003e\u003c/a\u003e NEWS: Update draft entry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/snowballstem/snowball/commit/5346c74eaedfdd9495ccc8afd5d6957da9e95258\"\u003e\u003ccode\u003e5346c74\u003c/code\u003e\u003c/a\u003e C++: Compile runtime as C++\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/snowballstem/snowball/commit/537f9702e635f8dad03441775aebe53565492ed7\"\u003e\u003ccode\u003e537f970\u003c/code\u003e\u003c/a\u003e python: Add classifier for 3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/snowballstem/snowball/commit/3aeb013c9ffd2f2df15c6ef9cc956a7f825e4fd2\"\u003e\u003ccode\u003e3aeb013\u003c/code\u003e\u003c/a\u003e python: Skip Natural Language :: Sesotho classifier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/snowballstem/snowball/commit/91fa20b842db0f422ea02d26d59f518dbae72c63\"\u003e\u003ccode\u003e91fa20b\u003c/code\u003e\u003c/a\u003e NEWS: Update draft entry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/snowballstem/snowball/commit/a04abeb4f95eed8757b5107694fa0424c7026a79\"\u003e\u003ccode\u003ea04abeb\u003c/code\u003e\u003c/a\u003e Don't use extern \u0026quot;C\u0026quot; for functions which can throw\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/snowballstem/snowball/commit/49bb623cb9b0ca05267d939c2e2f56c10b63dc6c\"\u003e\u003ccode\u003e49bb623\u003c/code\u003e\u003c/a\u003e C++: Hook up properly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/snowballstem/snowball/commit/7ab50ed5f4ed99f08d897100633345e488e07a05\"\u003e\u003ccode\u003e7ab50ed\u003c/code\u003e\u003c/a\u003e CI: Fix coverage job\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/snowballstem/snowball/commit/5f0a33cc278f0973f5c987fdcf8aa1d1afa6ba95\"\u003e\u003ccode\u003e5f0a33c\u003c/code\u003e\u003c/a\u003e NEWS: Add draft entry\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/snowballstem/snowball/compare/v3.1.0...v3.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `optuna` from 4.8.0 to 4.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.9.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/74?closed=1\"\u003ev4.9.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch3\u003eEnhance Multi-Objective Constrained Parallel Optimization in GPSampler\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sawa3030\"\u003e\u003ccode\u003e@​sawa3030\u003c/code\u003e\u003c/a\u003e introduces parallelization enhancements to \u003ccode\u003eGPSampler\u003c/code\u003e, leveraging the \u003cstrong\u003eKriging Believer\u003c/strong\u003e approach for constrained and multi-objective optimization (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6481\"\u003e#6481\u003c/a\u003e). This improvement allows for more efficient exploration when multiple trials are running concurrently.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003eThe GP surrogate is updated by assigning temporary objective function values ​​to the running trials.\u003c/p\u003e\n\u003cp\u003eFor more technical details and benchmarks, please check out our blog post: \u003ca href=\"https://medium.com/optuna/improving-optunas-gpsampler-parallelization-by-considering-running-trials-10d42aeb5d49\"\u003eImproving Optuna’s GPSampler Parallelization by Considering Running Trials\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eDeprecate Several Features\u003c/h3\u003e\n\u003cp\u003eThe following features are deprecated in v4.9.0 and scheduled for removal in v6.0.0.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eoptuna\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSeveral arguments in \u003ccode\u003eTPESampler\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6635\"\u003e#6635\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eprior_weight\u003c/code\u003e, \u003ccode\u003econsider_magic_clip\u003c/code\u003e, \u003ccode\u003econsider_endpoints\u003c/code\u003e, \u003ccode\u003egamma\u003c/code\u003e, \u003ccode\u003eweights\u003c/code\u003e, \u003ccode\u003ehyperopt_parameters\u003c/code\u003e: These internal parameters are being deprecated to simplify the interface, as the default settings are optimal for most use cases.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ewarn_independent_sampling\u003c/code\u003e: Deprecated because \u003ccode\u003eTPESampler\u003c/code\u003e now robustly supports both independent and joint sampling, making this warning obsolete.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecategorical_distance_func\u003c/code\u003e: This advanced feature will be migrated to OptunaHub in the future.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ex0\u003c/code\u003e and \u003ccode\u003esigma0\u003c/code\u003e options in \u003ccode\u003eCmaEsSampler\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6624\"\u003e#6624\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThese options have been deprecated because they require a deep understanding of \u003ccode\u003eCmaEsSampler\u003c/code\u003e's internals to be configured effectively.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eoptuna.terminator\u003c/code\u003e module\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6668\"\u003e#6668\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis feature will be migrated to OptunaHub in the future.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eRetryFailedTrialCallback\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6670\"\u003e#6670\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis class has been renamed to \u003ccode\u003eRetryHeartbeatStaleTrialCallback\u003c/code\u003e to better reflect its behavior and avoid confusion with general trial retries (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6085\"\u003e#6085\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eoptuna.integration\u003c/code\u003e module\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003eoptuna.integration\u003c/code\u003e module currently acts as a shortcut to the external \u003ccode\u003eoptuna_integration\u003c/code\u003e package for backward compatibility. Please import directly from the \u003ccode\u003eoptuna_integration\u003c/code\u003e package going forward.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eoptuna-integration\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ePyCmaSampler\u003c/code\u003e: Please use Optuna's native \u003ccode\u003eCmaEsSampler\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCometCallback\u003c/code\u003e: This feature will be migrated to OptunaHub in the future.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMLflowCallback\u003c/code\u003e: This feature will be migrated to OptunaHub in the future.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTensorBoardCallback\u003c/code\u003e: This feature will be migrated to OptunaHub in the future.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTrackioCallback\u003c/code\u003e: This feature will be migrated to OptunaHub in the future.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eWeightsAndBiasesCallback\u003c/code\u003e: This class has already been migrated to OptunaHub.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBreaking Changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003ePyCmaSampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/276\"\u003eoptuna/optuna-integration#276\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd deprecation message for \u003ccode\u003eCometCallback\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/280\"\u003eoptuna/optuna-integration#280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd deprecation message for MLflowCallback (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/281\"\u003eoptuna/optuna-integration#281\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/optuna/optuna/commit/4db42e31c24b200e52595df9d4c00e2cdeefea2b\"\u003e\u003ccode\u003e4db42e3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6691\"\u003e#6691\u003c/a\u003e from c-bata/backport-v4.9-attestations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/6a15cf0906c5e92e9dbe70d3ee320eb3db5d08b7\"\u003e\u003ccode\u003e6a15cf0\u003c/code\u003e\u003c/a\u003e Add attestations: false to fix release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/a592e6c0d6604fa678201ecddbcc53a0d232cc65\"\u003e\u003ccode\u003ea592e6c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6684\"\u003e#6684\u003c/a\u003e from c-bata/bump-up-to-v4.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/490cfd6de52377acbec1d6f709b0189026575af2\"\u003e\u003ccode\u003e490cfd6\u003c/code\u003e\u003c/a\u003e Bump up to version number v4.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/6135d5469152a3f14a41202d2c065e823f3dd24c\"\u003e\u003ccode\u003e6135d54\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6651\"\u003e#6651\u003c/a\u003e from nabenabe0928/add-brute-force-info-to-grid-sampler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/c41ec2df70ba2c4957aa96f524733d1e488d9e85\"\u003e\u003ccode\u003ec41ec2d\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'upstream/master' into add-brute-force-info-to-g...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/f845a8fccfc0c6d64d419b27ab3076bb1b7caf32\"\u003e\u003ccode\u003ef845a8f\u003c/code\u003e\u003c/a\u003e Fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/574749e6a8ae2b93fc0a61908ad90da92495e8e5\"\u003e\u003ccode\u003e574749e\u003c/code\u003e\u003c/a\u003e Fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/af7fe8b01791a8ddbb368ce9e77d922296da30b1\"\u003e\u003ccode\u003eaf7fe8b\u003c/code\u003e\u003c/a\u003e Add note to best trial\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/b200bfbb312595c07d0e0c1265754096843091af\"\u003e\u003ccode\u003eb200bfb\u003c/code\u003e\u003c/a\u003e Update the NSGA-III doc\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/optuna/optuna/compare/v4.8.0...v4.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `moto` from 5.2.1 to 5.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getmoto/moto/blob/master/CHANGELOG.md\"\u003emoto's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.2.2\u003c/h2\u003e\n\u003cp\u003eDocker Digest for 5.2.2: \u003cem\u003esha256:d8ae5edc2bf080e7e4c13f9bd4b29b53ac3b4427e92956318db3dbe23ec43eb7\u003c/em\u003e\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eNew Methods:\n    * DS:\n        * disable_radius()\n        * enable_radius()\n\u003cpre\u003e\u003ccode\u003e* KinesisAnalyticsV2:\n    * untag_resource()\n\n* Logs:\n    * start_live_tail()\n\n* SESv2:\n    * update_contact()\n    * update_contact_list()\n\n* SWF:\n    * tag_resource()\n    * untag_resource()\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eMiscellaneous:\u003cbr /\u003e\n* ACM: import_certificate() now accepts certificates without a CN\u003cbr /\u003e\n* ACM: request_certificate() now preserves the default options when not all are provided\u003cbr /\u003e\n* CloudFormation: Created Lambda resources now take the \u003ccode\u003euse_docker\u003c/code\u003e-configuration into account\u003cbr /\u003e\n* CloudFormation: update_stack_instances() now validates that a StackInstance exists\u003cbr /\u003e\n* Events: create_partner_event_source() now returns the EventSourceArn-attribute\u003cbr /\u003e\n* Route53: list_resource_record_sets() no longer returns a TTL for aliases\u003cbr /\u003e\n* S3: completed_multipart_upload() is now compatible with external tools like PyArrow\u003cbr /\u003e\n* S3: get_object() now supports all Response* headers\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getmoto/moto/commit/837595545cc4a4bb8fede2cff84b2b2373443981\"\u003e\u003ccode\u003e8375955\u003c/code\u003e\u003c/a\u003e Pre-Release: Up Version Number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getmoto/moto/commit/325f8599bf7c9cdc3dfbf92ff911616e1955bb3f\"\u003e\u003ccode\u003e325f859\u003c/code\u003e\u003c/a\u003e Prepare release 5.2.2 (\u003ca href=\"https://redirect.github.com/getmoto/moto/issues/10059\"\u003e#10059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getmoto/moto/commit/a3ced98f8ce0e57eab3d29925630708c5d0e654d\"\u003e\u003ccode\u003ea3ced98\u003c/code\u003e\u003c/a\u003e S3: get_object() now honors ResponseContentDisposition etc headers (\u003ca href=\"https://redirect.github.com/getmoto/moto/issues/10057\"\u003e#10057\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getmoto/moto/commit/d0cf348a92ded5e372380e47ca8f0ea1f43386bd\"\u003e\u003ccode\u003ed0cf348\u003c/code\u003e\u003c/a\u003e ACM: support certs without CN (\u003ca href=\"https://redirect.github.com/getmoto/moto/issues/9912\"\u003e#9912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getmoto/moto/commit/cbd409ae21d1537f958ffaa2d9a687fd0245c61b\"\u003e\u003ccode\u003ecbd409a\u003c/code\u003e\u003c/a\u003e Bump the go-deps group in /other_langs/tests_go with 6 updates (\u003ca href=\"https://redirect.github.com/getmoto/moto/issues/10054\"\u003e#10054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getmoto/moto/commit/f47b7b19cdf1b5d511e395c2a7ddd4488c92ef21\"\u003e\u003ccode\u003ef47b7b1\u003c/code\u003e\u003c/a\u003e Bump the java-deps group in /other_langs/tests_java with 5 updates (\u003ca href=\"https://redirect.github.com/getmoto/moto/issues/10053\"\u003e#10053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getmoto/moto/commit/33c406f384e8764642b7414e8272ac03c23d2603\"\u003e\u003ccode\u003e33c406f\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.306.0 to 1.310.0 (\u003ca href=\"https://redirect.github.com/getmoto/moto/issues/10052\"\u003e#10052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getmoto/moto/commit/be0341c15c0a785ec5dec00270b3eeef40e61922\"\u003e\u003ccode\u003ebe0341c\u003c/code\u003e\u003c/a\u003e S3: fix CompleteMultipartUpload root level XML tag (\u003ca href=\"https://redirect.github.com/getmoto/moto/issues/10056\"\u003e#10056\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getmoto/moto/commit/0f171e36dc61aaf0a1f123f36c0fa635461af287\"\u003e\u003ccode\u003e0f171e3\u003c/code\u003e\u003c/a\u003e chore: update SSM default parameters (\u003ca href=\"https://redirect.github.com/getmoto/moto/issues/10051\"\u003e#10051\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getmoto/moto/commit/2329a6267b854c0824757739b0b46766ce0e277d\"\u003e\u003ccode\u003e2329a62\u003c/code\u003e\u003c/a\u003e chore: update EC2 Instance Offerings (\u003ca href=\"https://redirect.github.com/getmoto/moto/issues/10048\"\u003e#10048\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getmoto/moto/compare/5.2.1...5.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/ministryofjustice/cica-review-case-documents-airflow/pull/228","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Fcica-review-case-documents-airflow/issues/228","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/228/packages"}},{"old_version":"4.8.0","new_version":"4.9.0","update_type":"minor","path":null,"pr_created_at":"2026-06-07T09:23:00.000Z","version_change":"4.8.0 → 4.9.0","issue":{"uuid":"4606812334","node_id":"PR_kwDOSCHeqs7jmRgN","number":964,"state":"closed","title":"chore(deps): bump the python-deps group across 2 directories with 14 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-06-07T10:05:44.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-07T09:23:00.000Z","updated_at":"2026-06-07T10:06:07.000Z","time_to_close":2564,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-deps","update_count":14,"packages":[{"name":"numpy","old_version":"2.4.4","new_version":"2.4.6","repository_url":"https://github.com/numpy/numpy"},{"name":"pandas","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"pyarrow","old_version":"23.0.1","new_version":"24.0.0","repository_url":"https://github.com/apache/arrow"},{"name":"polars","old_version":"1.41.1","new_version":"1.41.2","repository_url":"https://github.com/pola-rs/polars"},{"name":"gunicorn","old_version":"25.3.0","new_version":"26.0.0","repository_url":"https://github.com/benoitc/gunicorn"},{"name":"boto3","old_version":"1.42.89","new_version":"1.43.24","repository_url":"https://github.com/boto/boto3"},{"name":"markdown","old_version":"3.8.1","new_version":"3.10.2","repository_url":"https://github.com/Python-Markdown/markdown"},{"name":"bleach","old_version":"6.1.0","new_version":"6.4.0","repository_url":"https://github.com/mozilla/bleach"},{"name":"torch","old_version":"2.12.0","new_version":"2.12.0+cu130"},{"name":"optuna","old_version":"4.8.0","new_version":"4.9.0","repository_url":"https://github.com/optuna/optuna"}],"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\nUpdates the requirements on [numpy](https://github.com/numpy/numpy), [pandas](https://github.com/pandas-dev/pandas), [pyarrow](https://github.com/apache/arrow), [polars](https://github.com/pola-rs/polars), [gunicorn](https://github.com/benoitc/gunicorn), [shap](https://github.com/shap/shap), [boto3](https://github.com/boto/boto3), [markdown](https://github.com/Python-Markdown/markdown), [bleach](https://github.com/mozilla/bleach), torch, [pytest-timeout](https://github.com/pytest-dev/pytest-timeout), [pytest-cov](https://github.com/pytest-dev/pytest-cov), [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) and [optuna](https://github.com/optuna/optuna) to permit the latest version.\nUpdates `numpy` from 2.4.4 to 2.4.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.4.6 (May 18, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.6 Release Notes\u003c/h1\u003e\n\u003cp\u003eNumPy 2.4.6 is a quick release that fixes a regression discovered in the 2.4.5\nrelease.\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 4 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\u003e!EarlMilktea\u003c/li\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eSebastian Berg\u003c/li\u003e\n\u003cli\u003eWarren Weckesser\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 4 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/31444\"\u003e#31444\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/31453\"\u003e#31453\u003c/a\u003e: BUG: Fix regression in \u003ccode\u003earr.conj()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31459\"\u003e#31459\u003c/a\u003e: BUG: \u003ccode\u003enp.linalg.svd(..., hermitian=True)\u003c/code\u003e returns non-unitary...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/31460\"\u003e#31460\u003c/a\u003e: BUG: Don't call INCREF/DECREF on descr in NpyStringAcquireAllocator...\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.4.5 (May 15, 2026)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.4.5 Release Notes\u003c/h1\u003e\n\u003cp\u003eNumPy 2.4.5 is a patch release that fixes bugs discovered after the 2.4.4\nrelease, has some typing improvements, and maintains infrastructure.\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 17 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\u003eAleksei Nikiforov\u003c/li\u003e\n\u003cli\u003eAnarion Zuo +\u003c/li\u003e\n\u003cli\u003eAnkit Ahlawat\u003c/li\u003e\n\u003cli\u003eBreno Favaretto +\u003c/li\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eIgor Krivenko +\u003c/li\u003e\n\u003cli\u003eIjtihed Kilani +\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eMaarten Baert +\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/b832a09cf2a169c833dd2371e7c07aa00b293242\"\u003e\u003ccode\u003eb832a09\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31462\"\u003e#31462\u003c/a\u003e from charris/prepare-2.4.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/57cc147d2ceacffc6534642bfbdebb3a80428e1e\"\u003e\u003ccode\u003e57cc147\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.4.6 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/0c72b0b53b6b83c004e434b2c7855e73c000d21e\"\u003e\u003ccode\u003e0c72b0b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31459\"\u003e#31459\u003c/a\u003e from charris/backport-31347\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/9778d26e0475d381ccb7817c3b4dd8cacef2b9eb\"\u003e\u003ccode\u003e9778d26\u003c/code\u003e\u003c/a\u003e BUG: core: Don't call INCREF/DECREF on descr in NpyStringAcquireAllocator. (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/e0e38767d5d0f848ab44befeedcad71e8ef589c7\"\u003e\u003ccode\u003ee0e3876\u003c/code\u003e\u003c/a\u003e BUG: core: Don't call INCREF/DECREF on descr in NpyStringAcquireAllocator. (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/d1bffeb9ec4ec0bf029c94ea35abffa92d5c30f2\"\u003e\u003ccode\u003ed1bffeb\u003c/code\u003e\u003c/a\u003e BUG: \u003ccode\u003enp.linalg.svd(..., hermitian=True)\u003c/code\u003e returns non-unitary \u003ccode\u003evh\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31347\"\u003e#31347\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/8d8d7e5a14a1da0bfb0faf609a7a7610c431e6e9\"\u003e\u003ccode\u003e8d8d7e5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31453\"\u003e#31453\u003c/a\u003e from seberg/issue-31452\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/bddaab7ace45f90148d8f2bb6e67daab2d45ec76\"\u003e\u003ccode\u003ebddaab7\u003c/code\u003e\u003c/a\u003e BUG: Fix regression in \u003ccode\u003earr.conj()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/37a1ecca8dff09b2c579a991194ac55b9971f3a7\"\u003e\u003ccode\u003e37a1ecc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/31444\"\u003e#31444\u003c/a\u003e from charris/begin-2.4.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/3c0e043217a759a8a948ade158fec14348c3b459\"\u003e\u003ccode\u003e3c0e043\u003c/code\u003e\u003c/a\u003e MAINT: Prepare 2.4.x for further development\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.4.4...v2.4.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pandas` from 3.0.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/pandas-dev/pandas/releases\"\u003epandas's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epandas 3.0.3\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 3.0.3.\nThis is a patch release in the 3.0.x series and includes some regression fixes and bug fixes. We recommend that all users of the 3.0.x series upgrade to this version.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/docs/whatsnew/v3.0.3.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\u003c/p\u003e\n\u003cp\u003ePandas 3.0 supports Python 3.11 and higher.\nThe release can be installed from PyPI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython -m pip install --upgrade pandas==3.0.*\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr from conda-forge\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install -c conda-forge pandas=3.0\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/72f2fea91530b5abb3cf2100cb22d84e504695c0\"\u003e\u003ccode\u003e72f2fea\u003c/code\u003e\u003c/a\u003e RLS: 3.0.3 (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/65590\"\u003e#65590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/2897590094c2b6e3962d01a82665936f30be563d\"\u003e\u003ccode\u003e2897590\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/65436\"\u003e#65436\u003c/a\u003e on branch 3.0.x (Account for privatization of matplotlib `...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/49894b5b6037c50f6444504070d9b1e8e514001a\"\u003e\u003ccode\u003e49894b5\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/65499\"\u003e#65499\u003c/a\u003e on branch 3.0.x (BUG: fix check if pyarrow is installed in...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/1c6d1e30cc4b80bedb769a8b3731b0788f69c9dc\"\u003e\u003ccode\u003e1c6d1e3\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] PERF: remove special casing for zoneinfo in tz_localize_to_u...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/2a547116afc46d88d4e6584670fd793949222a1e\"\u003e\u003ccode\u003e2a54711\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64379\"\u003e#64379\u003c/a\u003e on branch 3.0.x (PERF: improve performance with ZoneInfo t...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/036bb7c0e7160b9d5a7f6bd26a9fc00921fa6977\"\u003e\u003ccode\u003e036bb7c\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/65482\"\u003e#65482\u003c/a\u003e on branch 3.0.x (PERF: don't call unique on dtypes for che...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/bf4c182b09251f5b469e8e246ae3ea3e1ae07164\"\u003e\u003ccode\u003ebf4c182\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/65410\"\u003e#65410\u003c/a\u003e on branch 3.0.x (TST: also convert str index to object in ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/dd02d75ce219135f9f3f65c13644d4be35585d42\"\u003e\u003ccode\u003edd02d75\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: keep fsspec OpenFile alive for chained URL reads (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/6547\"\u003e#6547\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/aef3d0f6698667262c6d6ffc69180b280b0fa86a\"\u003e\u003ccode\u003eaef3d0f\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] CI: lowercase types-pymysql/types-pyyaml to fix mamba 2.6.0 ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/bb8e24876273a14322047f4b89e648f6a4abebae\"\u003e\u003ccode\u003ebb8e248\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/65399\"\u003e#65399\u003c/a\u003e on branch 3.0.x (DOC: fix source link for classes in the r...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandas-dev/pandas/compare/v3.0.2...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyarrow` from 23.0.1 to 24.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 24.0.0\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/24.0.0.html\"\u003ehttps://arrow.apache.org/release/24.0.0.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 24.0.0 RC0\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 24.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/31b4b6c0a0a7e7c117312d285541a21446675ec6\"\u003e\u003ccode\u003e31b4b6c\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update versions for 24.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/06dbc179b4d4af4d8fcd2eb7365e4f0ccc37fcb5\"\u003e\u003ccode\u003e06dbc17\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update .deb/.rpm changelogs for 24.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/a021d80fffbcaa17959aa3cf491328cc389865aa\"\u003e\u003ccode\u003ea021d80\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update CHANGELOG.md for 24.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/2d6b12c9caced34a70207d2a303b2a00470e4388\"\u003e\u003ccode\u003e2d6b12c\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49716\"\u003eGH-49716\u003c/a\u003e: [C++] FixedShapeTensorType::Deserialize should strictly validate se...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/a74cb6aad96d3c7e7fbfad36ceb8e7f637229f54\"\u003e\u003ccode\u003ea74cb6a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49697\"\u003eGH-49697\u003c/a\u003e: [C++][CI] Check IPC file body bounds are in sync with decoder outco...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/871a0c665647200b1ad1837ccebe64bfa703a5d3\"\u003e\u003ccode\u003e871a0c6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49676\"\u003eGH-49676\u003c/a\u003e: [Python][Packaging] Fix gRPC docker image layer being too big for h...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/f9203b34e308a5ab67042fd9ddd5e7ab528896a2\"\u003e\u003ccode\u003ef9203b3\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49586\"\u003eGH-49586\u003c/a\u003e: [C++][CI] StructToStructSubset test failure with libc++ 22.1.1 (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49\"\u003e#49\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/fe298b424f4c7e33cdc9331221ece9302f6abb26\"\u003e\u003ccode\u003efe298b4\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49628\"\u003eGH-49628\u003c/a\u003e: [Python][Interchange protocol] Suppress warnings for pandas 4.0.0 a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/1f94910cdd840a84c2007b5837e577d517be7984\"\u003e\u003ccode\u003e1f94910\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49252\"\u003eGH-49252\u003c/a\u003e: [GLib] Deprecate Feather features (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49673\"\u003e#49673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/5ba5c3ca1af2d540f17bd1db91c103d40abefd1b\"\u003e\u003ccode\u003e5ba5c3c\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/49671\"\u003eGH-49671\u003c/a\u003e: [CI][Docs] Don't run jobs for push by Dependabot (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/49672\"\u003e#49672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/arrow/compare/apache-arrow-23.0.1...apache-arrow-24.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `polars` from 1.41.1 to 1.41.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pola-rs/polars/releases\"\u003epolars's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePython Polars 1.41.2\u003c/h2\u003e\n\u003ch2\u003e🚀 Performance improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to new jemalloc (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27797\"\u003e#27797\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not materialize \u003ccode\u003eScalarColumn\u003c/code\u003e in Column \u003ccode\u003esplit_at\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27782\"\u003e#27782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid materializing broadcast in \u003ccode\u003earray.shift\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27740\"\u003e#27740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid materializing broadcast list in \u003ccode\u003elist.sample(n)\u003c/code\u003e and \u003ccode\u003elist.sample(frac)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27679\"\u003e#27679\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e✨ Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to new jemalloc (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27797\"\u003e#27797\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐞 Bug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBroken link to AI Policy corrected (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27793\"\u003e#27793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate to new jemalloc (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27797\"\u003e#27797\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📖 Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Polars On-Prem version stamp (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27799\"\u003e#27799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBroken link to AI Policy corrected (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27793\"\u003e#27793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd release dates to the On-Prem releases page (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27787\"\u003e#27787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove on-prem docs (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27788\"\u003e#27788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd query profiler video to On-Prem user guide (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27786\"\u003e#27786\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd EKS/AKS/GKE guides (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27774\"\u003e#27774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Polars On-Prem 0.4.2 (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27780\"\u003e#27780\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠️ Other improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRun Pyrefly on \u003ccode\u003e_utils\u003c/code\u003e and \u003ccode\u003efunctions\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27789\"\u003e#27789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHarden against async blocking deadlocks (take 2) (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27767\"\u003e#27767\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThank you to all our contributors for making this release possible!\n\u003ca href=\"https://github.com/ButteryPaws\"\u003e\u003ccode\u003e@​ButteryPaws\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/EndPositive\"\u003e\u003ccode\u003e@​EndPositive\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Kevin-Patyk\"\u003e\u003ccode\u003e@​Kevin-Patyk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/MarcoGorelli\"\u003e\u003ccode\u003e@​MarcoGorelli\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/TNieuwdorp\"\u003e\u003ccode\u003e@​TNieuwdorp\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/azimafroozeh\"\u003e\u003ccode\u003e@​azimafroozeh\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/carnarez\"\u003e\u003ccode\u003e@​carnarez\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/kdn36\"\u003e\u003ccode\u003e@​kdn36\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lun3x\"\u003e\u003ccode\u003e@​lun3x\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/orlp\"\u003e\u003ccode\u003e@​orlp\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/ritchie46\"\u003e\u003ccode\u003e@​ritchie46\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/599a503a0997188a74750926a5cdaa47585cf8aa\"\u003e\u003ccode\u003e599a503\u003c/code\u003e\u003c/a\u003e Python Polars 1.41.2 (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27784\"\u003e#27784\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/46bb74ef18e44caabd2f86ed348d479189e19dc9\"\u003e\u003ccode\u003e46bb74e\u003c/code\u003e\u003c/a\u003e docs(python): Update Polars On-Prem version stamp (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27799\"\u003e#27799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/7dd39239a23b3fa782daef9e63d4a756d4ca0153\"\u003e\u003ccode\u003e7dd3923\u003c/code\u003e\u003c/a\u003e docs: Broken link to AI Policy corrected (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27793\"\u003e#27793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/18e9bf5cd912c901ee45d4214ee9366a7333add4\"\u003e\u003ccode\u003e18e9bf5\u003c/code\u003e\u003c/a\u003e fix: Update to new jemalloc (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27797\"\u003e#27797\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/d307ef1afdfe1496e72f9b509605ad927b9eb429\"\u003e\u003ccode\u003ed307ef1\u003c/code\u003e\u003c/a\u003e refactor(rust): Deduplicate thrift field-walk loops (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27790\"\u003e#27790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/2209281e97c75e499628a87883cd796ea809bbf2\"\u003e\u003ccode\u003e2209281\u003c/code\u003e\u003c/a\u003e chore(python): Run Pyrefly on \u003ccode\u003e_utils\u003c/code\u003e and \u003ccode\u003efunctions\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27789\"\u003e#27789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/0eb75181491a478f890d4b7f065c79e9653ce5d7\"\u003e\u003ccode\u003e0eb7518\u003c/code\u003e\u003c/a\u003e docs: Add release dates to the On-Prem releases page (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27787\"\u003e#27787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/81ce1447eaa4261b3addbca6ccda13191de4af7f\"\u003e\u003ccode\u003e81ce144\u003c/code\u003e\u003c/a\u003e docs: Improve on-prem docs (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27788\"\u003e#27788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/9881f803d078f15116534fcd479b3494ab1746ac\"\u003e\u003ccode\u003e9881f80\u003c/code\u003e\u003c/a\u003e fix(rust): Swap PlHashMap for PlIndexMap to make Multiplexer insertion order ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pola-rs/polars/commit/295b191c306aba1a64b5f3f8691bcf811a20f77d\"\u003e\u003ccode\u003e295b191\u003c/code\u003e\u003c/a\u003e docs: Add query profiler video to On-Prem user guide (\u003ca href=\"https://redirect.github.com/pola-rs/polars/issues/27786\"\u003e#27786\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pola-rs/polars/compare/py-1.41.1...py-1.41.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gunicorn` from 25.3.0 to 26.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/benoitc/gunicorn/releases\"\u003egunicorn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.0.0\u003c/h2\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eEventlet worker removed\u003c/strong\u003e: The \u003ccode\u003eeventlet\u003c/code\u003e worker class has been dropped. Migrate to \u003ccode\u003egevent\u003c/code\u003e, \u003ccode\u003egthread\u003c/code\u003e, or \u003ccode\u003etornado\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eASGI Framework Compatibility Suite\u003c/strong\u003e: New end-to-end compatibility test harness covering Starlette, FastAPI, Litestar, Quart, Sanic, and BlackSheep. Current grid passes 438/444 tests (98%).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eASGI Test Suite Expansion\u003c/strong\u003e: 134 additional ASGI unit tests covering protocol semantics, lifespan, websockets, and chunked framing.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eHTTP/1.1 Request-Target Validation\u003c/strong\u003e (RFC 9112 sections 3.2.3, 3.2.4):\n\u003cul\u003e\n\u003cli\u003eReject \u003ccode\u003eauthority-form\u003c/code\u003e request-target outside \u003ccode\u003eCONNECT\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eReject \u003ccode\u003easterisk-form\u003c/code\u003e request-target outside \u003ccode\u003eOPTIONS\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eReject \u003ccode\u003erelative-reference\u003c/code\u003e request-targets\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHeader Field Hardening\u003c/strong\u003e (RFC 9110):\n\u003cul\u003e\n\u003cli\u003eReject control characters in header field-value (section 5.5)\u003c/li\u003e\n\u003cli\u003eReject forbidden trailer field-names (section 6.5.1)\u003c/li\u003e\n\u003cli\u003eReject \u003ccode\u003eContent-Length\u003c/code\u003e list form (RFC 9112 section 6.3)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRequest Smuggling Hardening\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eTighten keepalive gate and scope \u003ccode\u003efinish_body\u003c/code\u003e byte cap\u003c/li\u003e\n\u003cli\u003eKeep \u003ccode\u003e_body_receiver\u003c/code\u003e alive across the keepalive smuggling gate so pipelined requests cannot re-enter a closed body\u003c/li\u003e\n\u003cli\u003eAddress parser/protocol findings from a six-point WSGI/ASGI audit\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePROXY Protocol (ASGI)\u003c/strong\u003e: Enforce \u003ccode\u003eproxy_allow_ips\u003c/code\u003e and tighten v1/v2 parsing in the ASGI callback parser.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eConnection Draining\u003c/strong\u003e: Drain the connection on close per RFC 9112 section 9.6 to prevent reset-on-close truncation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBody Framing on HEAD/204/304\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eKeep \u003ccode\u003eContent-Length\u003c/code\u003e on HEAD and 304 responses (\u003ca href=\"https://redirect.github.com/benoitc/gunicorn/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop body framing on HEAD/204/304 even when the framework set it\u003c/li\u003e\n\u003cli\u003eWarn once when an ASGI app emits a body for a no-body response\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHTTP/2 ASGI\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003e_handle_stream_ended\u003c/code\u003e to set \u003ccode\u003e_body_complete\u003c/code\u003e in the async HTTP/2 handler so request bodies finalize correctly on stream end\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eInvalidChunkExtension\u003c/code\u003e mapping and fast-parser support in ASGI tests (\u003ca href=\"https://redirect.github.com/benoitc/gunicorn/issues/3565\"\u003e#3565\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHTTP/1.1 100-Continue\u003c/strong\u003e: Stop adding \u003ccode\u003eTransfer-Encoding: chunked\u003c/code\u003e to 100-Continue interim responses.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWebSocket Close Handshake\u003c/strong\u003e (RFC 6455):\n\u003cul\u003e\n\u003cli\u003eComply with the close handshake state machine\u003c/li\u003e\n\u003cli\u003eClose the transport after the close handshake completes\u003c/li\u003e\n\u003cli\u003eFix binary send when the \u003ccode\u003etext\u003c/code\u003e key is \u003ccode\u003eNone\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eEarly Hints\u003c/strong\u003e: Validate headers in the \u003ccode\u003eearly_hints\u003c/code\u003e callback to match \u003ccode\u003eprocess_headers\u003c/code\u003e; pass only the header name to \u003ccode\u003eInvalidHeader\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/benoitc/gunicorn/issues/3588\"\u003e#3588\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eASGI Framework Fixes\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eFix ASGI disconnect handling for Django-style apps\u003c/li\u003e\n\u003cli\u003eFix Litestar request handling (use raw ASGI receive for body/headers)\u003c/li\u003e\n\u003cli\u003eFix Litestar HTTP endpoints for compatibility tests\u003c/li\u003e\n\u003cli\u003eFix Quart headers endpoint to normalize keys to lowercase\u003c/li\u003e\n\u003cli\u003eFix Quart WebSocket close test app (missing \u003ccode\u003eaccept()\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix duplicate \u003ccode\u003eTransfer-Encoding\u003c/code\u003e header for BlackSheep streaming\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/benoitc/gunicorn/commit/5d819cf36040f6cc6175fcc804d703fb899509dd\"\u003e\u003ccode\u003e5d819cf\u003c/code\u003e\u003c/a\u003e release: 26.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benoitc/gunicorn/commit/b45c70df105f7d5dcbc5abfb732804d6464edc21\"\u003e\u003ccode\u003eb45c70d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/benoitc/gunicorn/issues/3611\"\u003e#3611\u003c/a\u003e from zc-mattcen/docs-typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benoitc/gunicorn/commit/99c8d48acf453deb5c49fe12e195dbc00d888d1e\"\u003e\u003ccode\u003e99c8d48\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/benoitc/gunicorn/issues/3623\"\u003e#3623\u003c/a\u003e from benoitc/chore/drop-eventlet-add-h2-uvloop-test-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benoitc/gunicorn/commit/5a655af50f20e005dd9e32e6078dc82fa45f3d4b\"\u003e\u003ccode\u003e5a655af\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/benoitc/gunicorn/issues/3622\"\u003e#3622\u003c/a\u003e from benoitc/test/docker-port-and-ipv4-fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benoitc/gunicorn/commit/201df19a8011c0a1d6a0e75ebe22e89d48eb935e\"\u003e\u003ccode\u003e201df19\u003c/code\u003e\u003c/a\u003e chore: remove eventlet worker; add h2 and uvloop to test deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benoitc/gunicorn/commit/f4ac8e1f1bf1d365e77f41915da55bec31873f84\"\u003e\u003ccode\u003ef4ac8e1\u003c/code\u003e\u003c/a\u003e test: pass action name to dirty client and stabilize after TTOU spam\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benoitc/gunicorn/commit/54d38afddf1f0db0c15b5f4ff63f3c7bfad96961\"\u003e\u003ccode\u003e54d38af\u003c/code\u003e\u003c/a\u003e test: unblock docker fixtures on macOS hosts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benoitc/gunicorn/commit/68843c8893dd938456f0a2da62085ab5776f8871\"\u003e\u003ccode\u003e68843c8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/benoitc/gunicorn/issues/3621\"\u003e#3621\u003c/a\u003e from benoitc/fix/asgi-preserve-content-length-on-hea...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benoitc/gunicorn/commit/31f2618f733cc0c78690df63f4e344aaf3f56b20\"\u003e\u003ccode\u003e31f2618\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/benoitc/gunicorn/issues/3620\"\u003e#3620\u003c/a\u003e from benoitc/fix/asgi-proxy-protocol-trust-and-parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benoitc/gunicorn/commit/41ec7527dbd8a9e52728477700707ad40e41d9dc\"\u003e\u003ccode\u003e41ec752\u003c/code\u003e\u003c/a\u003e fix: keep Content-Length on HEAD and 304 responses\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/benoitc/gunicorn/compare/25.3.0...26.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `shap` to 0.52.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/shap/shap/releases\"\u003eshap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.52.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNative bindings rewritten with \u003cstrong\u003enanobind\u003c/strong\u003e, and the build system migrated\nfrom \u003ccode\u003esetup.py\u003c/code\u003e to \u003cstrong\u003escikit-build-core + CMake\u003c/strong\u003e. The Cython\n\u003ccode\u003e_kernel_lib.pyx\u003c/code\u003e and the existing \u003ccode\u003e_cext\u003c/code\u003e / \u003ccode\u003e_cext_gpu\u003c/code\u003e modules are now\nbuilt as nanobind extensions, and \u003ccode\u003eMANIFEST.in\u003c/code\u003e / \u003ccode\u003esetup.py\u003c/code\u003e have been\nremoved in favor of a \u003ccode\u003epyproject.toml\u003c/code\u003e-driven build. (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4366\"\u003e#4366\u003c/a\u003e, by\n\u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/daidahao\"\u003e\u003ccode\u003e@​daidahao\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/claude\"\u003e\u003ccode\u003e@​claude\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMinimum dependency versions raised to follow SPEC 0. (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4310\"\u003e#4310\u003c/a\u003e, by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLog an \u003ccode\u003eINFO\u003c/code\u003e message when background data is sub-sampled (closes \u003ca href=\"https://redirect.github.com/shap/shap/issues/3461\"\u003e#3461\u003c/a\u003e).\n(\u003ca href=\"https://redirect.github.com/shap/shap/issues/4294\"\u003e#4294\u003c/a\u003e, by \u003ca href=\"https://github.com/Ebube22\"\u003e\u003ccode\u003e@​Ebube22\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd cross-links between the API Reference and API Examples pages.\n(\u003ca href=\"https://redirect.github.com/shap/shap/issues/4329\"\u003e#4329\u003c/a\u003e, by \u003ca href=\"https://github.com/Abhishek9639\"\u003e\u003ccode\u003e@​Abhishek9639\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop the unused \u003ccode\u003etyping-extensions\u003c/code\u003e dependency. (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4629\"\u003e#4629\u003c/a\u003e, by \u003ca href=\"https://github.com/samudraneel05\"\u003e\u003ccode\u003e@​samudraneel05\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove GPU TreeExplainer parity: preserve XGBoost default/missing child\nrouting so NaN values follow the same branch as the source model, preserve\nvector-valued XGBoost \u003ccode\u003ebase_score\u003c/code\u003e values (fixing multiclass additivity\noffsets), and tighten categorical handling so sklearn models with\n\u003ccode\u003eenable_categorical=True\u003c/code\u003e raise the existing unsupported-categorical error\neven when the booster does not expose \u003ccode\u003efeature_types\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4997\"\u003e#4997\u003c/a\u003e, by\n\u003ca href=\"https://github.com/RAMitchell\"\u003e\u003ccode\u003e@​RAMitchell\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreeExplainer no longer crashes with pandas nullable dtypes.\n(\u003ca href=\"https://redirect.github.com/shap/shap/issues/4298\"\u003e#4298\u003c/a\u003e, by \u003ca href=\"https://github.com/tudstudent\"\u003e\u003ccode\u003e@​tudstudent\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003ewith_binary=False\u003c/code\u003e and \u003ccode\u003ewith_cuda=True\u003c/code\u003e by\ninitializing \u003ccode\u003ecompile_args\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4322\"\u003e#4322\u003c/a\u003e, by \u003ca href=\"https://github.com/mohityadav8\"\u003e\u003ccode\u003e@​mohityadav8\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eText plot colors render correctly by converting NumPy types to float.\n(\u003ca href=\"https://redirect.github.com/shap/shap/issues/4332\"\u003e#4332\u003c/a\u003e, by \u003ca href=\"https://github.com/Saloni-0465\"\u003e\u003ccode\u003e@​Saloni-0465\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAssign the result of \u003ccode\u003enp.flipud\u003c/code\u003e so it is no longer a no-op in\n\u003ccode\u003eAdditiveForceArrayVisualizer\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4343\"\u003e#4343\u003c/a\u003e, by \u003ca href=\"https://github.com/Mahaveerjain-18\"\u003e\u003ccode\u003e@​Mahaveerjain-18\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eisinstance()\u003c/code\u003e instead of \u003ccode\u003eis\u003c/code\u003e for type checks. (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4373\"\u003e#4373\u003c/a\u003e, by \u003ca href=\"https://github.com/divyam-jha123\"\u003e\u003ccode\u003e@​divyam-jha123\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRecord \u003ccode\u003e'sample'\u003c/code\u003e in \u003ccode\u003eExplanation.op_history\u003c/code\u003e instead of \u003ccode\u003e'__getitem__'\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/shap/shap/issues/4376\"\u003e#4376\u003c/a\u003e, by \u003ca href=\"https://github.com/tarun-227\"\u003e\u003ccode\u003e@​tarun-227\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove the unreachable large-dataset warning into the interventional branch.\n(\u003ca href=\"https://redirect.github.com/shap/shap/issues/4392\"\u003e#4392\u003c/a\u003e, by \u003ca href=\"https://github.com/Mahaveerjain-18\"\u003e\u003ccode\u003e@​Mahaveerjain-18\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u0026quot;structure of inputs doesn't match the expected structure\u0026quot;.\n(\u003ca href=\"https://redirect.github.com/shap/shap/issues/4410\"\u003e#4410\u003c/a\u003e, by \u003ca href=\"https://github.com/shaivimalik\"\u003e\u003ccode\u003e@​shaivimalik\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix the return value from \u003ccode\u003eis_color_map()\u003c/code\u003e in \u003ccode\u003eplots/_beeswarm.py\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/shap/shap/issues/4421\"\u003e#4421\u003c/a\u003e, by \u003ca href=\"https://github.com/maniktyagi04\"\u003e\u003ccode\u003e@​maniktyagi04\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSuppress the \u003ccode\u003eUserWarning\u003c/code\u003e when \u003ccode\u003eLGBMRegressor\u003c/code\u003e was fitted with feature\nnames. (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4422\"\u003e#4422\u003c/a\u003e, by \u003ca href=\"https://github.com/shaivimalik\"\u003e\u003ccode\u003e@​shaivimalik\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/shap/shap/commit/8461059bd4e5db2d5d401472ef871c5d411984fe\"\u003e\u003ccode\u003e8461059\u003c/code\u003e\u003c/a\u003e FIX: Improve GPU TreeExplainer parity (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4997\"\u003e#4997\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/8549e6bc3516f71480f0c147265cf5577e4f7a6b\"\u003e\u003ccode\u003e8549e6b\u003c/code\u003e\u003c/a\u003e fix: use isinstance() instead of type() is tuple checks (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4508\"\u003e#4508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/3be70014c904649286a4211a2cb7155fcb79d89e\"\u003e\u003ccode\u003e3be7001\u003c/code\u003e\u003c/a\u003e remove webpack dependency for sickness scores (\u003ca href=\"https://redirect.github.com/shap/shap/issues/5018\"\u003e#5018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/6e9f9b8563fb63c37ae4f7a2af308444857cb20c\"\u003e\u003ccode\u003e6e9f9b8\u003c/code\u003e\u003c/a\u003e build(deps): bump qs and express in /javascript (\u003ca href=\"https://redirect.github.com/shap/shap/issues/5015\"\u003e#5015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/9be5435bb8523eba406147e8dcf3186008818bff\"\u003e\u003ccode\u003e9be5435\u003c/code\u003e\u003c/a\u003e build(deps): bump idna from 3.11 to 3.15 in /docs (\u003ca href=\"https://redirect.github.com/shap/shap/issues/5007\"\u003e#5007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/52dd763bd36603c39ce3a4fc68e7fd805380706e\"\u003e\u003ccode\u003e52dd763\u003c/code\u003e\u003c/a\u003e pin torch to \u0026lt;=2.11.0 in pyproject.toml (\u003ca href=\"https://redirect.github.com/shap/shap/issues/5017\"\u003e#5017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/d8f2e7656017d5f39e6c026852d1eb6caa2dc711\"\u003e\u003ccode\u003ed8f2e76\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump webpack-dev-server in /javascript (\u003ca href=\"https://redirect.github.com/shap/shap/issues/5009\"\u003e#5009\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/ac6e677d627d5458395e5a2925a3ff3297fafd7a\"\u003e\u003ccode\u003eac6e677\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump \u003ccode\u003e@​babel/plugin-transform-modules-systemjs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4991\"\u003e#4991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/679b2eefb00a96ac9b2741103baec27206b26154\"\u003e\u003ccode\u003e679b2ee\u003c/code\u003e\u003c/a\u003e FIX: warn when covariance matrix is singular in LinearExplainer (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4471\"\u003e#4471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/ce4abd76933cac06e1cedbd75bd8fcfc74238318\"\u003e\u003ccode\u003ece4abd7\u003c/code\u003e\u003c/a\u003e build(deps): bump mistune from 3.2.0 to 3.2.1 (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4990\"\u003e#4990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/shap/shap/compare/v0.47.0...v0.52.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.42.89 to 1.43.24\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/b2b302b072044a376279adcb7a4791f424027ad1\"\u003e\u003ccode\u003eb2b302b\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.24'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/02fd3ca9aab5ae0e8e1e9e88e80b56e5a3e3755c\"\u003e\u003ccode\u003e02fd3ca\u003c/code\u003e\u003c/a\u003e Bumping version to 1.43.24\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/fcaf9ff50cea0eff6ce965e97fc4b23c941d1cb5\"\u003e\u003ccode\u003efcaf9ff\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/f2106e0d34cb87a89f066f06373d337da503b0d5\"\u003e\u003ccode\u003ef2106e0\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.23'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/5f983267ce19c9461f9da5ef19105b46879a440e\"\u003e\u003ccode\u003e5f98326\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.23' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/d7e5b7c20dfad5465df92d55541638ecfc09e981\"\u003e\u003ccode\u003ed7e5b7c\u003c/code\u003e\u003c/a\u003e Bumping version to 1.43.23\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/86efe86a74067974ef06571cb101697a8afd66a5\"\u003e\u003ccode\u003e86efe86\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/83844402cce909b1ceded705ceb69cdcefec445b\"\u003e\u003ccode\u003e8384440\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.22'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/eea01a7257d0278255c8c20d7d303ca779135c3c\"\u003e\u003ccode\u003eeea01a7\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.43.22' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/eff8ee7efd00440fa4a9feb37371c35430cebe06\"\u003e\u003ccode\u003eeff8ee7\u003c/code\u003e\u003c/a\u003e Bumping version to 1.43.22\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.42.89...1.43.24\"\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.1 to 3.10.2\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.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a regression related to comment handling (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1590\"\u003e#1590\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMore reliable fix for \u003ccode\u003e\u0026lt;/\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1593\"\u003e#1593\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\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\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\u003ch2\u003e[3.10.2] - 2026-02-09\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a regression related to comment handling (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1590\"\u003e#1590\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMore reliable fix for \u003ccode\u003e\u0026lt;/\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Python-Markdown/markdown/issues/1593\"\u003e#1593\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\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\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/e7a0efb3a7c36d6b8005403122705662bc17c904\"\u003e\u003ccode\u003ee7a0efb\u003c/code\u003e\u003c/a\u003e Bump version to 3.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/630183336bda57c258becc3ed229105481876a7e\"\u003e\u003ccode\u003e6301833\u003c/code\u003e\u003c/a\u003e Document HTML sanitation policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/7f29f1a69d236f5bb11645c2fa03fcf701487c8c\"\u003e\u003ccode\u003e7f29f1a\u003c/code\u003e\u003c/a\u003e More reliable fix for \u003ccode\u003e\u0026lt;/\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Python-Markdown/markdown/commit/c4386475a6b6daea43b7d7717add4271adc9a3c1\"\u003e\u003ccode\u003ec438647\u003c/code\u003e\u003c/a\u003e Fix regression of special comments\u003c/li\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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Python-Markdown/markdown/compare/3.8.1...3.10.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bleach` from 6.1.0 to 6.4.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.4.0 (June 5th, 2026)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNOTE: 2026-06-05: Bleach is no longer maintained. There will be no future\nreleases including for security issues.\u003c/strong\u003e\nSee issue: \u003ccode\u003e\u0026lt;https://github.com/mozilla/bleach/issues/698\u0026gt;\u003c/code\u003e__\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBackwards incompatible changes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for pypy 3.10. (\u003ca href=\"https://redirect.github.com/mozilla/bleach/issues/764\"\u003e#764\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix bug 2023812 / GHSA-8rfp-98v4-mmr6.\u003c/p\u003e\n\u003cp\u003eFix XSS issue with sanitize_uri_value where disallowed schemes with\nUnicode invisible characters wouldn't be rejected.\u003c/p\u003e\n\u003cp\u003eFor example::\u003c/p\u003e\n\u003cp\u003eimport bleach\npayload1 = '\u003c!-- raw HTML omitted --\u003eClick\u003c!-- raw HTML omitted --\u003e'\nresult1 = bleach.clean(payload1)\nprint(repr(result1))\u003c/p\u003e\n\u003cp\u003eoutputs::\u003c/p\u003e\n\u003cp\u003e'\u003c!-- raw HTML omitted --\u003eClick\u003c!-- raw HTML omitted --\u003e'\u003c/p\u003e\n\u003cp\u003eSee the advisory for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix GHSA-gj48-438w-jh9v.\u003c/p\u003e\n\u003cp\u003eFix issue where URI sanitization wasn't happening in formaction attributes.\u003c/p\u003e\n\u003cp\u003eSee the advisory for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for pypy 3.11. (\u003ca href=\"https://redirect.github.com/mozilla/bleach/issues/764\"\u003e#764\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDrop version max in tinycss2 pin. (\u003ca href=\"https://redirect.github.com/mozilla/bleach/issues/772\"\u003e#772\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eThis removes one of the things we had to keep checking and updating. Users\nnow own the responsibility for correctness with the version of tinycss2\nthey're using.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 6.3.0 (October 27th, 2025)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/f0355a7af00500482c5292c6c83290c6a178068d\"\u003e\u003ccode\u003ef0355a7\u003c/code\u003e\u003c/a\u003e fix: fix last release date in CHANGES\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/ae4e8a26706516ad01b92e66321b480208a440da\"\u003e\u003ccode\u003eae4e8a2\u003c/code\u003e\u003c/a\u003e chore: bleach 6.4.0 and final release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/970df58e9f0c55cc52244f3f0106e473a40d886d\"\u003e\u003ccode\u003e970df58\u003c/code\u003e\u003c/a\u003e fix: uri-sanitization in formaction attributes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/7c4867c32344d1c961107fae62240a6f0dc680dc\"\u003e\u003ccode\u003e7c4867c\u003c/code\u003e\u003c/a\u003e fix: xss bypass in allowed protocol test using unicode invisible characters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/913ab75992b845e2c9c060c41f24d46921db4693\"\u003e\u003ccode\u003e913ab75\u003c/code\u003e\u003c/a\u003e fix: reduce redundancy in workflow jobs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/218c15af455c8dec14f98fcb2e235f8680e93930\"\u003e\u003ccode\u003e218c15a\u003c/code\u003e\u003c/a\u003e fix: rework pip caching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/4f0b097bf80548a022050e2f71f024d755a9f154\"\u003e\u003ccode\u003e4f0b097\u003c/code\u003e\u003c/a\u003e fix: fix tox platform restrictions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/e95a79d07bb5d792425c2bc0ef5dd03f6614f3bb\"\u003e\u003ccode\u003ee95a79d\u003c/code\u003e\u003c/a\u003e chore: update pytest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/91539d4e80d4685b8f2bedc79076ff0ff6c1b911\"\u003e\u003ccode\u003e91539d4\u003c/code\u003e\u003c/a\u003e Bump actions/cache from 5.0.3 to 5.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/bleach/commit/cd47b4ce495859065da23c2116f651e591e1e90d\"\u003e\u003ccode\u003ecd47b4c\u003c/code\u003e\u003c/a\u003e fix: handle left-angle-bracket that's not a tag (\u003ca href=\"https://redirect.github.com/mozilla/bleach/issues/733\"\u003e#733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mozilla/bleach/compare/v6.1.0...v6.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `torch` from 2.12.0 to 2.12.0+cu130\n\nUpdates `pytest-timeout` to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-timeout/commit/ddabc934535081a5bf9ba7c9ca5b494aeaf8f665\"\u003e\u003ccode\u003eddabc93\u003c/code\u003e\u003c/a\u003e Add python 3.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-timeout/commit/617b1b6f0ab74517b92a4966b6db9e509d987972\"\u003e\u003ccode\u003e617b1b6\u003c/code\u003e\u003c/a\u003e Prepare release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-timeout/commit/2e96621ee1b61057438c0f8c5b158eddc31654c5\"\u003e\u003ccode\u003e2e96621\u003c/code\u003e\u003c/a\u003e Change error message to clearly relate it to pytest-timeout (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-timeout/issues/180\"\u003e#180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-timeout/commit/733b26b5d3b6f1c86876339f336cd827dc7d1a0c\"\u003e\u003ccode\u003e733b26b\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-timeout/commit/fa5fd451afa3e7e676c7a31a9e7b058dabf0988b\"\u003e\u003ccode\u003efa5fd45\u003c/code\u003e\u003c/a\u003e Add support sys.monitoring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-timeout/commit/3d41ba8042ab1d07613572d95853dcc1c3602880\"\u003e\u003ccode\u003e3d41ba8\u003c/code\u003e\u003c/a\u003e Update README.rst with pytest-xdist 3.0.2 news\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-timeout/commit/935f51cf0931dbbee8162e89b53289f1f43df499\"\u003e\u003ccode\u003e935f51c\u003c/code\u003e\u003c/a\u003e Add missing Python 3.12 trove classifier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-timeout/commit/04432f5b10eec31433482e1b191c0d71f19acff5\"\u003e\u003ccode\u003e04432f5\u003c/code\u003e\u003c/a\u003e Some fixes to readme, bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-timeout/commit/48179d984d4a716b426dbf04e6b290d620518743\"\u003e\u003ccode\u003e48179d9\u003c/code\u003e\u003c/a\u003e Prep release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-timeout/commit/38c5f24e73cb73ea8a368024bf171921e8e500e7\"\u003e\u003ccode\u003e38c5f24\u003c/code\u003e\u003c/a\u003e Tweak docs a little\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-timeout/compare/2.0.0...2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-cov` to 7.1.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.1.0 (2026-03-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixed total coverage computation to always be consistent, regardless of reporting settings.\nPreviously some reports could produce different total counts, and consequently can make --cov-fail-under behave different depending on\nreporting options.\nSee \u003ccode\u003e[#641](https://github.com/pytest-dev/pytest-cov/issues/641) \u0026lt;https://github.com/pytest-dev/pytest-cov/issues/641\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImprove handling of ResourceWarning from sqlite3.\u003c/p\u003e\n\u003cp\u003eThe plugin adds warning filter for sqlite3 \u003ccode\u003eResourceWarning\u003c/code\u003e unclosed database (since 6.2.0).\nIt checks if there is already existing plugin for this message by comparing filter regular expression.\nWhen filter is specified on command line the message is escaped and does not match an expected message.\nA check for an escaped regular expression is added to handle this case.\u003c/p\u003e\n\u003cp\u003eWith this fix one can suppress \u003ccode\u003eResourceWarning\u003c/code\u003e from sqlite3 from command line::\u003c/p\u003e\n\u003cp\u003epytest -W \u0026quot;ignore:unclosed database in \u0026lt;sqlite3.Connection object at:ResourceWarning\u0026quot; ...\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eVarious improvements to documentation.\nContributed by Art Pelling in \u003ccode\u003e[#718](https://github.com/pytest-dev/pytest-cov/issues/718) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/718\u0026gt;\u003c/code\u003e_ and\n\u0026quot;vivodi\u0026quot; in \u003ccode\u003e[#738](https://github.com/pytest-dev/pytest-cov/issues/738) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/738\u0026gt;\u003c/code\u003e\u003cem\u003e.\nAlso closed \u003ccode\u003e[#736](https://github.com/pytest-dev/pytest-cov/issues/736) \u0026lt;https://github.com/pytest-dev/pytest-cov/issues/736\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed some assertions in tests.\nContributed by in Markéta Machová in \u003ccode\u003e[#722](https://github.com/pytest-dev/pytest-cov/issues/722) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/722\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemoved unnecessary coverage configuration copying (meant as a backup because reporting commands had configuration side-effects before coverage 5.0).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/66c8a526b1246b5eb8fb1bc218878131bc628622\"\u003e\u003ccode\u003e66c8a52\u003c/code\u003e\u003c/a\u003e Bump version: 7.0.0 → 7.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/f7076624784332594aa4cb3585d4757d295db15e\"\u003e\u003ccode\u003ef707662\u003c/code\u003e\u003c/a\u003e Make the examples use pypy 3.11.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/6049a7847872e3139e6c82e93787123df5dc8672\"\u003e\u003ccode\u003e6049a78\u003c/code\u003e\u003c/a\u003e Make context test use the old ctracer (seems the new sysmon tracer behaves di...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/8ebf20bbbc73478b3f8fd36d30237d9ea083f06b\"\u003e\u003ccode\u003e8ebf20b\u003c/code\u003e\u003c/a\u003e Update changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/861d30e60d571f97259c6b718b71c819d5dbc3b9\"\u003e\u003ccode\u003e861d30e\u003c/code\u003e\u003c/a\u003e Remove the backup context manager  - shouldn't be needed since coverage 5.0, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/fd4c956014035527f0c3c8d7faef3f8cfdadac7f\"\u003e\u003ccode\u003efd4c956\u003c/code\u003e\u003c/a\u003e Pass the precision on the nulled total (seems that there's some caching goion...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/78c9c4ecb005faf4962fd86ff7bf9c9cce9554d6\"\u003e\u003ccode\u003e78c9c4e\u003c/code\u003e\u003c/a\u003e Only run the 3.9 on older deps.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/4849a922e8be725c662a3d9175da571ace6545dc\"\u003e\u003ccode\u003e4849a92\u003c/code\u003e\u003c/a\u003e Punctuation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/197c35e2f37031fd1927715307ab6eed7cb3d2b7\"\u003e\u003ccode\u003e197c35e\u003c/code\u003e\u003c/a\u003e Update changelog and hopefully I don't forget to publish release again :))\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/14dc1c92d44108384e39803888635fdbfc578b7f\"\u003e\u003ccode\u003e14dc1c9\u003c/code\u003e\u003c/a\u003e Update examples to use 3.11 and make the adhoc layout example look a bit more...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-cov/compare/v4.0.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 `pytest-xdist` to 3.8.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-xdist/blob/master/CHANGELOG.rst\"\u003epytest-xdist's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003epytest-xdist 3.8.0 (2025-06-30)\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#1083](https://github.com/pytest-dev/pytest-xdist/issues/1083) \u0026lt;https://github.com/pytest-dev/pytest-xdist/issues/1083\u0026gt;\u003c/code\u003e_: Add \u003ccode\u003e--no-loadscope-reorder\u003c/code\u003e and \u003ccode\u003e--loadscope-reorder\u003c/code\u003e option to control whether to automatically reorder tests in loadscope for tests where relative ordering matters. This only applies when using \u003ccode\u003eloadscope\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eFor example, [test_file_1, test_file_2, ..., test_file_n] are given as input test files, if \u003ccode\u003e--no-loadscope-reorder\u003c/code\u003e is used, for either worker, the \u003ccode\u003etest_file_a\u003c/code\u003e will be executed before \u003ccode\u003etest_file_b\u003c/code\u003e only if \u003ccode\u003ea \u0026lt; b\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe default behavior is to reorder the tests to maximize the number of tests that can be executed in parallel.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003epytest-xdist 3.7.0 (2025-05-26)\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#1142](https://github.com/pytest-dev/pytest-xdist/issues/1142) \u0026lt;https://github.com/pytest-dev/pytest-xdist/issues/1142\u0026gt;\u003c/code\u003e_: Added support for Python 3.13.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#1144](https://github.com/pytest-dev/pytest-xdist/issues/1144) \u0026lt;https://github.com/pytest-dev/pytest-xdist/issues/1144\u0026gt;\u003c/code\u003e_: The internal \u003ccode\u003esteal\u003c/code\u003e command is now atomic - it unschedules either all requested tests or none.\u003c/p\u003e\n\u003cp\u003eThis is a prerequisite for group/scope support in the \u003ccode\u003eworksteal\u003c/code\u003e scheduler, so test groups won't be broken up incorrectly.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#1170](https://github.com/pytest-dev/pytest-xdist/issues/1170) \u0026lt;https://github.com/pytest-dev/pytest-xdist/issues/1170\u0026gt;\u003c/code\u003e_: Add the \u003ccode\u003e--px\u003c/code\u003e arg to create proxy gateways.\u003c/p\u003e\n\u003cp\u003eProxy gateways are passed to additional gateways using the \u003ccode\u003evia\u003c/code\u003e keyword.\nThey can serve as a way to run multiple workers on remote machines.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#1200](https://github.com/pytest-dev/pytest-xdist/issues/1200) \u0026lt;https://github.com/pytest-dev/pytest-xdist/issues/1200\u0026gt;\u003c/code\u003e_: Now multiple \u003ccode\u003exdist_group\u003c/code\u003e markers are considered when assigning tests to groups (order does not matter).\u003c/p\u003e\n\u003cp\u003ePreviously, only the last marker would assign a test to a group, but now if a test has multiple \u003ccode\u003exdist_group\u003c/code\u003e marks applied (for example via parametrization or via fixtures), they are merged to make a new group.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRemovals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#1162](https://github.com/pytest-dev/pytest-xdist/issues/1162) \u0026lt;https://github.com/pytest-dev/pytest-xdist/issues/1162\u0026gt;\u003c/code\u003e_: Dropped support for EOL Python 3.8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eTrivial Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#1092](https://github.com/pytest-dev/pytest-xdist/issues/1092) \u0026lt;https://github.com/pytest-dev/pytest-xdist/issues/1092\u0026gt;\u003c/code\u003e_: Update an error message to better indicate where users should go for more information.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003e[#1190](https://github.com/pytest-dev/pytest-xdist/issues/1190) \u0026lt;https://github.com/pytest-dev/pytest-xdist/issues/1190\u0026gt;\u003c/code\u003e_: Switched to using a SPDX license identifier introduced in PEP 639.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003epytest-xdist 3.6.1 (2024-04-28)\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/1e3e4dc16523c8a8f6c67d95a950166420718c99\"\u003e\u003ccode\u003e1e3e4dc\u003c/code\u003e\u003c/a\u003e Release 3.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/600aad575a4e4382855145b0c464d51b8f0b7242\"\u003e\u003ccode\u003e600aad5\u003c/code\u003e\u003c/a\u003e Ensure all xdist group names are strings (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-xdist/issues/1216\"\u003e#1216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/9d7ba5b5fbbbe26793fbfb7cb1903eb69425cf09\"\u003e\u003ccode\u003e9d7ba5b\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e--no-loadscope-reorder\u003c/code\u003e and \u003ccode\u003e--loadscope-reorder\u003c/code\u003e options (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-xdist/issues/1217\"\u003e#1217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/532f07fb181bb1546eda79bbe6b46bdb56c699e1\"\u003e\u003ccode\u003e532f07f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-xdist/issues/1210\"\u003e#1210\u003c/a\u003e from pytest-dev/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/0883ad085e0cf039c8ae13eb2789c1076544d225\"\u003e\u003ccode\u003e0883ad0\u003c/code\u003e\u003c/a\u003e Fix Path usage in \u003ccode\u003etest_rsync_roots_no_roots\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/58a51bc14015d211761e44c2bdacab09c3893668\"\u003e\u003ccode\u003e58a51bc\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/59a2ad0150697b9ff837f3ae8dcf6e074d5a114b\"\u003e\u003ccode\u003e59a2ad0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-xdist/issues/1220\"\u003e#1220\u003c/a\u003e from pytest-dev/dependabot/github_actions/github-act...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/d42b9c72044855236c68286ca3bdb34486a05872\"\u003e\u003ccode\u003ed42b9c7\u003c/code\u003e\u003c/a\u003e build(deps): bump hynek/build-and-inspect-python-package\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/ebfcb99072aed3503fda5175245f28895a0204bb\"\u003e\u003ccode\u003eebfcb99\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-xdist/issues/1206\"\u003e#1206\u003c/a\u003e from pytest-dev/release-3.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-xdist/commit/23b7fd6054298a530b02b33d07007b3082a36277\"\u003e\u003ccode\u003e23b7fd6\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-xdist/issues/1207\"\u003e#1207\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-xdist/compare/v3.6.0...v3.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `optuna` from 4.8.0 to 4.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.9.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/74?closed=1\"\u003ev4.9.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch3\u003eEnhance Multi-Objective Constrained Parallel Optimization in GPSampler\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sawa3030\"\u003e\u003ccode\u003e@​sawa3030\u003c/code\u003e\u003c/a\u003e introduces parallelization enhancements to \u003ccode\u003eGPSampler\u003c/code\u003e, leveraging the \u003cstrong\u003eKriging Believer\u003c/strong\u003e approach for constrained and multi-objective optimization (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6481\"\u003e#6481\u003c/a\u003e). This improvement allows for more efficient exploration when multiple trials are running concurrently.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003eThe GP surrogate is updated by assigning temporary objective function values ​​to the running trials.\u003c/p\u003e\n\u003cp\u003eFor more technical details and benchmarks, please check out our blog post: \u003ca href=\"https://medium.com/optuna/improving-optunas-gpsampler-parallelization-by-considering-running-trials-10d42aeb5d49\"\u003eImproving Optuna’s GPSampler Parallelization by Considering Running Trials\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eDeprecate Several Features\u003c/h3\u003e\n\u003cp\u003eThe following features are deprecated in v4.9.0 and scheduled for removal in v6.0.0.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eoptuna\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSeveral arguments in \u003ccode\u003eTPESampler\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6635\"\u003e#6635\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eprior_weight\u003c/code\u003e, \u003ccode\u003econsider_magic_clip\u003c/code\u003e, \u003ccode\u003econsider_endpoints\u003c/code\u003e, \u003ccode\u003egamma\u003c/code\u003e, \u003ccode\u003eweights\u003c/code\u003e, \u003ccode\u003ehyperopt_parameters\u003c/code\u003e: These internal parameters are being deprecated to simplify the interface, as the default settings are optimal for most use cases.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ewarn_independent_sampling\u003c/code\u003e: Deprecated because \u003ccode\u003eTPESampler\u003c/code\u003e now robustly supports both independent and joint sampling, making this warning obsolete.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecategorical_distance_func\u003c/code\u003e: This advanced feature will be migrated to OptunaHub in the future.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ex0\u003c/code\u003e and \u003ccode\u003esigma0\u003c/code\u003e options in \u003ccode\u003eCmaEsSampler\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6624\"\u003e#6624\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThese options have been deprecated because they require a deep understanding of \u003ccode\u003eCmaEsSampler\u003c/code\u003e's internals to be configured effectively.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eoptuna.terminator\u003c/code\u003e module\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6668\"\u003e#6668\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis feature will be migrated to OptunaHub in the future.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eRetryFailedTrialCallback\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6670\"\u003e#6670\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis class has been renamed to \u003ccode\u003eRetryHeartbeatStaleTrialCallback\u003c/code\u003e to better reflect its behavior and avoid confusion with general trial retries (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6085\"\u003e#6085\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eoptuna.integration\u003c/code\u003e module\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003eoptuna.integration\u003c/code\u003e module currently acts as a shortcut to the external \u003ccode\u003eoptuna_integration\u003c/code\u003e package for backward compatibility. Please import directly from the \u003ccode\u003eoptuna_integration\u003c/code\u003e package going forward.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eoptuna-integration\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ePyCmaSampler\u003c/code\u003e: Please use Optuna's native \u003ccode\u003eCmaEsSampler\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCometCallback\u003c/code\u003e: This feature will be migrated to OptunaHub in the future.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMLflowCallback\u003c/code\u003e: This feature will be migrated to OptunaHub in the future.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTensorBoardCallback\u003c/code\u003e: This feature will be migrated to OptunaHub in the future.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTrackioCallback\u003c/code\u003e: This feature will be migrated to OptunaHub in the future.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eWeightsAndBiasesCallback\u003c/code\u003e: This class has already been migrated to OptunaHub.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBreaking Changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003ePyCmaSampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/276\"\u003eoptuna/optuna-integration#276\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd deprecation message for \u003ccode\u003eCometCallback\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/280\"\u003eoptuna/optuna-integration#280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd deprecation message for MLflowCallback (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/281\"\u003eoptuna/optuna-integration#281\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/optuna/optuna/commit/4db42e31c24b200e52595df9d4c00e2cdeefea2b\"\u003e\u003ccode\u003e4db42e3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6691\"\u003e#6691\u003c/a\u003e from c-bata/backport-v4.9-attestations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/6a15cf0906c5e92e9dbe70d3ee320eb3db5d08b7\"\u003e\u003ccode\u003e6a15cf0\u003c/code\u003e\u003c/a\u003e Add attestations: false to fix release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/a592e6c0d6604f...\n\n_Description has been truncated_","html_url":"https://github.com/alexanderdfree/Fantasy_Football_ML_AWS/pull/964","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexanderdfree%2FFantasy_Football_ML_AWS/issues/964","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/964/packages"}},{"old_version":"3.6.1","new_version":"4.8.0","update_type":"major","path":"/services/credit-assessment","pr_created_at":"2026-05-20T01:13:27.000Z","version_change":"3.6.1 → 4.8.0","issue":{"uuid":"4482311996","node_id":"PR_kwDOSb_fa87dUS25","number":20,"state":"open","title":"chore(deps): Bump optuna from 3.6.1 to 4.8.0 in /services/credit-assessment","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-20T01:13:27.000Z","updated_at":"2026-05-20T01:13:28.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","packages":[{"name":"optuna","old_version":"3.6.1","new_version":"4.8.0","repository_url":"https://github.com/optuna/optuna"}],"path":"/services/credit-assessment","ecosystem":"pip"},"body":"Bumps [optuna](https://github.com/optuna/optuna) from 3.6.1 to 4.8.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.8.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/73?closed=1\"\u003ev4.8.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eSupport for Constant Liar Strategy to GPSampler\u003c/h2\u003e\n\u003cp\u003eA constant liar strategy for efficient parallelization has been introduced to GPSampler by \u003ca href=\"https://github.com/sawa3030\"\u003e\u003ccode\u003e@​sawa3030\u003c/code\u003e\u003c/a\u003e. The figures (left: v4.7.0, right: v4.8.0) show that the overlap of search points has decreased, and a wider variety of solutions are being explored. The experiment uses \u003ccode\u003en_jobs = 10\u003c/code\u003e and \u003ccode\u003en_trials = 100\u003c/code\u003e. Currently, this feature supports single-objective and unconstrained optimization. Further extensions are coming in v4.9.0.\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003ev4.7.0\u003c/th\u003e\n\u003cth\u003ev4.8.0\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eSHAP-like beeswarm plot visualization\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/yasumorishima\"\u003e\u003ccode\u003e@​yasumorishima\u003c/code\u003e\u003c/a\u003e introduces the new visualization to OptunaHub. Please refer to \u003ca href=\"https://hub.optuna.org/visualization/plot_beeswarm/\"\u003ehttps://hub.optuna.org/visualization/plot_beeswarm/\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch1\u003eNew Features\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Trackio Integration for Optuna (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/259\"\u003eoptuna/optuna-integration#259\u003c/a\u003e, thanks \u003ca href=\"https://github.com/ParagEkbote\"\u003e\u003ccode\u003e@​ParagEkbote\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eAdd constant liar strategy to \u003ccode\u003eGPSampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6430\"\u003e#6430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eValidate artifact_id in FileSystemArtifactStore to prevent path traversal (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6432\"\u003e#6432\u003c/a\u003e, thanks \u003ca href=\"https://github.com/RinZ27\"\u003e\u003ccode\u003e@​RinZ27\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003efix: correct inverted warning message in pareto front plot (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e, thanks \u003ca href=\"https://github.com/aerosta\"\u003e\u003ccode\u003e@​aerosta\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix shared callback state in parallel OptunaSearchCV with LightGBM (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/260\"\u003eoptuna/optuna-integration#260\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Quant-Quasar\"\u003e\u003ccode\u003e@​Quant-Quasar\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix GPSampler crash when torch default device is CUDA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6418\"\u003e#6418\u003c/a\u003e, thanks \u003ca href=\"https://github.com/VedantMadane\"\u003e\u003ccode\u003e@​VedantMadane\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix combination between \u003ccode\u003ePartialFixedSampler\u003c/code\u003e and \u003ccode\u003eTPESampler\u003c/code\u003e with group decomposed search space (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6428\"\u003e#6428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTPESampler\u003c/code\u003e with \u003ccode\u003emultivariate\u003c/code\u003e and \u003ccode\u003econstant_liar\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDocumentation\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd documentation indicating that \u003ccode\u003eWilcoxonPruner\u003c/code\u003e requires \u003ccode\u003escipy\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6477\"\u003e#6477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove version \u0026amp; language selectors in the sidebar of docs (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6482\"\u003e#6482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eExamples\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eApply black 26.1.0 (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/348\"\u003eoptuna/optuna-examples#348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove CI workflow for allennlp since no longer maintained (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/351\"\u003eoptuna/optuna-examples#351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce the frequency of scheduled CI triggers (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/352\"\u003eoptuna/optuna-examples#352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove the scheduled trigger for \u003ccode\u003eaim\u003c/code\u003e CI (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/353\"\u003eoptuna/optuna-examples#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd constraint to \u003ccode\u003etransformers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/355\"\u003eoptuna/optuna-examples#355\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eTests\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/689c62dbfc14f3476c51c14fda2e4f818ed2ee30\"\u003e\u003ccode\u003e689c62d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6509\"\u003e#6509\u003c/a\u003e from y0z/feature/bump-up-release480\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/9e2e0658ee6205c69993cf4204fabe6353249441\"\u003e\u003ccode\u003e9e2e065\u003c/code\u003e\u003c/a\u003e Bump up version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/54fe633c042be32f9a8c90b440e81c05406448d2\"\u003e\u003ccode\u003e54fe633\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6507\"\u003e#6507\u003c/a\u003e from sateeshkumarb/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/8efb8b4ffd749a95610e537a597ccaabde2e97db\"\u003e\u003ccode\u003e8efb8b4\u003c/code\u003e\u003c/a\u003e Move imports used for typecheck under TYPE_CHCKING\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/c0fcd2e4bba33783aa5e61e94be29dfc2cdcac0a\"\u003e\u003ccode\u003ec0fcd2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6506\"\u003e#6506\u003c/a\u003e from acabellom/fix-fstring-file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/087cc9d85e431df96ac54bec1de992fac9260e80\"\u003e\u003ccode\u003e087cc9d\u003c/code\u003e\u003c/a\u003e Replace .format() with f-strings in 002_configurations.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/274f5b906accb795569550164f418dd3f40338c2\"\u003e\u003ccode\u003e274f5b9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e from not522/fix-multivariate-constant_liar\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/ce882f6a4e1b0ecc328373cf989cbb16debdf1f6\"\u003e\u003ccode\u003ece882f6\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6265\"\u003e#6265\u003c/a\u003e from not522/relative-use-cache\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/f9e546d71f3fe515ee0df37ffe49d83f1f294c58\"\u003e\u003ccode\u003ef9e546d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e from aerosta/fix/pareto-front-warning-message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/535215b3890f10b0cd96e6a22aaad58821769c3d\"\u003e\u003ccode\u003e535215b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6502\"\u003e#6502\u003c/a\u003e from nightcityblade/fix/issue-6029-patient-pruner\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/optuna/optuna/compare/v3.6.1...v4.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=optuna\u0026package-manager=pip\u0026previous-version=3.6.1\u0026new-version=4.8.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Onegaishimas/wasat/pull/20","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Onegaishimas%2Fwasat/issues/20","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/20/packages"}},{"old_version":"3.6.2","new_version":"4.8.0","update_type":"major","path":null,"pr_created_at":"2026-05-04T18:47:08.000Z","version_change":"3.6.2 → 4.8.0","issue":{"uuid":"4378844440","node_id":"PR_kwDONXBlI87YH_Lt","number":124,"state":"open","title":"chore(deps-dev): bump optuna from 3.6.2 to 4.8.0","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-04T18:47:08.000Z","updated_at":"2026-05-06T03:07:17.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"optuna","old_version":"3.6.2","new_version":"4.8.0","repository_url":"https://github.com/optuna/optuna"}],"path":null,"ecosystem":"pip"},"body":"Bumps [optuna](https://github.com/optuna/optuna) from 3.6.2 to 4.8.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.8.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/73?closed=1\"\u003ev4.8.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eSupport for Constant Liar Strategy to GPSampler\u003c/h2\u003e\n\u003cp\u003eA constant liar strategy for efficient parallelization has been introduced to GPSampler by \u003ca href=\"https://github.com/sawa3030\"\u003e\u003ccode\u003e@​sawa3030\u003c/code\u003e\u003c/a\u003e. The figures (left: v4.7.0, right: v4.8.0) show that the overlap of search points has decreased, and a wider variety of solutions are being explored. The experiment uses \u003ccode\u003en_jobs = 10\u003c/code\u003e and \u003ccode\u003en_trials = 100\u003c/code\u003e. Currently, this feature supports single-objective and unconstrained optimization. Further extensions are coming in v4.9.0.\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003ev4.7.0\u003c/th\u003e\n\u003cth\u003ev4.8.0\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eSHAP-like beeswarm plot visualization\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/yasumorishima\"\u003e\u003ccode\u003e@​yasumorishima\u003c/code\u003e\u003c/a\u003e introduces the new visualization to OptunaHub. Please refer to \u003ca href=\"https://hub.optuna.org/visualization/plot_beeswarm/\"\u003ehttps://hub.optuna.org/visualization/plot_beeswarm/\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch1\u003eNew Features\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Trackio Integration for Optuna (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/259\"\u003eoptuna/optuna-integration#259\u003c/a\u003e, thanks \u003ca href=\"https://github.com/ParagEkbote\"\u003e\u003ccode\u003e@​ParagEkbote\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eAdd constant liar strategy to \u003ccode\u003eGPSampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6430\"\u003e#6430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eValidate artifact_id in FileSystemArtifactStore to prevent path traversal (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6432\"\u003e#6432\u003c/a\u003e, thanks \u003ca href=\"https://github.com/RinZ27\"\u003e\u003ccode\u003e@​RinZ27\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003efix: correct inverted warning message in pareto front plot (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e, thanks \u003ca href=\"https://github.com/aerosta\"\u003e\u003ccode\u003e@​aerosta\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix shared callback state in parallel OptunaSearchCV with LightGBM (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/260\"\u003eoptuna/optuna-integration#260\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Quant-Quasar\"\u003e\u003ccode\u003e@​Quant-Quasar\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix GPSampler crash when torch default device is CUDA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6418\"\u003e#6418\u003c/a\u003e, thanks \u003ca href=\"https://github.com/VedantMadane\"\u003e\u003ccode\u003e@​VedantMadane\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix combination between \u003ccode\u003ePartialFixedSampler\u003c/code\u003e and \u003ccode\u003eTPESampler\u003c/code\u003e with group decomposed search space (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6428\"\u003e#6428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTPESampler\u003c/code\u003e with \u003ccode\u003emultivariate\u003c/code\u003e and \u003ccode\u003econstant_liar\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDocumentation\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd documentation indicating that \u003ccode\u003eWilcoxonPruner\u003c/code\u003e requires \u003ccode\u003escipy\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6477\"\u003e#6477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove version \u0026amp; language selectors in the sidebar of docs (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6482\"\u003e#6482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eExamples\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eApply black 26.1.0 (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/348\"\u003eoptuna/optuna-examples#348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove CI workflow for allennlp since no longer maintained (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/351\"\u003eoptuna/optuna-examples#351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce the frequency of scheduled CI triggers (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/352\"\u003eoptuna/optuna-examples#352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove the scheduled trigger for \u003ccode\u003eaim\u003c/code\u003e CI (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/353\"\u003eoptuna/optuna-examples#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd constraint to \u003ccode\u003etransformers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/355\"\u003eoptuna/optuna-examples#355\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eTests\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/689c62dbfc14f3476c51c14fda2e4f818ed2ee30\"\u003e\u003ccode\u003e689c62d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6509\"\u003e#6509\u003c/a\u003e from y0z/feature/bump-up-release480\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/9e2e0658ee6205c69993cf4204fabe6353249441\"\u003e\u003ccode\u003e9e2e065\u003c/code\u003e\u003c/a\u003e Bump up version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/54fe633c042be32f9a8c90b440e81c05406448d2\"\u003e\u003ccode\u003e54fe633\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6507\"\u003e#6507\u003c/a\u003e from sateeshkumarb/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/8efb8b4ffd749a95610e537a597ccaabde2e97db\"\u003e\u003ccode\u003e8efb8b4\u003c/code\u003e\u003c/a\u003e Move imports used for typecheck under TYPE_CHCKING\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/c0fcd2e4bba33783aa5e61e94be29dfc2cdcac0a\"\u003e\u003ccode\u003ec0fcd2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6506\"\u003e#6506\u003c/a\u003e from acabellom/fix-fstring-file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/087cc9d85e431df96ac54bec1de992fac9260e80\"\u003e\u003ccode\u003e087cc9d\u003c/code\u003e\u003c/a\u003e Replace .format() with f-strings in 002_configurations.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/274f5b906accb795569550164f418dd3f40338c2\"\u003e\u003ccode\u003e274f5b9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e from not522/fix-multivariate-constant_liar\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/ce882f6a4e1b0ecc328373cf989cbb16debdf1f6\"\u003e\u003ccode\u003ece882f6\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6265\"\u003e#6265\u003c/a\u003e from not522/relative-use-cache\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/f9e546d71f3fe515ee0df37ffe49d83f1f294c58\"\u003e\u003ccode\u003ef9e546d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e from aerosta/fix/pareto-front-warning-message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/535215b3890f10b0cd96e6a22aaad58821769c3d\"\u003e\u003ccode\u003e535215b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6502\"\u003e#6502\u003c/a\u003e from nightcityblade/fix/issue-6029-patient-pruner\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/optuna/optuna/compare/v3.6.2...v4.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e","html_url":"https://github.com/percy-raskova/babylon/pull/124","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/percy-raskova%2Fbabylon/issues/124","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/124/packages"}},{"old_version":"4.7.0","new_version":"4.8.0","update_type":"minor","path":null,"pr_created_at":"2026-05-03T11:17:28.000Z","version_change":"4.7.0 → 4.8.0","issue":{"uuid":"4371603012","node_id":"PR_kwDOROagjc7Xwytt","number":7,"state":"closed","title":"Chore(deps): Bump the python-dependencies group across 1 directory with 72 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-10T11:07:16.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-03T11:17:28.000Z","updated_at":"2026-05-10T11:07:18.000Z","time_to_close":604188,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Chore(deps): Bump","group_name":"python-dependencies","update_count":72,"packages":[{"name":"altair","old_version":"6.0.0","new_version":"6.1.0","repository_url":"https://github.com/vega/altair"},{"name":"anyio","old_version":"4.12.1","new_version":"4.13.0","repository_url":"https://github.com/agronholm/anyio"},{"name":"async-lru","old_version":"2.1.0","new_version":"2.3.0","repository_url":"https://github.com/aio-libs/async-lru"},{"name":"attrs","old_version":"25.4.0","new_version":"26.1.0","repository_url":"https://github.com/python-attrs/attrs"},{"name":"cachetools","old_version":"6.2.6","new_version":"7.1.0","repository_url":"https://github.com/tkem/cachetools"},{"name":"certifi","old_version":"2026.1.4","new_version":"2026.4.22","repository_url":"https://github.com/certifi/python-certifi"},{"name":"charset-normalizer","old_version":"3.4.4","new_version":"3.4.7","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"click","old_version":"8.3.1","new_version":"8.3.3","repository_url":"https://github.com/pallets/click"},{"name":"cryptography","old_version":"46.0.7","new_version":"47.0.0","repository_url":"https://github.com/pyca/cryptography"},{"name":"filelock","old_version":"3.28.0","new_version":"3.29.0","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"fonttools","old_version":"4.61.1","new_version":"4.62.1","repository_url":"https://github.com/fonttools/fonttools"},{"name":"gitpython","old_version":"3.1.46","new_version":"3.1.49","repository_url":"https://github.com/gitpython-developers/GitPython"},{"name":"groq","old_version":"0.37.1","new_version":"1.2.0","repository_url":"https://github.com/groq/groq-python"},{"name":"idna","old_version":"3.11","new_version":"3.13","repository_url":"https://github.com/kjd/idna"},{"name":"ipython","old_version":"9.10.0","new_version":"9.13.0","repository_url":"https://github.com/ipython/ipython"},{"name":"jedi","old_version":"0.19.2","new_version":"0.20.0","repository_url":"https://github.com/davidhalter/jedi"},{"name":"json5","old_version":"0.13.0","new_version":"0.14.0","repository_url":"https://github.com/dpranke/pyjson5"},{"name":"jsonpointer","old_version":"3.0.0","new_version":"3.1.1","repository_url":"https://github.com/stefankoegl/python-json-pointer"},{"name":"jupyter-events","old_version":"0.12.0","new_version":"0.12.1","repository_url":"https://github.com/jupyter/jupyter_events"},{"name":"jupyter-lsp","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/jupyter-lsp/jupyterlab-lsp"},{"name":"jupyterlab","old_version":"4.5.4","new_version":"4.5.7","repository_url":"https://github.com/jupyterlab/jupyterlab"},{"name":"kiwisolver","old_version":"1.4.9","new_version":"1.5.0","repository_url":"https://github.com/nucleic/kiwi"},{"name":"langchain","old_version":"1.2.15","new_version":"1.2.17","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langchain-core","old_version":"1.3.0","new_version":"1.3.2","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langgraph","old_version":"1.1.8","new_version":"1.1.10","repository_url":"https://github.com/langchain-ai/langgraph"},{"name":"langgraph-checkpoint","old_version":"4.0.2","new_version":"4.0.3","repository_url":"https://github.com/langchain-ai/langgraph"},{"name":"langgraph-prebuilt","old_version":"1.0.10","new_version":"1.0.13","repository_url":"https://github.com/langchain-ai/langgraph"},{"name":"langsmith","old_version":"0.7.32","new_version":"0.8.0","repository_url":"https://github.com/langchain-ai/langsmith-sdk"},{"name":"llvmlite","old_version":"0.46.0b1","new_version":"0.47.0","repository_url":"https://github.com/numba/llvmlite"},{"name":"mako","old_version":"1.3.10","new_version":"1.3.12","repository_url":"https://github.com/sqlalchemy/mako"},{"name":"markupsafe","old_version":"2.1.5","new_version":"3.0.3","repository_url":"https://github.com/pallets/markupsafe"},{"name":"matplotlib","old_version":"3.10.8","new_version":"3.10.9","repository_url":"https://github.com/matplotlib/matplotlib"},{"name":"narwhals","old_version":"2.16.0","new_version":"2.20.0","repository_url":"https://github.com/narwhals-dev/narwhals"},{"name":"nbconvert","old_version":"7.17.0","new_version":"7.17.1","repository_url":"https://github.com/jupyter/nbconvert"},{"name":"notebook","old_version":"7.5.3","new_version":"7.5.6","repository_url":"https://github.com/jupyter/notebook"},{"name":"numba","old_version":"0.63.0b1","new_version":"0.65.1","repository_url":"https://github.com/numba/numba"},{"name":"numpy","old_version":"2.4.2","new_version":"2.4.4","repository_url":"https://github.com/numpy/numpy"},{"name":"optuna","old_version":"4.7.0","new_version":"4.8.0","repository_url":"https://github.com/optuna/optuna"},{"name":"packaging","old_version":"26.0","new_version":"26.2","repository_url":"https://github.com/pypa/packaging"},{"name":"pandas","old_version":"2.3.3","new_version":"3.0.2","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"parso","old_version":"0.8.6","new_version":"0.8.7","repository_url":"https://github.com/davidhalter/parso"},{"name":"pdfminer-six","old_version":"20251230","new_version":"20260107","repository_url":"https://github.com/pdfminer/pdfminer.six"},{"name":"pillow","old_version":"12.1.1","new_version":"12.2.0","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"platformdirs","old_version":"4.5.1","new_version":"4.9.6","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"plotly","old_version":"5.18.0","new_version":"6.7.0","repository_url":"https://github.com/plotly/plotly.py"},{"name":"pre-commit","old_version":"4.5.1","new_version":"4.6.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"prometheus-client","old_version":"0.24.1","new_version":"0.25.0","repository_url":"https://github.com/prometheus/client_python"},{"name":"protobuf","old_version":"6.33.5","new_version":"7.34.1","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"pyarrow","old_version":"23.0.0","new_version":"24.0.0","repository_url":"https://github.com/apache/arrow"},{"name":"pydantic","old_version":"2.13.2","new_version":"2.13.3","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pydantic-core","old_version":"2.46.2","new_version":"2.46.3","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pydeck","old_version":"0.9.1","new_version":"0.9.2","repository_url":"https://github.com/visgl/deck.gl"},{"name":"pygments","old_version":"2.19.2","new_version":"2.20.0","repository_url":"https://github.com/pygments/pygments"},{"name":"pypdfium2","old_version":"5.7.0","new_version":"5.7.1","repository_url":"https://github.com/pypdfium2-team/pypdfium2"},{"name":"python-json-logger","old_version":"4.0.0","new_version":"4.1.0","repository_url":"https://github.com/nhairs/python-json-logger"},{"name":"pytz","old_version":"2025.2","new_version":"2026.1.post1","repository_url":"https://github.com/stub42/pytz"},{"name":"requests","old_version":"2.32.5","new_version":"2.33.1","repository_url":"https://github.com/psf/requests"},{"name":"ruff","old_version":"0.15.11","new_version":"0.15.12","repository_url":"https://github.com/astral-sh/ruff"},{"name":"scipy","old_version":"1.17.0","new_version":"1.17.1","repository_url":"https://github.com/scipy/scipy"},{"name":"setuptools","old_version":"82.0.0","new_version":"82.0.1","repository_url":"https://github.com/pypa/setuptools"},{"name":"shap","old_version":"0.50.0","new_version":"0.51.0","repository_url":"https://github.com/shap/shap"},{"name":"smmap","old_version":"5.0.2","new_version":"5.0.3","repository_url":"https://github.com/gitpython-developers/smmap"},{"name":"sqlalchemy","old_version":"2.0.47","new_version":"2.0.49","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"streamlit","old_version":"1.54.0","new_version":"1.57.0","repository_url":"https://github.com/streamlit/streamlit"},{"name":"tinycss2","old_version":"1.4.0","new_version":"1.5.1","repository_url":"https://github.com/Kozea/tinycss2"},{"name":"tornado","old_version":"6.5.4","new_version":"6.5.5","repository_url":"https://github.com/tornadoweb/tornado"},{"name":"traitlets","old_version":"5.14","new_version":"5.14.3","repository_url":"https://github.com/ipython/traitlets"},{"name":"tzdata","old_version":"2025.3","new_version":"2026.2","repository_url":"https://github.com/python/tzdata"},{"name":"virtualenv","old_version":"21.2.4","new_version":"21.3.0","repository_url":"https://github.com/pypa/virtualenv"},{"name":"wcwidth","old_version":"0.6.0","new_version":"0.7.0","repository_url":"https://github.com/jquast/wcwidth"},{"name":"xgboost","old_version":"2.1.4","new_version":"3.2.0","repository_url":"https://github.com/dmlc/xgboost"},{"name":"xxhash","old_version":"3.6.0","new_version":"3.7.0","repository_url":"https://github.com/ifduyue/python-xxhash"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-dependencies group with 72 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [altair](https://github.com/vega/altair) | `6.0.0` | `6.1.0` |\n| [anyio](https://github.com/agronholm/anyio) | `4.12.1` | `4.13.0` |\n| [async-lru](https://github.com/aio-libs/async-lru) | `2.1.0` | `2.3.0` |\n| [attrs](https://github.com/python-attrs/attrs) | `25.4.0` | `26.1.0` |\n| [cachetools](https://github.com/tkem/cachetools) | `6.2.6` | `7.1.0` |\n| [certifi](https://github.com/certifi/python-certifi) | `2026.1.4` | `2026.4.22` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.4` | `3.4.7` |\n| [click](https://github.com/pallets/click) | `8.3.1` | `8.3.3` |\n| [cryptography](https://github.com/pyca/cryptography) | `46.0.7` | `47.0.0` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.28.0` | `3.29.0` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.61.1` | `4.62.1` |\n| [gitpython](https://github.com/gitpython-developers/GitPython) | `3.1.46` | `3.1.49` |\n| [groq](https://github.com/groq/groq-python) | `0.37.1` | `1.2.0` |\n| [idna](https://github.com/kjd/idna) | `3.11` | `3.13` |\n| [ipython](https://github.com/ipython/ipython) | `9.10.0` | `9.13.0` |\n| [jedi](https://github.com/davidhalter/jedi) | `0.19.2` | `0.20.0` |\n| [json5](https://github.com/dpranke/pyjson5) | `0.13.0` | `0.14.0` |\n| [jsonpointer](https://github.com/stefankoegl/python-json-pointer) | `3.0.0` | `3.1.1` |\n| [jupyter-events](https://github.com/jupyter/jupyter_events) | `0.12.0` | `0.12.1` |\n| [jupyter-lsp](https://github.com/jupyter-lsp/jupyterlab-lsp) | `2.3.0` | `2.3.1` |\n| [jupyterlab](https://github.com/jupyterlab/jupyterlab) | `4.5.4` | `4.5.7` |\n| [kiwisolver](https://github.com/nucleic/kiwi) | `1.4.9` | `1.5.0` |\n| [langchain](https://github.com/langchain-ai/langchain) | `1.2.15` | `1.2.17` |\n| [langchain-core](https://github.com/langchain-ai/langchain) | `1.3.0` | `1.3.2` |\n| [langgraph](https://github.com/langchain-ai/langgraph) | `1.1.8` | `1.1.10` |\n| [langgraph-checkpoint](https://github.com/langchain-ai/langgraph) | `4.0.2` | `4.0.3` |\n| [langgraph-prebuilt](https://github.com/langchain-ai/langgraph) | `1.0.10` | `1.0.13` |\n| [langsmith](https://github.com/langchain-ai/langsmith-sdk) | `0.7.32` | `0.8.0` |\n| [llvmlite](https://github.com/numba/llvmlite) | `0.46.0b1` | `0.47.0` |\n| [mako](https://github.com/sqlalchemy/mako) | `1.3.10` | `1.3.12` |\n| [markupsafe](https://github.com/pallets/markupsafe) | `2.1.5` | `3.0.3` |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.10.8` | `3.10.9` |\n| [narwhals](https://github.com/narwhals-dev/narwhals) | `2.16.0` | `2.20.0` |\n| [nbconvert](https://github.com/jupyter/nbconvert) | `7.17.0` | `7.17.1` |\n| [notebook](https://github.com/jupyter/notebook) | `7.5.3` | `7.5.6` |\n| [numba](https://github.com/numba/numba) | `0.63.0b1` | `0.65.1` |\n| [numpy](https://github.com/numpy/numpy) | `2.4.2` | `2.4.4` |\n| [optuna](https://github.com/optuna/optuna) | `4.7.0` | `4.8.0` |\n| [packaging](https://github.com/pypa/packaging) | `26.0` | `26.2` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.3` | `3.0.2` |\n| [parso](https://github.com/davidhalter/parso) | `0.8.6` | `0.8.7` |\n| [pdfminer-six](https://github.com/pdfminer/pdfminer.six) | `20251230` | `20260107` |\n| [pillow](https://github.com/python-pillow/Pillow) | `12.1.1` | `12.2.0` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.5.1` | `4.9.6` |\n| [plotly](https://github.com/plotly/plotly.py) | `5.18.0` | `6.7.0` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.5.1` | `4.6.0` |\n| [prometheus-client](https://github.com/prometheus/client_python) | `0.24.1` | `0.25.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `6.33.5` | `7.34.1` |\n| [pyarrow](https://github.com/apache/arrow) | `23.0.0` | `24.0.0` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.13.2` | `2.13.3` |\n| [pydantic-core](https://github.com/pydantic/pydantic) | `2.46.2` | `2.46.3` |\n| [pydeck](https://github.com/visgl/deck.gl) | `0.9.1` | `0.9.2` |\n| [pygments](https://github.com/pygments/pygments) | `2.19.2` | `2.20.0` |\n| [pypdfium2](https://github.com/pypdfium2-team/pypdfium2) | `5.7.0` | `5.7.1` |\n| [python-json-logger](https://github.com/nhairs/python-json-logger) | `4.0.0` | `4.1.0` |\n| [pytz](https://github.com/stub42/pytz) | `2025.2` | `2026.1.post1` |\n| [requests](https://github.com/psf/requests) | `2.32.5` | `2.33.1` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.11` | `0.15.12` |\n| [scipy](https://github.com/scipy/scipy) | `1.17.0` | `1.17.1` |\n| [setuptools](https://github.com/pypa/setuptools) | `82.0.0` | `82.0.1` |\n| [shap](https://github.com/shap/shap) | `0.50.0` | `0.51.0` |\n| [smmap](https://github.com/gitpython-developers/smmap) | `5.0.2` | `5.0.3` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.47` | `2.0.49` |\n| [streamlit](https://github.com/streamlit/streamlit) | `1.54.0` | `1.57.0` |\n| [tinycss2](https://github.com/Kozea/tinycss2) | `1.4.0` | `1.5.1` |\n| [tornado](https://github.com/tornadoweb/tornado) | `6.5.4` | `6.5.5` |\n| [traitlets](https://github.com/ipython/traitlets) | `5.14` | `5.14.3` |\n| [tzdata](https://github.com/python/tzdata) | `2025.3` | `2026.2` |\n| [virtualenv](https://github.com/pypa/virtualenv) | `21.2.4` | `21.3.0` |\n| [wcwidth](https://github.com/jquast/wcwidth) | `0.6.0` | `0.7.0` |\n| [xgboost](https://github.com/dmlc/xgboost) | `2.1.4` | `3.2.0` |\n| [xxhash](https://github.com/ifduyue/python-xxhash) | `3.6.0` | `3.7.0` |\n\n\nUpdates `altair` from 6.0.0 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vega/altair/releases\"\u003ealtair's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 6.1.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eThere are many exciting improvements in this release! Read on for details and a big thanks to everyone who contributed  :tada:\u003c/p\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: Update to Vega-Lite 6.4.1 by \u003ca href=\"https://github.com/joelostblom\"\u003e\u003ccode\u003e@​joelostblom\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/4005\"\u003evega/altair#4005\u003c/a\u003e. See \u003ca href=\"https://github.com/vega/vega-lite/releases\"\u003ethe Vega-Lite Release Notes\u003c/a\u003e for details; a few highlights:\n\u003cul\u003e\n\u003cli\u003eNewlines are now supported in tooltips.\u003c/li\u003e\n\u003cli\u003eThe default stack order of marks like bars and areas is now aligned with the color domain.\u003c/li\u003e\n\u003cli\u003eInteractive charts automatically change the cursor to pointer to indicate they can be interacted with.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003efeat: auto hoist facet encodings in layer by \u003ca href=\"https://github.com/thomascamminady\"\u003e\u003ccode\u003e@​thomascamminady\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3965\"\u003evega/altair#3965\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eThis allows layering of simple faceted charts that define the same facet variables, instead of requiring that layering happens before faceting.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003efeat: Accept ZoneInfo(key='UTC') by \u003ca href=\"https://github.com/JackKelly\"\u003e\u003ccode\u003e@​JackKelly\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3944\"\u003evega/altair#3944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add pandas 3 compatibility and fix CI (drop Python 3.9, pin polars \u0026lt;1.38) by \u003ca href=\"https://github.com/mattijn\"\u003e\u003ccode\u003e@​mattijn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3950\"\u003evega/altair#3950\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add ensure_ascii option to to_json() with default False by \u003ca href=\"https://github.com/RamiNoodle733\"\u003e\u003ccode\u003e@​RamiNoodle733\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3952\"\u003evega/altair#3952\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: unique view names per concat cell and correct param.views by \u003ca href=\"https://github.com/mattijn\"\u003e\u003ccode\u003e@​mattijn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3974\"\u003evega/altair#3974\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Compute unique hashes for identical specs that use different data by \u003ca href=\"https://github.com/joelostblom\"\u003e\u003ccode\u003e@​joelostblom\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3982\"\u003evega/altair#3982\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: preserve polars datetime timezones during serialization by \u003ca href=\"https://github.com/kjgoodrick\"\u003e\u003ccode\u003e@​kjgoodrick\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3922\"\u003evega/altair#3922\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: type issues with Chart save methods. by \u003ca href=\"https://github.com/alec-bike\"\u003e\u003ccode\u003e@​alec-bike\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3934\"\u003evega/altair#3934\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: type issues with Chart mark methods. by \u003ca href=\"https://github.com/alec-bike\"\u003e\u003ccode\u003e@​alec-bike\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3936\"\u003evega/altair#3936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: improve api.py typing by \u003ca href=\"https://github.com/alec-bike\"\u003e\u003ccode\u003e@​alec-bike\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3955\"\u003evega/altair#3955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: typing issues for mypy 1.18 and above. by \u003ca href=\"https://github.com/alec-bike\"\u003e\u003ccode\u003e@​alec-bike\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3966\"\u003evega/altair#3966\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: Highlight new examples in the gallery by \u003ca href=\"https://github.com/joelostblom\"\u003e\u003ccode\u003e@​joelostblom\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3999\"\u003evega/altair#3999\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eIt's now easier to find which examples have been \u003ca href=\"https://altair-viz.github.io/gallery/index.html\"\u003erecently added to the Altair gallery\u003c/a\u003e and the page looks more visually appealing overall.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003edocs: add WASM / Pyodide installation instructions by \u003ca href=\"https://github.com/ArnavTomar18\"\u003e\u003ccode\u003e@​ArnavTomar18\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3932\"\u003evega/altair#3932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Correct some grammar issues by \u003ca href=\"https://github.com/star1327p\"\u003e\u003ccode\u003e@​star1327p\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3942\"\u003evega/altair#3942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add identity line (x=y diagonal) example to rule mark docs by \u003ca href=\"https://github.com/stbiadmin\"\u003e\u003ccode\u003e@​stbiadmin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3969\"\u003evega/altair#3969\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Correct tooltip field for faceted choropleth example by \u003ca href=\"https://github.com/Sparlitu\"\u003e\u003ccode\u003e@​Sparlitu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3920\"\u003evega/altair#3920\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: wrong tooltip variable id -\u0026gt; county_id by \u003ca href=\"https://github.com/thomascamminady\"\u003e\u003ccode\u003e@​thomascamminady\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3924\"\u003evega/altair#3924\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: a HConcatChart -\u0026gt; an HConcatChart by \u003ca href=\"https://github.com/star1327p\"\u003e\u003ccode\u003e@​star1327p\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3917\"\u003evega/altair#3917\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Substitute field strings correctly so that points in theme display chart show up by \u003ca href=\"https://github.com/joelostblom\"\u003e\u003ccode\u003e@​joelostblom\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3984\"\u003evega/altair#3984\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Change the lead size to fit on two rows by \u003ca href=\"https://github.com/joelostblom\"\u003e\u003ccode\u003e@​joelostblom\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3980\"\u003evega/altair#3980\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Make the first page title fit on one row by \u003ca href=\"https://github.com/joelostblom\"\u003e\u003ccode\u003e@​joelostblom\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3979\"\u003evega/altair#3979\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Fix broken density example by \u003ca href=\"https://github.com/joelostblom\"\u003e\u003ccode\u003e@​joelostblom\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3985\"\u003evega/altair#3985\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Simplify inline expr syntax by \u003ca href=\"https://github.com/joelostblom\"\u003e\u003ccode\u003e@​joelostblom\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3996\"\u003evega/altair#3996\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ebuild: Speed up doc build time for faster local development by \u003ca href=\"https://github.com/joelostblom\"\u003e\u003ccode\u003e@​joelostblom\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3997\"\u003evega/altair#3997\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: Add watch option to automatically rebuild docs upon detected changes by \u003ca href=\"https://github.com/joelostblom\"\u003e\u003ccode\u003e@​joelostblom\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3998\"\u003evega/altair#3998\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: Create docs CLI to facilitate different build combinations by \u003ca href=\"https://github.com/joelostblom\"\u003e\u003ccode\u003e@​joelostblom\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/4000\"\u003evega/altair#4000\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump dev version to 6.1.0dev by \u003ca href=\"https://github.com/mattijn\"\u003e\u003ccode\u003e@​mattijn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3913\"\u003evega/altair#3913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003estyle: Make chained chart methods work with type checkers other than pyright by \u003ca href=\"https://github.com/hamdanal\"\u003e\u003ccode\u003e@​hamdanal\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3933\"\u003evega/altair#3933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: bump actions/checkout from 5 to 6 in the github-actions group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vega/altair/pull/3928\"\u003evega/altair#3928\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump urllib3 from 2.5.0 to 2.6.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/vega/altair/pull/3939\"\u003evega/altair#3939\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/vega/altair/commit/af1450f413fd046da032857519bba536dad97910\"\u003e\u003ccode\u003eaf1450f\u003c/code\u003e\u003c/a\u003e chore: 🔧 Bump versions for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vega/altair/commit/af071276321b64a8ea66a773dbc60d659dd41fa1\"\u003e\u003ccode\u003eaf07127\u003c/code\u003e\u003c/a\u003e feat: Update to Vega-Lite 6.4.1 (\u003ca href=\"https://redirect.github.com/vega/altair/issues/4005\"\u003e#4005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vega/altair/commit/e093674705eebaab23887318e190b0cc0977cc21\"\u003e\u003ccode\u003ee093674\u003c/code\u003e\u003c/a\u003e harden prerelease workflow (\u003ca href=\"https://redirect.github.com/vega/altair/issues/4008\"\u003e#4008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vega/altair/commit/942dead2972aee5efde8f1488b06c0a8fba58b26\"\u003e\u003ccode\u003e942dead\u003c/code\u003e\u003c/a\u003e build(deps): bump uv from 0.10.4 to 0.11.6 (\u003ca href=\"https://redirect.github.com/vega/altair/issues/4004\"\u003e#4004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vega/altair/commit/127f79f7b456450729914950ec2a063c02699b9c\"\u003e\u003ccode\u003e127f79f\u003c/code\u003e\u003c/a\u003e docs: Highlight new examples in the gallery (\u003ca href=\"https://redirect.github.com/vega/altair/issues/3999\"\u003e#3999\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vega/altair/commit/59561f8fee41d0d1d872f9dba855cc36651c869e\"\u003e\u003ccode\u003e59561f8\u003c/code\u003e\u003c/a\u003e fix: Compute unique hashes for identical specs that use different data (\u003ca href=\"https://redirect.github.com/vega/altair/issues/3982\"\u003e#3982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vega/altair/commit/60a3fb7da35b5f4b9c715b85e6a81c0154df7cc9\"\u003e\u003ccode\u003e60a3fb7\u003c/code\u003e\u003c/a\u003e build(deps): bump tornado from 6.5.4 to 6.5.5 (\u003ca href=\"https://redirect.github.com/vega/altair/issues/3978\"\u003e#3978\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vega/altair/commit/33bc6379e7c0e38f92a04a84ed52d39c02fb3f38\"\u003e\u003ccode\u003e33bc637\u003c/code\u003e\u003c/a\u003e build(deps): bump cryptography from 46.0.6 to 46.0.7 (\u003ca href=\"https://redirect.github.com/vega/altair/issues/4003\"\u003e#4003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vega/altair/commit/88c446951eb48c13c8078a392f4d79e8b63453d2\"\u003e\u003ccode\u003e88c4469\u003c/code\u003e\u003c/a\u003e docs: Create docs CLI to facilitate different build combinations (\u003ca href=\"https://redirect.github.com/vega/altair/issues/4000\"\u003e#4000\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vega/altair/commit/a4a20ccc898c487fe80e3c7118bafb58872df113\"\u003e\u003ccode\u003ea4a20cc\u003c/code\u003e\u003c/a\u003e docs: Add watch option to automatically rebuild docs upon detected changes (#...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vega/altair/compare/v6.0.0...v6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `anyio` from 4.12.1 to 4.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/agronholm/anyio/releases\"\u003eanyio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ettl\u003c/code\u003e parameter to the \u003ccode\u003eanyio.functools.lru_cache\u003c/code\u003e wrapper (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1073\"\u003e#1073\u003c/a\u003e; PR by \u003ca href=\"https://github.com/Graeme22\"\u003e\u003ccode\u003e@​Graeme22\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWidened the type annotations of file I/O streams to accept \u003ccode\u003eIO[bytes]\u003c/code\u003e instead of just \u003ccode\u003eBinaryIO\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1078\"\u003e#1078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eanyio.Path\u003c/code\u003e not being compatible with Python 3.15 due to the removal of \u003ccode\u003epathlib.Path.is_reserved()\u003c/code\u003e and the addition of \u003ccode\u003epathlib.Path.__vfspath__()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1061\"\u003e#1061\u003c/a\u003e; PR by \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003eBrokenResourceError\u003c/code\u003e raised by the asyncio \u003ccode\u003eSocketStream\u003c/code\u003e not having the original exception as its cause (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1055\"\u003e#1055\u003c/a\u003e; PR by \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003eTypeError\u003c/code\u003e raised when using \u0026quot;func\u0026quot; as a parameter name in \u003ccode\u003epytest.mark.parametrize\u003c/code\u003e when using the pytest plugin (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1068\"\u003e#1068\u003c/a\u003e; PR by \u003ca href=\"https://github.com/JohnnyDeuss\"\u003e\u003ccode\u003e@​JohnnyDeuss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the pytest plugin not running tests that had the \u003ccode\u003eanyio\u003c/code\u003e marker added programmatically via \u003ccode\u003epytest_collection_modifyitems\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/422\"\u003e#422\u003c/a\u003e; PR by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed cancellation exceptions leaking from a \u003ccode\u003eCancelScope\u003c/code\u003e on asyncio when they are contained in an exception group alongside non-cancellation exceptions (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1091\"\u003e#1091\u003c/a\u003e; PR by \u003ca href=\"https://github.com/gschaffner\"\u003e\u003ccode\u003e@​gschaffner\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCondition.wait()\u003c/code\u003e not passing on a notification when the task is cancelled but already received a notification\u003c/li\u003e\n\u003cli\u003eFixed inverted condition in the process pool shutdown phase which would cause still-running pooled processes not to be terminated (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1074\"\u003e#1074\u003c/a\u003e; PR by \u003ca href=\"https://github.com/bysiber\"\u003e\u003ccode\u003e@​bysiber\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/afbe93ca9d0c447adf26e9c1715ac20870622bf2\"\u003e\u003ccode\u003eafbe93c\u003c/code\u003e\u003c/a\u003e Bumped up the version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/33bdf2e4b4f40c2df178123746147a6d2471808d\"\u003e\u003ccode\u003e33bdf2e\u003c/code\u003e\u003c/a\u003e Rearranged the changelog entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/19e09e25bc5a23dd78a577d8c3909dd377057c78\"\u003e\u003ccode\u003e19e09e2\u003c/code\u003e\u003c/a\u003e Fixed inverted condition in _forcibly_shutdown_process_pool_on_exit (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1074\"\u003e#1074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/9369d80b9e8292f2a892a9d5c73923c6a28aa08c\"\u003e\u003ccode\u003e9369d80\u003c/code\u003e\u003c/a\u003e Fixed Condition.wait() not handing over notification when cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/6f122abdc6f6b166c6b6ac27d36d55cdf8fa08e8\"\u003e\u003ccode\u003e6f122ab\u003c/code\u003e\u003c/a\u003e Fixed cancellation exceptions leaking from a \u003ccode\u003eCancelScope\u003c/code\u003e on asyncio when th...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/beaa45aff568a4020f2faf317321dd92f0e1f4a0\"\u003e\u003ccode\u003ebeaa45a\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1097\"\u003e#1097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/602f6606dcf3f37702686a4f3e161328c537b07f\"\u003e\u003ccode\u003e602f660\u003c/code\u003e\u003c/a\u003e Widened type annotations to accept IO[bytes] in file streams\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/b5dcd45170701a756ba634197398f05d4710cab3\"\u003e\u003ccode\u003eb5dcd45\u003c/code\u003e\u003c/a\u003e Added note about erasing the template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/d68670b3b4e0917d4caff2de082e03220f3e05a1\"\u003e\u003ccode\u003ed68670b\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1090\"\u003e#1090\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/fc17a22dd948e6a3d90d99908813f0010dfc3d2c\"\u003e\u003ccode\u003efc17a22\u003c/code\u003e\u003c/a\u003e tweak to_thread docs about abandon_on_cancel (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1088\"\u003e#1088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/agronholm/anyio/compare/4.12.1...4.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `async-lru` from 2.1.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aio-libs/async-lru/releases\"\u003easync-lru's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ecache_contains()\u003c/code\u003e for read-only key lookup.\u003c/li\u003e\n\u003cli\u003eChanged cross-loop cache access to auto-reset and rebind to the current event loop.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eAlruCacheLoopResetWarning\u003c/code\u003e when an auto-reset happens due to event loop change.\u003c/li\u003e\n\u003cli\u003eForwarded \u003ccode\u003ecache_close(wait=...)\u003c/code\u003e for bound methods.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.2.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ejitter\u003c/code\u003e parameter to randomise TTL.\u003c/li\u003e\n\u003cli\u003eRaise \u003ccode\u003eRuntimeError\u003c/code\u003e when cache is used by different loop.\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/aio-libs/async-lru/blob/master/CHANGES.rst\"\u003easync-lru's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.3.0 (2026-03-18)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ecache_contains()\u003c/code\u003e for read-only key lookup.\u003c/li\u003e\n\u003cli\u003eChanged cross-loop cache access to auto-reset and rebind to the current event loop.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eAlruCacheLoopResetWarning\u003c/code\u003e when an auto-reset happens due to event loop change.\u003c/li\u003e\n\u003cli\u003eForwarded \u003ccode\u003ecache_close(wait=...)\u003c/code\u003e for bound methods.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.2.0 (2026-02-20)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ejitter\u003c/code\u003e parameter to randomise TTL.\u003c/li\u003e\n\u003cli\u003eRaise \u003ccode\u003eRuntimeError\u003c/code\u003e when cache is used by different loop.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/async-lru/commit/cb9e034619167668af09c7be71a37e2d40a96995\"\u003e\u003ccode\u003ecb9e034\u003c/code\u003e\u003c/a\u003e Release v2.3.0 (\u003ca href=\"https://redirect.github.com/aio-libs/async-lru/issues/748\"\u003e#748\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/async-lru/commit/a2aa7b05ce9b773539f1c479341ac1c53f1fe9d0\"\u003e\u003ccode\u003ea2aa7b0\u003c/code\u003e\u003c/a\u003e build(deps): bump coverage from 7.13.4 to 7.13.5 (\u003ca href=\"https://redirect.github.com/aio-libs/async-lru/issues/747\"\u003e#747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/async-lru/commit/63760a481d44d5a2cc0d1325fc2ca233b664367a\"\u003e\u003ccode\u003e63760a4\u003c/code\u003e\u003c/a\u003e feat: add cache_contains() for read-only key lookup (\u003ca href=\"https://redirect.github.com/aio-libs/async-lru/issues/746\"\u003e#746\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/async-lru/commit/e2ddf7af72e2eb7382182dbdde7578142f0124be\"\u003e\u003ccode\u003ee2ddf7a\u003c/code\u003e\u003c/a\u003e Forward cache_close(wait=...) for bound methods (\u003ca href=\"https://redirect.github.com/aio-libs/async-lru/issues/745\"\u003e#745\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/async-lru/commit/33e1a7cec396bcf612f46226253775fd905b40eb\"\u003e\u003ccode\u003e33e1a7c\u003c/code\u003e\u003c/a\u003e Emit AlruCacheLoopResetWarning on event loop auto-reset (\u003ca href=\"https://redirect.github.com/aio-libs/async-lru/issues/744\"\u003e#744\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/async-lru/commit/fff4d49334839987946c74bfc02c05f79427e8b2\"\u003e\u003ccode\u003efff4d49\u003c/code\u003e\u003c/a\u003e feat: Allow \u003ccode\u003ealru_cache\u003c/code\u003e to automatically clear and rebind to the current eve...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/async-lru/commit/7ef00b766b35da224a5e652f344e3788663a6f5a\"\u003e\u003ccode\u003e7ef00b7\u003c/code\u003e\u003c/a\u003e Release v2.2.0 (\u003ca href=\"https://redirect.github.com/aio-libs/async-lru/issues/741\"\u003e#741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/async-lru/commit/01db639c22c8c18ad41a026dacf301722deb3a32\"\u003e\u003ccode\u003e01db639\u003c/code\u003e\u003c/a\u003e fix: avoid binding loop for invalid cache keys (\u003ca href=\"https://redirect.github.com/aio-libs/async-lru/issues/740\"\u003e#740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/async-lru/commit/c6acbe807f69324b66c6e3327d6ace5ecea02da4\"\u003e\u003ccode\u003ec6acbe8\u003c/code\u003e\u003c/a\u003e build(deps): bump pytest-codspeed from 4.2.0 to 4.3.0 (\u003ca href=\"https://redirect.github.com/aio-libs/async-lru/issues/738\"\u003e#738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/async-lru/commit/8783cf7a12ceef22eefd028bb6d7ad096a977b47\"\u003e\u003ccode\u003e8783cf7\u003c/code\u003e\u003c/a\u003e build(deps): bump coverage from 7.13.3 to 7.13.4 (\u003ca href=\"https://redirect.github.com/aio-libs/async-lru/issues/737\"\u003e#737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/aio-libs/async-lru/compare/v2.1.0...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `attrs` from 25.4.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/python-attrs/attrs/releases\"\u003eattrs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.1.0\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cp\u003eThe main outward change here only affects people using field transformers, but it should be a nice quality of life improvement!\u003c/p\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://kraken.tech\"\u003eKraken Tech\u003c/a\u003e (@\u003ca href=\"https://github.com/kraken-tech\"\u003ekraken-tech\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://ecosyste.ms\"\u003eEcosystems\u003c/a\u003e (@\u003ca href=\"https://github.com/ecosyste-ms\"\u003eecosyste-ms\u003c/a\u003e), \u003ca href=\"https://www.lambdatest.com\"\u003eTestMu AI Open Source Office (Formerly LambdaTest)\u003c/a\u003e (@\u003ca href=\"https://github.com/LambdaTest-Inc\"\u003eLambdaTest-Inc\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), \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://miketheman.dev\"\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://bmdphd.info/\"\u003eBrian M. Dennis\u003c/a\u003e (@\u003ca href=\"https://github.com/crossjam\"\u003ecrossjam\u003c/a\u003e), Celebrity News AG (@\u003ca href=\"https://github.com/celebritynewsag\"\u003ecelebritynewsag\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\u003ch3\u003eBackwards-incompatible Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eField aliases are now resolved \u003cem\u003ebefore\u003c/em\u003e calling \u003ccode\u003efield_transformer\u003c/code\u003e, so transformers receive fully populated \u003ccode\u003eAttribute\u003c/code\u003e objects with usable \u003ccode\u003ealias\u003c/code\u003e values instead of \u003ccode\u003eNone\u003c/code\u003e. The new \u003ccode\u003eAttribute.alias_is_default\u003c/code\u003e flag indicates whether the alias was auto-generated (\u003ccode\u003eTrue\u003c/code\u003e) or explicitly set by the user (\u003ccode\u003eFalse\u003c/code\u003e). \u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1509\"\u003e#1509\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix type annotations for \u003ccode\u003eattrs.validators.optional()\u003c/code\u003e, so it no longer rejects tuples with more than one validator. \u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003eattrs.validators.disabled()\u003c/code\u003e contextmanager can now be nested. \u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1513\"\u003e#1513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFrozen classes can set \u003ccode\u003eon_setattr=attrs.setters.NO_OP\u003c/code\u003e in addition to \u003ccode\u003eNone\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIt's now possible to pass \u003cem\u003eattrs\u003c/em\u003e \u003cstrong\u003einstances\u003c/strong\u003e in addition to \u003cem\u003eattrs\u003c/em\u003e \u003cstrong\u003eclasses\u003c/strong\u003e to \u003ccode\u003eattrs.fields()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1529\"\u003e#1529\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eThis release contains contributions from \u003ca href=\"https://github.com/bysiber\"\u003e\u003ccode\u003e@​bysiber\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/DavidCEllis\"\u003e\u003ccode\u003e@​DavidCEllis\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/finite-state-machine\"\u003e\u003ccode\u003e@​finite-state-machine\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/hynek\"\u003e\u003ccode\u003e@​hynek\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/vstinner\"\u003e\u003ccode\u003e@​vstinner\u003c/code\u003e\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eArtifact Attestations\u003c/h2\u003e\n\u003cp\u003eYou can verify this release's \u003ca href=\"https://docs.github.com/en/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds\"\u003eartifact attestions\u003c/a\u003e using \u003ca href=\"https://cli.github.com\"\u003eGitHub's CLI tool\u003c/a\u003e by downloading the sdist and wheel from \u003ca href=\"https://pypi.org/project/attrs\"\u003ePyPI\u003c/a\u003e and running:\u003c/p\u003e\n\u003cpre lang=\"console\"\u003e\u003ccode\u003e$ gh attestation verify --owner python-attrs attrs-26.1.0.tar.gz\r\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/python-attrs/attrs/blob/main/CHANGELOG.md\"\u003eattrs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/python-attrs/attrs/tree/26.1.0\"\u003e26.1.0\u003c/a\u003e - 2026-03-19\u003c/h2\u003e\n\u003ch3\u003eBackwards-incompatible Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eField aliases are now resolved \u003cem\u003ebefore\u003c/em\u003e calling \u003ccode\u003efield_transformer\u003c/code\u003e, so transformers receive fully populated \u003ccode\u003eAttribute\u003c/code\u003e objects with usable \u003ccode\u003ealias\u003c/code\u003e values instead of \u003ccode\u003eNone\u003c/code\u003e.\nThe new \u003ccode\u003eAttribute.alias_is_default\u003c/code\u003e flag indicates whether the alias was auto-generated (\u003ccode\u003eTrue\u003c/code\u003e) or explicitly set by the user (\u003ccode\u003eFalse\u003c/code\u003e).\n\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1509\"\u003e#1509\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix type annotations for \u003ccode\u003eattrs.validators.optional()\u003c/code\u003e, so it no longer rejects tuples with more than one validator.\n\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1496\"\u003e#1496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003eattrs.validators.disabled()\u003c/code\u003e contextmanager can now be nested.\n\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1513\"\u003e#1513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFrozen classes can set \u003ccode\u003eon_setattr=attrs.setters.NO_OP\u003c/code\u003e in addition to \u003ccode\u003eNone\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1515\"\u003e#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIt's now possible to pass \u003cem\u003eattrs\u003c/em\u003e \u003cstrong\u003einstances\u003c/strong\u003e in addition to \u003cem\u003eattrs\u003c/em\u003e \u003cstrong\u003eclasses\u003c/strong\u003e to \u003ccode\u003eattrs.fields()\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1529\"\u003e#1529\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-attrs/attrs/commit/7bfc49e9b22d5ba25b6e429524c3d49fee27cb36\"\u003e\u003ccode\u003e7bfc49e\u003c/code\u003e\u003c/a\u003e Prepare 26.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-attrs/attrs/commit/31e02869da10824b492c378c1dc87ccc720ee5ad\"\u003e\u003ccode\u003e31e0286\u003c/code\u003e\u003c/a\u003e Update test_validators.py for Python 3.15a7 (\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1530\"\u003e#1530\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-attrs/attrs/commit/48b8611c27779811d161200e17de8da24aae7feb\"\u003e\u003ccode\u003e48b8611\u003c/code\u003e\u003c/a\u003e Add instance support to attrs.fields() (\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1529\"\u003e#1529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-attrs/attrs/commit/3a68d4913221abc6f8ad3be50937f7ae49300a98\"\u003e\u003ccode\u003e3a68d49\u003c/code\u003e\u003c/a\u003e dev: document missing git tags failure mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-attrs/attrs/commit/a572c3a4c558a8b9b48cf989fcd956ab1a279439\"\u003e\u003ccode\u003ea572c3a\u003c/code\u003e\u003c/a\u003e Allow field(on_setattr=NO_OP) on frozen classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-attrs/attrs/commit/af9c510912ce604a94896cc35c27368d5baf6ae6\"\u003e\u003ccode\u003eaf9c510\u003c/code\u003e\u003c/a\u003e Fix validators.disabled() to save/restore state on nesting (\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1513\"\u003e#1513\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-attrs/attrs/commit/ab7f8b2f4c0f747d5b1575247ce35e5adaad182e\"\u003e\u003ccode\u003eab7f8b2\u003c/code\u003e\u003c/a\u003e update dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-attrs/attrs/commit/ce89f5d11feb0805da9ed10bb165238cc959f1bb\"\u003e\u003ccode\u003ece89f5d\u003c/code\u003e\u003c/a\u003e Fix message passing in frozen errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-attrs/attrs/commit/eccd966d80aff5196efc959316961cfa780439f9\"\u003e\u003ccode\u003eeccd966\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eoptional\u003c/code\u003e validator to accept tuples of len \u0026gt; 1 (\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1496\"\u003e#1496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-attrs/attrs/commit/e92fe52dfe1eb07167e6473724c5a8ada978add0\"\u003e\u003ccode\u003ee92fe52\u003c/code\u003e\u003c/a\u003e policies: tighten screws (\u003ca href=\"https://redirect.github.com/python-attrs/attrs/issues/1528\"\u003e#1528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-attrs/attrs/compare/25.4.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 `cachetools` from 6.2.6 to 7.1.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tkem/cachetools/blob/master/CHANGELOG.rst\"\u003ecachetools's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev7.1.0 (2026-05-01)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type stubs based on the work of the good people at \u003ccode\u003etypeshed \u0026lt;https://github.com/python/typeshed/tree/main/stubs/cachetools/\u0026gt;\u003c/code\u003e__.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate unit tests.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev7.0.6 (2026-04-20)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMinor code improvements.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate project URLs.\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\u003ch1\u003ev7.0.5 (2026-03-09)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eMinor \u003ccode\u003e@cachedmethod\u003c/code\u003e performance improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev7.0.4 (2026-03-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix and properly document \u003ccode\u003e@cachedmethod.cache_key\u003c/code\u003e behavior.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMinor documentation improvements.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev7.0.3 (2026-03-05)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eDeprecationWarning\u003c/code\u003e when creating an autospec mock with\n\u003ccode\u003e@cachedmethod\u003c/code\u003e decorations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev7.0.2 (2026-03-02)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eProvide more efficient \u003ccode\u003eclear()\u003c/code\u003e implementation for all support\nCache classes (courtesy Josep Pon Farreny).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev7.0.1 (2026-02-10)\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/1ea3422e058ef8b6b7dc15beb9d44d8f7c195a62\"\u003e\u003ccode\u003e1ea3422\u003c/code\u003e\u003c/a\u003e Bump release date.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/d9874465a6ab6f9d1d56cef91370f9c237a7eca6\"\u003e\u003ccode\u003ed987446\u003c/code\u003e\u003c/a\u003e Release v7.1.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/3d79e80a4a54892d1552cd17da8e27920c1918d8\"\u003e\u003ccode\u003e3d79e80\u003c/code\u003e\u003c/a\u003e Update Copilot Instructions.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/83fe6bc78d0155a0036dda8a8eb1a2ddb8f26c60\"\u003e\u003ccode\u003e83fe6bc\u003c/code\u003e\u003c/a\u003e Add tox pyright check.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/bd3fbc49212eb948e08e9c478e5901f1293fd1f4\"\u003e\u003ccode\u003ebd3fbc4\u003c/code\u003e\u003c/a\u003e Improve typing support.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/09dd6fec4b1b2339451ab26d1ca3c7a049b8c38c\"\u003e\u003ccode\u003e09dd6fe\u003c/code\u003e\u003c/a\u003e Improve original type stubs from typeshed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/873c7013ea92b16f2f24a6001e625fabfdf951a5\"\u003e\u003ccode\u003e873c701\u003c/code\u003e\u003c/a\u003e Add typeshed typings.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/28d4506f2a49d781ffbcecb095fa7aba5bb80aff\"\u003e\u003ccode\u003e28d4506\u003c/code\u003e\u003c/a\u003e Release v7.0.6.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/51921a4812b3304be9625ed004f024935a8036af\"\u003e\u003ccode\u003e51921a4\u003c/code\u003e\u003c/a\u003e Remove _TimedCache default timer to simplify type stubs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tkem/cachetools/commit/a4249f6aa3b4cb2fe287b08631c308bb88b9396c\"\u003e\u003ccode\u003ea4249f6\u003c/code\u003e\u003c/a\u003e Bump codecov/codecov-action from 5.5.2 to 6.0.0 (\u003ca href=\"https://redirect.github.com/tkem/cachetools/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tkem/cachetools/compare/v6.2.6...v7.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `certifi` from 2026.1.4 to 2026.4.22\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/5dddfb072243da27adde885b73ba9b809c3224ca\"\u003e\u003ccode\u003e5dddfb0\u003c/code\u003e\u003c/a\u003e 2026.04.22 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/410\"\u003e#410\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/f99eccdaf87f7c10e521a58a700ca3eb94a0787e\"\u003e\u003ccode\u003ef99eccd\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 8.1.0 to 8.1.1 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/404\"\u003e#404\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/918bed055f7291719512af186c1c24710f845660\"\u003e\u003ccode\u003e918bed0\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 7.0.0 to 7.0.1 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/405\"\u003e#405\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/0a49067eb434e53e1f8df5f7707d5dc05ef9def4\"\u003e\u003ccode\u003e0a49067\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish from 1.13.0 to 1.14.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/403\"\u003e#403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/acf6ce8e39e3b125f4349e11904295e4fe4c1bed\"\u003e\u003ccode\u003eacf6ce8\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 8.0.0 to 8.0.1 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/398\"\u003e#398\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/feb0ed26163a9417ea0fb8eb52d47e79fcf202ab\"\u003e\u003ccode\u003efeb0ed2\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 7.0.0 to 8.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/397\"\u003e#397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/d9c11a50369cc377abb40f7909ded3d6da4d98a3\"\u003e\u003ccode\u003ed9c11a5\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 6.0.0 to 7.0.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/396\"\u003e#396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/8571a4ba5205675107f9026d0008ad2d7a2778bf\"\u003e\u003ccode\u003e8571a4b\u003c/code\u003e\u003c/a\u003e 2026.02.25 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/6f7de00579d292af565bbb8a947643219794eb6d\"\u003e\u003ccode\u003e6f7de00\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 8.0.0 to 8.1.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/390\"\u003e#390\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/a1de59b15105cad768afed4f066b36171134f04a\"\u003e\u003ccode\u003ea1de59b\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.1 to 6.0.2 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2026.01.04...2026.04.22\"\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.4 to 3.4.7\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.7\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.6...3.4.7\"\u003e3.4.7\u003c/a\u003e (2026-04-02)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePre-built optimized version using mypy[c] v1.20.\u003c/li\u003e\n\u003cli\u003eRelax \u003ccode\u003esetuptools\u003c/code\u003e constraint to \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;82.1\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCorrectly remove SIG remnant in utf-7 decoded string. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/718\"\u003e#718\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/716\"\u003e#716\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.4.6\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.5...3.4.6\"\u003e3.4.6\u003c/a\u003e (2026-03-15)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFlattened the logic in \u003ccode\u003echarset_normalizer.md\u003c/code\u003e for higher performance. Removed \u003ccode\u003eeligible(..)\u003c/code\u003e and \u003ccode\u003efeed(...)\u003c/code\u003e\nin favor of \u003ccode\u003efeed_info(...)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound for mypy[c] to 1.20, for our optimized version.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eUNICODE_RANGES_COMBINED\u003c/code\u003e using Unicode blocks v17.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEdge case where noise difference between two candidates can be almost insignificant. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/672\"\u003e#672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCLI \u003ccode\u003e--normalize\u003c/code\u003e writing to wrong path when passing multiple files in. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/702\"\u003e#702\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFreethreaded pre-built wheels now shipped in PyPI starting with 3.14t. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/616\"\u003e#616\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.4.5\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.4...3.4.5\"\u003e3.4.5\u003c/a\u003e (2026-03-06)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003esetuptools\u003c/code\u003e constraint to \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;=82\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound of mypyc for the optional pre-built extension to v1.19.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd explicit link to lib math in our optimized build. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/692\"\u003e#692\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLogger level not restored correctly for empty byte sequences. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/701\"\u003e#701\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTypeError when passing bytearray to from_bytes. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/703\"\u003e#703\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eApplied safe micro-optimizations in both our noise detector and language detector.\u003c/li\u003e\n\u003cli\u003eRewrote the \u003ccode\u003equery_yes_no\u003c/code\u003e function (inside CLI) to avoid using ambiguous licensed code.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecd.py\u003c/code\u003e submodule into mypyc optional compilation to reduce further the performance impact.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\u003cbr /\u003e\nmypyc changed the usual binary output for the optimized wheel. Beware, especially if using PyInstaller or alike. See \u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/714\"\u003ejawah/charset_normalizer#714\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/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.6...3.4.7\"\u003e3.4.7\u003c/a\u003e (2026-04-02)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePre-built optimized version using mypy[c] v1.20.\u003c/li\u003e\n\u003cli\u003eRelax \u003ccode\u003esetuptools\u003c/code\u003e constraint to \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;82.1\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCorrectly remove SIG remnant in utf-7 decoded string. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/718\"\u003e#718\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/716\"\u003e#716\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.5...3.4.6\"\u003e3.4.6\u003c/a\u003e (2026-03-15)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFlattened the logic in \u003ccode\u003echarset_normalizer.md\u003c/code\u003e for higher performance. Removed \u003ccode\u003eeligible(..)\u003c/code\u003e and \u003ccode\u003efeed(...)\u003c/code\u003e\nin favor of \u003ccode\u003efeed_info(...)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound for mypy[c] to 1.20, for our optimized version.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eUNICODE_RANGES_COMBINED\u003c/code\u003e using Unicode blocks v17.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEdge case where noise difference between two candidates can be almost insignificant. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/672\"\u003e#672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCLI \u003ccode\u003e--normalize\u003c/code\u003e writing to wrong path when passing multiple files in. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/702\"\u003e#702\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFreethreaded pre-built wheels now shipped in PyPI starting with 3.14t. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/616\"\u003e#616\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.4...3.4.5\"\u003e3.4.5\u003c/a\u003e (2026-03-06)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003esetuptools\u003c/code\u003e constraint to \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;=82\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound of mypyc for the optional pre-built extension to v1.19.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd explicit link to lib math in our optimized build. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/692\"\u003e#692\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLogger level not restored correctly for empty byte sequences. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/701\"\u003e#701\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTypeError when passing bytearray to from_bytes. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/703\"\u003e#703\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eApplied safe micro-optimizations in both our noise detector and language detector.\u003c/li\u003e\n\u003cli\u003eRewrote the \u003ccode\u003equery_yes_no\u003c/code\u003e function (inside CLI) to avoid using ambiguous licensed code.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecd.py\u003c/code\u003e submodule into mypyc optional compilation to reduce further the performance impact.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/0f07891bf516b5d5231f1bd4dd2d8da7d4d09a9a\"\u003e\u003ccode\u003e0f07891\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/729\"\u003e#729\u003c/a\u003e from jawah/release-3.4.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/fdbeb299479e8f4d737e4d227cd0b2bd5d273dc0\"\u003e\u003ccode\u003efdbeb29\u003c/code\u003e\u003c/a\u003e chore: update dev, and ci requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/b66f922bfbdbdd9dd46af18a8964d4fb888756d4\"\u003e\u003ccode\u003eb66f922\u003c/code\u003e\u003c/a\u003e chore: add ft classifier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/f94249d0a2c712f2d03124f4de6b77f5e03aaa96\"\u003e\u003ccode\u003ef94249d\u003c/code\u003e\u003c/a\u003e chore: add test cases for utf_7 recent fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/95c866f6c984bbd043e7e3ed0628aa4f3f8d5a26\"\u003e\u003ccode\u003e95c866f\u003c/code\u003e\u003c/a\u003e chore: bump version to 3.4.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/4f429bb764c7e893f99bb4bceb60856da1baacfb\"\u003e\u003ccode\u003e4f429bb\u003c/code\u003e\u003c/a\u003e chore: bump mypy pre-commit to v1.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/b579cd6cab9bd83aa3fc0ca169d4df022bf4888c\"\u003e\u003ccode\u003eb579cd6\u003c/code\u003e\u003c/a\u003e fix: correctly remove SIG remnant in utf-7 decoded string\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/58bf944a77cc0883fc46a6ee8edac3549fea5d59\"\u003e\u003ccode\u003e58bf944\u003c/code\u003e\u003c/a\u003e :arrow_up: Bump github/codeql-action from 4.32.4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/728\"\u003e#728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/44cf8a1b676a2532a8f1694e62e4f4f98f9132e1\"\u003e\u003ccode\u003e44cf8a1\u003c/code\u003e\u003c/a\u003e :arrow_up: Bump actions/download-artifact from 8.0.0 to 8.0.1 (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/726\"\u003e#726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jawah/charset_normalizer/commit/362bc20073f737b1ba4ca2f68cffb0c4cc024d20\"\u003e\u003ccode\u003e362bc20\u003c/code\u003e\u003c/a\u003e :arrow_up: Bump docker/setup-qemu-action from 3.7.0 to 4.0.0 (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/725\"\u003e#725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jawah/charset_normalizer/compare/3.4.4...3.4.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `click` from 8.3.1 to 8.3.3\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.3\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.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/click/8.3.3/\"\u003ehttps://pypi.org/project/click/8.3.3/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-3\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-3\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/30\"\u003ehttps://github.com/pallets/click/milestone/30\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse :func:\u003ccode\u003eshlex.split\u003c/code\u003e to split pager and editor commands into \u003ccode\u003eargv\u003c/code\u003e\nlists for :class:\u003ccode\u003esubprocess.Popen\u003c/code\u003e, removing \u003ccode\u003eshell=True\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/1026\"\u003e#1026\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/1477\"\u003e#1477\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2775\"\u003e#2775\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTypeError\u003c/code\u003e when rendering help for an option whose default value is\nan object that doesn't support equality comparison with strings, such as\n\u003ccode\u003esemver.Version\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3298\"\u003e#3298\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3299\"\u003e#3299\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix pager test pollution under parallel execution by using pytest's\n\u003ccode\u003etmp_path\u003c/code\u003e fixture instead of a shared temporary file path. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3238\"\u003e#3238\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values in a \u003ccode\u003edefault_map\u003c/code\u003e as absent, so they fall\nthrough to the next default source instead of being used as the value.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3224\"\u003e#3224\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3240\"\u003e#3240\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch \u003ccode\u003epdb.Pdb\u003c/code\u003e in \u003ccode\u003eCliRunner\u003c/code\u003e isolation so \u003ccode\u003epdb.set_trace()\u003c/code\u003e,\n\u003ccode\u003ebreakpoint()\u003c/code\u003e, and debuggers subclassing \u003ccode\u003epdb.Pdb\u003c/code\u003e (ipdb, pdbpp) can\ninteract with the real terminal instead of the captured I/O streams.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/654\"\u003e#654\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/824\"\u003e#824\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/843\"\u003e#843\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/951\"\u003e#951\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3235\"\u003e#3235\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd optional randomized parallel test execution using \u003ccode\u003epytest-randomly\u003c/code\u003e and\n\u003ccode\u003epytest-xdist\u003c/code\u003e to detect test pollution and race conditions. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3151\"\u003e#3151\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd contributor documentation for running stress tests, randomized\nparallel tests, and Flask smoke tests. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3151\"\u003e#3151\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3177\"\u003e#3177\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShow custom \u003ccode\u003eshow_default\u003c/code\u003e string in prompts, matching the existing\nhelp text behavior. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2836\"\u003e#2836\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/2837\"\u003e#2837\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3165\"\u003e#3165\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3262\"\u003e#3262\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3280\"\u003e#3280\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/3328\"\u003e#3328\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003edefault=True\u003c/code\u003e with boolean \u003ccode\u003eflag_value\u003c/code\u003e always returning the\n\u003ccode\u003eflag_value\u003c/code\u003e instead of \u003ccode\u003eTrue\u003c/code\u003e. The \u003ccode\u003edefault=True\u003c/code\u003e to \u003ccode\u003eflag_value\u003c/code\u003e\nsubstitution now only applies to non-boolean flags, where \u003ccode\u003eTrue\u003c/code\u003e acts as a\nsentinel meaning \u0026quot;activate this flag by default\u0026quot;. For boolean flags,\n\u003ccode\u003edefault=True\u003c/code\u003e is returned as a literal value. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3111\"\u003e#3111\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3239\"\u003e#3239\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark \u003ccode\u003emake_default_short_help\u003c/code\u003e as private API. \u003ca href=\"https://redirect.github.com/pallets/click/issues/3189\"\u003e#3189\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3250\"\u003e#3250\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCliRunner\u003c/code\u003e's redirected streams now expose the original file descriptor\nvia \u003ccode\u003efileno()\u003c/code\u003e, so that \u003ccode\u003efaulthandler\u003c/code\u003e, \u003ccode\u003esubprocess\u003c/code\u003e, and other\nC-level consumers no longer crash with \u003ccode\u003eio.UnsupportedOperation\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/pallets/click/issues/2865\"\u003e#2865\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange :class:\u003ccode\u003eParameterSource\u003c/code\u003e to an :class:\u003ccode\u003e~enum.IntEnum\u003c/code\u003e and reorder\nits members from most to least explicit, so values can be compared to\ncheck whether a parameter was explicitly provided. \u003ca href=\"https://redirect.github.com/pallets/click/issues/2879\"\u003e#2879\u003c/a\u003e \u003ca href=\"https://redirect.github.com/pallets/click/issues/3248\"\u003e#3248\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.3.2\u003c/h2\u003e\n\u003cp\u003eThis is the Click 8.3.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.3.2/\"\u003ehttps://pypi.org/project/click/8.3.2/\u003c/a\u003e\nChanges: \u003ca href=\"https://click.palletsprojects.com/page/changes/#version-8-3-2\"\u003ehttps://click.palletsprojects.com/page/changes/#version-8-3-2\u003c/a\u003e\nMilestone: \u003ca href=\"https://github.com/pallets/click/milestone/29\"\u003ehttps://github.com/pallets/click/milestone/29\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.3\u003c/h2\u003e\n\u003cp\u003eReleased 2026-04-20\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse :func:\u003ccode\u003eshlex.split\u003c/code\u003e to split pager and editor commands into \u003ccode\u003eargv\u003c/code\u003e\nlists for :class:\u003ccode\u003esubprocess.Popen\u003c/code\u003e, removing \u003ccode\u003eshell=True\u003c/code\u003e.\n:issue:\u003ccode\u003e1026\u003c/code\u003e :pr:\u003ccode\u003e1477\u003c/code\u003e :pr:\u003ccode\u003e2775\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTypeError\u003c/code\u003e when rendering help for an option whose default value is\nan object that doesn't support equality comparison with strings, such as\n\u003ccode\u003esemver.Version\u003c/code\u003e. :issue:\u003ccode\u003e3298\u003c/code\u003e :pr:\u003ccode\u003e3299\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix pager test pollution under parallel execution by using pytest's\n\u003ccode\u003etmp_path\u003c/code\u003e fixture instead of a shared temporary file path. :pr:\u003ccode\u003e3238\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values in a \u003ccode\u003edefault_map\u003c/code\u003e as absent, so they fall\nthrough to the next default source instead of being used as the value.\n:issue:\u003ccode\u003e3224\u003c/code\u003e :pr:\u003ccode\u003e3240\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ePatch \u003ccode\u003epdb.Pdb\u003c/code\u003e in \u003ccode\u003eCliRunner\u003c/code\u003e isolation so \u003ccode\u003epdb.set_trace()\u003c/code\u003e,\n\u003ccode\u003ebreakpoint()\u003c/code\u003e, and debuggers subclassing \u003ccode\u003epdb.Pdb\u003c/code\u003e (ipdb, pdbpp) can\ninteract with the real terminal instead of the captured I/O streams.\n:issue:\u003ccode\u003e654\u003c/code\u003e :issue:\u003ccode\u003e824\u003c/code\u003e :issue:\u003ccode\u003e843\u003c/code\u003e :pr:\u003ccode\u003e951\u003c/code\u003e :pr:\u003ccode\u003e3235\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd optional randomized parallel test execution using \u003ccode\u003epytest-randomly\u003c/code\u003e and\n\u003ccode\u003epytest-xdist\u003c/code\u003e to detect test pollution and race conditions. :pr:\u003ccode\u003e3151\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd contributor documentation for running stress tests, randomized\nparallel tests, and Flask smoke tests. :pr:\u003ccode\u003e3151\u003c/code\u003e :pr:\u003ccode\u003e3177\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eShow custom \u003ccode\u003eshow_default\u003c/code\u003e string in prompts, matching the existing\nhelp text behavior. :issue:\u003ccode\u003e2836\u003c/code\u003e :pr:\u003ccode\u003e2837\u003c/code\u003e :pr:\u003ccode\u003e3165\u003c/code\u003e :pr:\u003ccode\u003e3262\u003c/code\u003e :pr:\u003ccode\u003e3280\u003c/code\u003e\n:pr:\u003ccode\u003e3328\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003edefault=True\u003c/code\u003e with boolean \u003ccode\u003eflag_value\u003c/code\u003e always returning the\n\u003ccode\u003eflag_value\u003c/code\u003e instead of \u003ccode\u003eTrue\u003c/code\u003e. The \u003ccode\u003edefault=True\u003c/code\u003e to \u003ccode\u003eflag_value\u003c/code\u003e\nsubstitution now only applies to non-boolean flags, where \u003ccode\u003eTrue\u003c/code\u003e acts as a\nsentinel meaning \u0026quot;activate this flag by default\u0026quot;. For boolean flags,\n\u003ccode\u003edefault=True\u003c/code\u003e is returned as a literal value. :issue:\u003ccode\u003e3111\u003c/code\u003e :pr:\u003ccode\u003e3239\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMark \u003ccode\u003emake_default_short_help\u003c/code\u003e as private API. :issue:\u003ccode\u003e3189\u003c/code\u003e :pr:\u003ccode\u003e3250\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCliRunner\u003c/code\u003e's redirected streams now expose the original file descriptor\nvia \u003ccode\u003efileno()\u003c/code\u003e, so that \u003ccode\u003efaulthandler\u003c/code\u003e, \u003ccode\u003esubprocess\u003c/code\u003e, and other\nC-level consumers no longer crash with \u003ccode\u003eio.UnsupportedOperation\u003c/code\u003e.\n:issue:\u003ccode\u003e2865\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eChange :class:\u003ccode\u003eParameterSource\u003c/code\u003e to an :class:\u003ccode\u003e~enum.IntEnum\u003c/code\u003e and reorder\nits members from most to least explicit, so values can be compared to\ncheck whether a parameter was explicitly provided. :issue:\u003ccode\u003e2879\u003c/code\u003e :pr:\u003ccode\u003e3248\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 8.3.2\u003c/h2\u003e\n\u003cp\u003eReleased 2026-04-02\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix handling of \u003ccode\u003eflag_value\u003c/code\u003e when \u003ccode\u003eis_flag=False\u003c/code\u003e to allow such options to be\nused without an explicit value. :issue:\u003ccode\u003e3084\u003c/code\u003e :pr:\u003ccode\u003e3152\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003eSentinel.UNSET\u003c/code\u003e values as \u003ccode\u003eNone\u003c/code\u003e when using \u003ccode\u003elookup_default()\u003c/code\u003e.\n:issue:\u003ccode\u003e3136\u003c/code\u003e :pr:\u003ccode\u003e3199\u003c/code\u003e :pr:\u003ccode\u003e3202\u003c/code\u003e :pr:\u003ccode\u003e3209\u003c/code\u003e :pr:\u003ccode\u003e3212\u003c/code\u003e :pr:\u003ccode\u003e3224\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/pallets/click/commit/c06d2d0a6aee6bcc50bd8257be2a4a592f4e75d0\"\u003e\u003ccode\u003ec06d2d0\u003c/code\u003e\u003c/a\u003e Release 8.3.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/f1f191ecd2c790b161187c78e7c88440e9524e5c\"\u003e\u003ccode\u003ef1f191e\u003c/code\u003e\u003c/a\u003e Apply format guidelines to commits since latest 8.3.2 release (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3343\"\u003e#3343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/bb59ba0fd279ca085d1113f0499b6a602ca31081\"\u003e\u003ccode\u003ebb59ba0\u003c/code\u003e\u003c/a\u003e Apply format guidelines to commits since latest 8.3.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/4a352253c9ff013e36d11e4a6820d36d00ff2cd4\"\u003e\u003ccode\u003e4a35225\u003c/code\u003e\u003c/a\u003e Reduce blast-radius of \u003ccode\u003eUNSET\u003c/code\u003e in \u003ccode\u003edefault_map\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3240\"\u003e#3240\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/c07bb936de43fd303f9cfbefe248ab23fd2199c8\"\u003e\u003ccode\u003ec07bb93\u003c/code\u003e\u003c/a\u003e Merge branch 'stable' into unset-in-default-map\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/c7e1ba8448cbcb2cdd9c1c7f4a592e863dcc3995\"\u003e\u003ccode\u003ec7e1ba8\u003c/code\u003e\u003c/a\u003e Reorder \u003ccode\u003eParameterSource\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3248\"\u003e#3248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/76552ff1e8c85837f911fc34037e702ae4327eda\"\u003e\u003ccode\u003e76552ff\u003c/code\u003e\u003c/a\u003e Show default string in prompt (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3328\"\u003e#3328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/ac5cec5fe54e5a691e7bac17f441ce9498e0744c\"\u003e\u003ccode\u003eac5cec5\u003c/code\u003e\u003c/a\u003e Reorder ParameterSource from most to least explicit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/8c452e00e6772931b7071d9316b82b77e5b8f280\"\u003e\u003ccode\u003e8c452e0\u003c/code\u003e\u003c/a\u003e Merge branch 'stable' into show-default-string-in-prompt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pallets/click/commit/8c95c73bd5ef89eac638f85f1904a104ba4b1a32\"\u003e\u003ccode\u003e8c95c73\u003c/code\u003e\u003c/a\u003e Reconcile default value passing and default activation (\u003ca href=\"https://redirect.github.com/pallets/click/issues/3239\"\u003e#3239\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pallets/click/compare/8.3.1...8.3.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cryptography` from 46.0.7 to 47.0.0\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\u003e47.0.0 - 2026-04-24\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* Support for Python 3.8 is deprecated and will be removed in the next\n  ``cryptography`` release.\n* **BACKWARDS INCOMPATIBLE:** Support for binary elliptic curves\n  (``SECT*`` classes) has been removed. These curves are rarely used and\n  have additional security considerations that make them undesirable.\n* **BACKWARDS INCOMPATIBLE:** Support for OpenSSL 1.1.x has been removed.\n  OpenSSL 3.0.0 or later is now required. LibreSSL, BoringSSL, and AWS-LC\n  continue to be supported.\n* **BACKWARDS INCOMPATIBLE:** Dropped support for LibreSSL \u0026lt; 4.1.\n* **BACKWARDS INCOMPATIBLE:** Loading keys with unsupported algorithms or\n  keys with unsupported explicit curve encodings now raises\n  :class:`~cryptography.exceptions.UnsupportedAlgorithm` instead of\n  ``ValueError``. This change affects\n  :func:`~cryptography.hazmat.primitives.serialization.load_pem_private_key`,\n  :func:`~cryptography.hazmat.primitives.serialization.load_der_private_key`,\n  :func:`~cryptography.hazmat.primitives.serialization.load_pem_public_key`,\n  :func:`~cryptography.hazmat.primitives.serialization.load_der_public_key`,\n  and :meth:`~cryptography.x509.Certificate.public_key` when called on\n  certificates with unsupported public key algorithms.\n* **BACKWARDS INCOMPATIBLE:** When parsing elliptic curve private keys, we now\n  reject keys that incorrectly encode a private key of the wrong length because\n  such keys are impossible to process in a constant-time manner. We do not\n  believe keys with this problem are in wide use, however we may revert this\n  change based on the feedback we receive.\n* Deprecated passing 64-bit (8-byte) and 128-bit (16-byte) keys to\n  :class:`~cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES`. In a\n  future release, only 192-bit (24-byte) keys will be accepted. Users should\n  expand shorter keys themselves (e.g., for single DES: ``key + key + key``,\n  for two-key: ``key + key[:8]``).\n* Updated the minimum supported Rust version (MSRV) to 1.83.0, from 1.74.0.\n* Support for ``x86_64`` macOS (including publishing wheels) is deprecated\n  and will be removed in the next release. 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 the next release. Users should move to a 64-bit\n  Python installation.\n* ``public_bytes`` and ``private_bytes`` methods on keys now raise\n  ``TypeError`` (instead of ``ValueError``) if an invalid encoding is provided\n  for the given ``format``.\n* Moved :class:`~cryptography.hazmat.decrepit.ciphers.modes.CFB`,\n  :cla...\n\n_Description has been truncated_","html_url":"https://github.com/SatyamKumarCS/Default-Credit-Card-Prediction/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/SatyamKumarCS%2FDefault-Credit-Card-Prediction/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"}},{"old_version":"\u003c4.9.0,\u003e=3.1.0","new_version":"\u003e=4.8.0,\u003c4.9.0","update_type":null,"path":null,"pr_created_at":"2026-04-22T14:21:30.000Z","version_change":"\u003c4.9.0,\u003e=3.1.0 → \u003e=4.8.0,\u003c4.9.0","issue":{"uuid":"4309660689","node_id":"PR_kwDOA6ecz87Up6IA","number":3502,"state":"closed","title":"requirements: update optuna requirement from \u003c4.9.0,\u003e=3.1.0 to \u003e=4.8.0,\u003c4.9.0","user":"dependabot[bot]","labels":["deps"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-26T01:14:31.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-22T14:21:30.000Z","updated_at":"2026-04-26T01:14:39.000Z","time_to_close":298381,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"requirements: update","packages":[{"name":"optuna","old_version":"\u003c4.9.0,\u003e=3.1.0","new_version":"\u003e=4.8.0,\u003c4.9.0","repository_url":"https://github.com/optuna/optuna"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [optuna](https://github.com/optuna/optuna) 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/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.8.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/73?closed=1\"\u003ev4.8.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eSupport for Constant Liar Strategy to GPSampler\u003c/h2\u003e\n\u003cp\u003eA constant liar strategy for efficient parallelization has been introduced to GPSampler by \u003ca href=\"https://github.com/sawa3030\"\u003e\u003ccode\u003e@​sawa3030\u003c/code\u003e\u003c/a\u003e. The figures (left: v4.7.0, right: v4.8.0) show that the overlap of search points has decreased, and a wider variety of solutions are being explored. The experiment uses \u003ccode\u003en_jobs = 10\u003c/code\u003e and \u003ccode\u003en_trials = 100\u003c/code\u003e. Currently, this feature supports single-objective and unconstrained optimization. Further extensions are coming in v4.9.0.\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003ev4.7.0\u003c/th\u003e\n\u003cth\u003ev4.8.0\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eSHAP-like beeswarm plot visualization\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/yasumorishima\"\u003e\u003ccode\u003e@​yasumorishima\u003c/code\u003e\u003c/a\u003e introduces the new visualization to OptunaHub. Please refer to \u003ca href=\"https://hub.optuna.org/visualization/plot_beeswarm/\"\u003ehttps://hub.optuna.org/visualization/plot_beeswarm/\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch1\u003eNew Features\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Trackio Integration for Optuna (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/259\"\u003eoptuna/optuna-integration#259\u003c/a\u003e, thanks \u003ca href=\"https://github.com/ParagEkbote\"\u003e\u003ccode\u003e@​ParagEkbote\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eAdd constant liar strategy to \u003ccode\u003eGPSampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6430\"\u003e#6430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eValidate artifact_id in FileSystemArtifactStore to prevent path traversal (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6432\"\u003e#6432\u003c/a\u003e, thanks \u003ca href=\"https://github.com/RinZ27\"\u003e\u003ccode\u003e@​RinZ27\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003efix: correct inverted warning message in pareto front plot (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e, thanks \u003ca href=\"https://github.com/aerosta\"\u003e\u003ccode\u003e@​aerosta\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix shared callback state in parallel OptunaSearchCV with LightGBM (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/260\"\u003eoptuna/optuna-integration#260\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Quant-Quasar\"\u003e\u003ccode\u003e@​Quant-Quasar\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix GPSampler crash when torch default device is CUDA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6418\"\u003e#6418\u003c/a\u003e, thanks \u003ca href=\"https://github.com/VedantMadane\"\u003e\u003ccode\u003e@​VedantMadane\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix combination between \u003ccode\u003ePartialFixedSampler\u003c/code\u003e and \u003ccode\u003eTPESampler\u003c/code\u003e with group decomposed search space (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6428\"\u003e#6428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTPESampler\u003c/code\u003e with \u003ccode\u003emultivariate\u003c/code\u003e and \u003ccode\u003econstant_liar\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDocumentation\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd documentation indicating that \u003ccode\u003eWilcoxonPruner\u003c/code\u003e requires \u003ccode\u003escipy\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6477\"\u003e#6477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove version \u0026amp; language selectors in the sidebar of docs (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6482\"\u003e#6482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eExamples\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eApply black 26.1.0 (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/348\"\u003eoptuna/optuna-examples#348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove CI workflow for allennlp since no longer maintained (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/351\"\u003eoptuna/optuna-examples#351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce the frequency of scheduled CI triggers (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/352\"\u003eoptuna/optuna-examples#352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove the scheduled trigger for \u003ccode\u003eaim\u003c/code\u003e CI (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/353\"\u003eoptuna/optuna-examples#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd constraint to \u003ccode\u003etransformers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/355\"\u003eoptuna/optuna-examples#355\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eTests\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/689c62dbfc14f3476c51c14fda2e4f818ed2ee30\"\u003e\u003ccode\u003e689c62d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6509\"\u003e#6509\u003c/a\u003e from y0z/feature/bump-up-release480\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/9e2e0658ee6205c69993cf4204fabe6353249441\"\u003e\u003ccode\u003e9e2e065\u003c/code\u003e\u003c/a\u003e Bump up version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/54fe633c042be32f9a8c90b440e81c05406448d2\"\u003e\u003ccode\u003e54fe633\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6507\"\u003e#6507\u003c/a\u003e from sateeshkumarb/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/8efb8b4ffd749a95610e537a597ccaabde2e97db\"\u003e\u003ccode\u003e8efb8b4\u003c/code\u003e\u003c/a\u003e Move imports used for typecheck under TYPE_CHCKING\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/c0fcd2e4bba33783aa5e61e94be29dfc2cdcac0a\"\u003e\u003ccode\u003ec0fcd2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6506\"\u003e#6506\u003c/a\u003e from acabellom/fix-fstring-file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/087cc9d85e431df96ac54bec1de992fac9260e80\"\u003e\u003ccode\u003e087cc9d\u003c/code\u003e\u003c/a\u003e Replace .format() with f-strings in 002_configurations.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/274f5b906accb795569550164f418dd3f40338c2\"\u003e\u003ccode\u003e274f5b9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e from not522/fix-multivariate-constant_liar\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/ce882f6a4e1b0ecc328373cf989cbb16debdf1f6\"\u003e\u003ccode\u003ece882f6\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6265\"\u003e#6265\u003c/a\u003e from not522/relative-use-cache\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/f9e546d71f3fe515ee0df37ffe49d83f1f294c58\"\u003e\u003ccode\u003ef9e546d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e from aerosta/fix/pareto-front-warning-message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/535215b3890f10b0cd96e6a22aaad58821769c3d\"\u003e\u003ccode\u003e535215b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6502\"\u003e#6502\u003c/a\u003e from nightcityblade/fix/issue-6029-patient-pruner\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/optuna/optuna/compare/v3.1.0...v4.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nYou can trigger a rebase of this PR by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/PrincetonUniversity/PsyNeuLink/pull/3502","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/PrincetonUniversity%2FPsyNeuLink/issues/3502","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3502/packages"}},{"old_version":"4.7.0","new_version":"4.8.0","update_type":"minor","path":null,"pr_created_at":"2026-04-13T12:01:44.000Z","version_change":"4.7.0 → 4.8.0","issue":{"uuid":"4254378232","node_id":"PR_kwDOQ_sTS87R-AYc","number":26,"state":"open","title":"deps: bump the python-minor group across 1 directory with 34 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-13T12:01:44.000Z","updated_at":"2026-04-13T12:01:45.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps: bump","group_name":"python-minor","update_count":34,"packages":[{"name":"pandas","old_version":"3.0.0","new_version":"3.0.2","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"scipy","old_version":"1.17.0","new_version":"1.17.1","repository_url":"https://github.com/scipy/scipy"},{"name":"tqdm","old_version":"4.67.1","new_version":"4.67.3","repository_url":"https://github.com/tqdm/tqdm"},{"name":"ipython","old_version":"9.9.0","new_version":"9.12.0","repository_url":"https://github.com/ipython/ipython"},{"name":"plotly","old_version":"6.5.2","new_version":"6.7.0","repository_url":"https://github.com/plotly/plotly.py"},{"name":"pydantic","old_version":"2.12.5","new_version":"2.13.0","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pandera","old_version":"0.29.0","new_version":"0.30.1","repository_url":"https://github.com/pandera-dev/pandera"},{"name":"shap","old_version":"0.49.1","new_version":"0.51.0","repository_url":"https://github.com/shap/shap"},{"name":"optuna","old_version":"4.7.0","new_version":"4.8.0","repository_url":"https://github.com/optuna/optuna"},{"name":"ruff","old_version":"0.15.1","new_version":"0.15.10","repository_url":"https://github.com/astral-sh/ruff"},{"name":"pytest","old_version":"9.0.2","new_version":"9.0.3","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"pytest-cov","old_version":"7.0.0","new_version":"7.1.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"certifi","old_version":"2026.1.4","new_version":"2026.2.25","repository_url":"https://github.com/certifi/python-certifi"},{"name":"charset-normalizer","old_version":"3.4.4","new_version":"3.4.7","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"click","old_version":"8.3.1","new_version":"8.3.2","repository_url":"https://github.com/pallets/click"},{"name":"coverage","old_version":"7.13.2","new_version":"7.13.5","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"flask","old_version":"3.1.2","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"fonttools","old_version":"4.61.1","new_version":"4.62.1","repository_url":"https://github.com/fonttools/fonttools"},{"name":"greenlet","old_version":"3.3.1","new_version":"3.4.0","repository_url":"https://github.com/python-greenlet/greenlet"},{"name":"kiwisolver","old_version":"1.4.9","new_version":"1.5.0","repository_url":"https://github.com/nucleic/kiwi"},{"name":"llvmlite","old_version":"0.46.0","new_version":"0.47.0","repository_url":"https://github.com/numba/llvmlite"},{"name":"narwhals","old_version":"2.15.0","new_version":"2.19.0","repository_url":"https://github.com/narwhals-dev/narwhals"},{"name":"numba","old_version":"0.63.1","new_version":"0.65.0","repository_url":"https://github.com/numba/numba"},{"name":"numpy","old_version":"2.3.5","new_version":"2.4.4","repository_url":"https://github.com/numpy/numpy"},{"name":"nvidia-nccl-cu12","old_version":"2.29.3","new_version":"2.29.7"},{"name":"parso","old_version":"0.8.5","new_version":"0.8.6","repository_url":"https://github.com/davidhalter/parso"},{"name":"pillow","old_version":"12.1.0","new_version":"12.2.0","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"pydantic-core","old_version":"2.41.5","new_version":"2.46.0","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pygments","old_version":"2.19.2","new_version":"2.20.0","repository_url":"https://github.com/pygments/pygments"},{"name":"requests","old_version":"2.32.5","new_version":"2.33.1","repository_url":"https://github.com/psf/requests"},{"name":"sqlalchemy","old_version":"2.0.46","new_version":"2.0.49","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"typeguard","old_version":"4.4.4","new_version":"4.5.1","repository_url":"https://github.com/agronholm/typeguard"},{"name":"wcwidth","old_version":"0.3.1","new_version":"0.6.0","repository_url":"https://github.com/jquast/wcwidth"},{"name":"werkzeug","old_version":"3.1.5","new_version":"3.1.8","repository_url":"https://github.com/pallets/werkzeug"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor group with 34 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pandas](https://github.com/pandas-dev/pandas) | `3.0.0` | `3.0.2` |\n| [scipy](https://github.com/scipy/scipy) | `1.17.0` | `1.17.1` |\n| [tqdm](https://github.com/tqdm/tqdm) | `4.67.1` | `4.67.3` |\n| [ipython](https://github.com/ipython/ipython) | `9.9.0` | `9.12.0` |\n| [plotly](https://github.com/plotly/plotly.py) | `6.5.2` | `6.7.0` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.12.5` | `2.13.0` |\n| [pandera](https://github.com/pandera-dev/pandera) | `0.29.0` | `0.30.1` |\n| [shap](https://github.com/shap/shap) | `0.49.1` | `0.51.0` |\n| [optuna](https://github.com/optuna/optuna) | `4.7.0` | `4.8.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.1` | `0.15.10` |\n| [pytest](https://github.com/pytest-dev/pytest) | `9.0.2` | `9.0.3` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `7.0.0` | `7.1.0` |\n| [certifi](https://github.com/certifi/python-certifi) | `2026.1.4` | `2026.2.25` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.4` | `3.4.7` |\n| [click](https://github.com/pallets/click) | `8.3.1` | `8.3.2` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.13.2` | `7.13.5` |\n| [flask](https://github.com/pallets/flask) | `3.1.2` | `3.1.3` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.61.1` | `4.62.1` |\n| [greenlet](https://github.com/python-greenlet/greenlet) | `3.3.1` | `3.4.0` |\n| [kiwisolver](https://github.com/nucleic/kiwi) | `1.4.9` | `1.5.0` |\n| [llvmlite](https://github.com/numba/llvmlite) | `0.46.0` | `0.47.0` |\n| [narwhals](https://github.com/narwhals-dev/narwhals) | `2.15.0` | `2.19.0` |\n| [numba](https://github.com/numba/numba) | `0.63.1` | `0.65.0` |\n| [numpy](https://github.com/numpy/numpy) | `2.3.5` | `2.4.4` |\n| [nvidia-nccl-cu12](https://developer.nvidia.com/cuda-zone) | `2.29.3` | `2.29.7` |\n| [parso](https://github.com/davidhalter/parso) | `0.8.5` | `0.8.6` |\n| [pillow](https://github.com/python-pillow/Pillow) | `12.1.0` | `12.2.0` |\n| [pydantic-core](https://github.com/pydantic/pydantic) | `2.41.5` | `2.46.0` |\n| [pygments](https://github.com/pygments/pygments) | `2.19.2` | `2.20.0` |\n| [requests](https://github.com/psf/requests) | `2.32.5` | `2.33.1` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.46` | `2.0.49` |\n| [typeguard](https://github.com/agronholm/typeguard) | `4.4.4` | `4.5.1` |\n| [wcwidth](https://github.com/jquast/wcwidth) | `0.3.1` | `0.6.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `3.1.5` | `3.1.8` |\n\n\nUpdates `pandas` from 3.0.0 to 3.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pandas-dev/pandas/releases\"\u003epandas's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epandas 3.0.2\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 3.0.2.\nThis is a patch release in the 3.0.x series and includes some regression fixes and bug fixes. We recommend that all users of the 3.0.x series upgrade to this version.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/docs/dev/whatsnew/v3.0.2.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\u003c/p\u003e\n\u003cp\u003ePandas 3.0 supports Python 3.11 and higher.\nThe release can be installed from PyPI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython -m pip install --upgrade pandas==3.0.*\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr from conda-forge\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install -c conda-forge pandas=3.0\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\u003c/p\u003e\n\u003ch2\u003epandas 3.0.1\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 3.0.1.\nThis is a patch release in the 3.0.x series and includes some regression fixes and bug fixes. We recommend that all users of the 3.0.x series upgrade to this version.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/docs/dev/whatsnew/v3.0.1.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\u003c/p\u003e\n\u003cp\u003ePandas 3.0.0 supports Python 3.11 and higher.\nThe release can be installed from PyPI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython -m pip install --upgrade pandas==3.0.*\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr from conda-forge\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install -c conda-forge pandas=3.0\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/ab90747e3dae0e69b1bdbf083820b8075689b34b\"\u003e\u003ccode\u003eab90747\u003c/code\u003e\u003c/a\u003e RLS: 3.0.2 (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64934\"\u003e#64934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/6f270137a27f8de4bd1afd7d71220e0760429750\"\u003e\u003ccode\u003e6f27013\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64931\"\u003e#64931\u003c/a\u003e on branch 3.0.x (DOC/BLD: temporary disable upload of docs...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/48ddc60d6efe8d942dbe1495dea725a9d7db15ef\"\u003e\u003ccode\u003e48ddc60\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64664\"\u003e#64664\u003c/a\u003e on branch 3.0.x (BUG: DataFrame.sum() crashes on empty Dat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/8774488df19d0859ddc05a24210783b66da27ef7\"\u003e\u003ccode\u003e8774488\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] PERF: fix slow python loop in validation for ArrowStringArra...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/33af6cc04ed6331c23a49655c4c7bb8f90351da3\"\u003e\u003ccode\u003e33af6cc\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64133\"\u003e#64133\u003c/a\u003e on branch 3.0.x (BUG: str.find returns byte offset instead...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/4ef49d815aae99b6ba5627ab0a54ba0819336652\"\u003e\u003ccode\u003e4ef49d8\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: fix convert_dtypes dropping values from sliced mixed-dt...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/0668f3451120e5552cdc8cf5d85f6d1238ce4e12\"\u003e\u003ccode\u003e0668f34\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: Fix HDFStore.put with StringDtype columns and compressi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/23f2f442ea1af6deddfefef2a4a1e4cb44328c3d\"\u003e\u003ccode\u003e23f2f44\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: Suppress unnecessary RuntimeWarning in to_datetime with...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/83ba804de35ec98798d31474d044cff7666bebd6\"\u003e\u003ccode\u003e83ba804\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64886\"\u003e#64886\u003c/a\u003e: BUG: Compute Variance of Complex Numbers Correctly (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64892\"\u003e#64892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/bb5ca1a7a96130fa0e8e2a3987c051e4473f7792\"\u003e\u003ccode\u003ebb5ca1a\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64386\"\u003e#64386\u003c/a\u003e on branch 3.0.x (BUG: fix sort_index AssertionError with R...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandas-dev/pandas/compare/v3.0.0...v3.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `scipy` from 1.17.0 to 1.17.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scipy/scipy/releases\"\u003escipy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eSciPy 1.17.1 Release Notes\u003c/h1\u003e\n\u003cp\u003eSciPy \u003ccode\u003e1.17.1\u003c/code\u003e is a bug-fix release with no new features compared to \u003ccode\u003e1.17.0\u003c/code\u003e.\u003c/p\u003e\n\u003ch1\u003eAuthors\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eName (commits)\u003c/li\u003e\n\u003cli\u003eEvgeni Burovski (5)\u003c/li\u003e\n\u003cli\u003eLucas Colley (1)\u003c/li\u003e\n\u003cli\u003eChristoph Gohlke (1)\u003c/li\u003e\n\u003cli\u003eRalf Gommers (6)\u003c/li\u003e\n\u003cli\u003eMatt Haberland (5)\u003c/li\u003e\n\u003cli\u003eMatthias Koeppe (1)\u003c/li\u003e\n\u003cli\u003eNick ODell (1)\u003c/li\u003e\n\u003cli\u003eIlhan Polat (10)\u003c/li\u003e\n\u003cli\u003eTyler Reddy (44)\u003c/li\u003e\n\u003cli\u003eMartin Schuck (3)\u003c/li\u003e\n\u003cli\u003eDan Schult (3)\u003c/li\u003e\n\u003cli\u003estratakis (1) +\u003c/li\u003e\n\u003cli\u003eਗਗਨਦੀਪ ਸਿੰਘ (Gagandeep Singh) (1)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eA total of 13 people contributed to this release.\nPeople with a \u0026quot;+\u0026quot; by their names contributed a patch for the first time.\nThis list of names is automatically generated, and may not be fully complete.\u003c/p\u003e\n\u003cp\u003eComplete issue list, PR list, and release asset hashes are available in the associated \u003ca href=\"https://github.com/scipy/scipy/releases/download/v1.17.1/README.txt\"\u003e\u003ccode\u003eREADME.txt\u003c/code\u003e\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/527eb7fd7953a1de068f94bf8b322f249b9405ae\"\u003e\u003ccode\u003e527eb7f\u003c/code\u003e\u003c/a\u003e REL: 1.17.1 release commit [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/f11663bf044f1cb5a0112a28ac238f902ae36eea\"\u003e\u003ccode\u003ef11663b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scipy/scipy/issues/24584\"\u003e#24584\u003c/a\u003e from tylerjereddy/treddy_prep_1.17.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/2c49e68b634d2657380ca7b65207c6122e83cb72\"\u003e\u003ccode\u003e2c49e68\u003c/code\u003e\u003c/a\u003e DOC: PR 24584 revisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/400fa15ed6f9fece4c3848e9eade0e7d5e5aece0\"\u003e\u003ccode\u003e400fa15\u003c/code\u003e\u003c/a\u003e safely convert index dtypes to intc for csgraph and superLU\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/8c704044ab6f8f3e94295f354dbadfcab9139837\"\u003e\u003ccode\u003e8c70404\u003c/code\u003e\u003c/a\u003e MAINT: PR 24584 revisions [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/6dda8c13c534a61bc56c7b11bb5841efbd37d9dd\"\u003e\u003ccode\u003e6dda8c1\u003c/code\u003e\u003c/a\u003e BUG: PR 24584 revisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/4a187e59ea9cde1f79b4fae9dbd8177adcf0ddf3\"\u003e\u003ccode\u003e4a187e5\u003c/code\u003e\u003c/a\u003e DOC: PR 24584 revisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/463ee9f72a5f1afe3363e86344a55eea1c1ba477\"\u003e\u003ccode\u003e463ee9f\u003c/code\u003e\u003c/a\u003e ENH: linalg/inv: re-enable overwrite_a for 2D inputs (\u003ca href=\"https://redirect.github.com/scipy/scipy/issues/24442\"\u003e#24442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/df746eed5eae0243969fd8de07770c4ace1dc65c\"\u003e\u003ccode\u003edf746ee\u003c/code\u003e\u003c/a\u003e BUG: linalg: restore dtypes in inv, solve, det\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/246bfeecbe56200ae4e265a70e06ccc64daee9c2\"\u003e\u003ccode\u003e246bfee\u003c/code\u003e\u003c/a\u003e MAINT:optimize: Enable multi-phase init to DIRECT\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/scipy/scipy/compare/v1.17.0...v1.17.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tqdm` from 4.67.1 to 4.67.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tqdm/tqdm/releases\"\u003etqdm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etqdm v4.67.3 stable\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix py3.7 dependencies (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1706\"\u003e#1706\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1705\"\u003e#1705\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etqdm v4.67.2 stable\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport \u003ccode\u003epandas\u0026gt;=3\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1703\"\u003e#1703\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1701\"\u003e#1701\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1650\"\u003e#1650\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1700\"\u003e#1700\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix \u003ccode\u003eformat_interval\u003c/code\u003e for negative numbers (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1703\"\u003e#1703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emisc linting\u003c/li\u003e\n\u003cli\u003eframework updates (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1704\"\u003e#1704\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003ebump CI workflow \u0026amp; \u003ccode\u003epre-commit\u003c/code\u003e dependencies\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003epyupgrade\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eadd py3.13 support\u003c/li\u003e\n\u003cli\u003efix py3.7 tests\u003c/li\u003e\n\u003cli\u003eupdate \u003ccode\u003esetuptools-scm\u003c/code\u003e usage\u003c/li\u003e\n\u003cli\u003esupport auto-dedented docstrings when building docs in py3.13\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003etests: relax flaky benchmarks\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/75bdb6c379bcfc6c592b6342dc791a092b5d6ae0\"\u003e\u003ccode\u003e75bdb6c\u003c/code\u003e\u003c/a\u003e fix py3.7 compat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/09a863bf4658f19a911eb7d3fa4f9e4eb0b33496\"\u003e\u003ccode\u003e09a863b\u003c/code\u003e\u003c/a\u003e bump version, merge pull request \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1704\"\u003e#1704\u003c/a\u003e from tqdm/devel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/33d24cdbd4bd958cdc6cecbbcc903b52f8c37a05\"\u003e\u003ccode\u003e33d24cd\u003c/code\u003e\u003c/a\u003e update pyproject syntax\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/70b912484824f130be0506c2e139a1f764751fac\"\u003e\u003ccode\u003e70b9124\u003c/code\u003e\u003c/a\u003e add py3.13 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/a74d8f8d97d2f77937e09a32a9e1975e167261d6\"\u003e\u003ccode\u003ea74d8f8\u003c/code\u003e\u003c/a\u003e drop _dist_ver\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/14d72e2c18ba34363d629a43794a47513a9aa368\"\u003e\u003ccode\u003e14d72e2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1703\"\u003e#1703\u003c/a\u003e from wingding12/fix-pandas-3.0-and-negative-interval\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/a69dac84b3d2e7ab23dbfcccae29b28a753ee5eb\"\u003e\u003ccode\u003ea69dac8\u003c/code\u003e\u003c/a\u003e fix dedented docstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/a986d228405324ca422050e4787118c187cb870f\"\u003e\u003ccode\u003ea986d22\u003c/code\u003e\u003c/a\u003e tests: fix pandas deprecation warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/bb7aa4ddb706b9d99b72a811eb62ea35553ff1e2\"\u003e\u003ccode\u003ebb7aa4d\u003c/code\u003e\u003c/a\u003e tests: fix pandas deprecated applymap\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/0647db1c7480a21eb08ba214b0756d232e079e3a\"\u003e\u003ccode\u003e0647db1\u003c/code\u003e\u003c/a\u003e misc tidy\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tqdm/tqdm/compare/v4.67.1...v4.67.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ipython` from 9.9.0 to 9.12.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/d9c6e314c3f31cb624cd443448e9094fdd49a1eb\"\u003e\u003ccode\u003ed9c6e31\u003c/code\u003e\u003c/a\u003e release 9.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/4c560d21ec7d6f72d2f150400fdab010790c81d7\"\u003e\u003ccode\u003e4c560d2\u003c/code\u003e\u003c/a\u003e security note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/bf954e4665168eeac39626164d76a646b683eaeb\"\u003e\u003ccode\u003ebf954e4\u003c/code\u003e\u003c/a\u003e Add release notes for 9.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/bfbdaaf71efae1d70ededaa0c0375400d7692d29\"\u003e\u003ccode\u003ebfbdaaf\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'ghsa/windows-programdata'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/8aae9a39bd6b44d4a798540a8d4863f73593ff57\"\u003e\u003ccode\u003e8aae9a3\u003c/code\u003e\u003c/a\u003e strip ansi for comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/e1aadc2c607df59f4d7313c60257ef9d43a46d7a\"\u003e\u003ccode\u003ee1aadc2\u003c/code\u003e\u003c/a\u003e fix test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/f48986a01e14eaed3504c474725e98700deae298\"\u003e\u003ccode\u003ef48986a\u003c/code\u003e\u003c/a\u003e fix-test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/d9b5285f5cb06aba35d4c3842cee7d2795afed7c\"\u003e\u003ccode\u003ed9b5285\u003c/code\u003e\u003c/a\u003e try to group tb frames\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/323552ea59fab72dcb36e4960caaffc18d3c5dae\"\u003e\u003ccode\u003e323552e\u003c/code\u003e\u003c/a\u003e Interleave fast and slow traceback path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/22cd33275bfccae3666f9f54d7f90fab924e517b\"\u003e\u003ccode\u003e22cd332\u003c/code\u003e\u003c/a\u003e Fix missing space in pdb chained exceptions warning message\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ipython/ipython/compare/9.9.0...9.12.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.5.2 to 6.7.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.7.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003efacet_row\u003c/code\u003e support to \u003ccode\u003epx.imshow\u003c/code\u003e for creating subplots along an additional dimension [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5445\"\u003e#5445\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/FBumann\"\u003e\u003ccode\u003e@​FBumann\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\u003eUpdate \u003ccode\u003enumpy.percentile\u003c/code\u003e syntax to stop using deprecated alias [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5483\"\u003e#5483\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/Mr-Neutr0n\"\u003e\u003ccode\u003e@​Mr-Neutr0n\u003c/code\u003e\u003c/a\u003e for the contribution!\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003enumpy\u003c/code\u003e with a version less than 1.22 is no longer supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eHandle empty \u003ccode\u003epx.histogram\u003c/code\u003e by skipping \u003ccode\u003eNone\u003c/code\u003e label in hover template [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5535\"\u003e#5535\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/tysoncung\"\u003e\u003ccode\u003e@​tysoncung\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate plotly.js from version 3.4.0 to version 3.5.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.5.0\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5565\"\u003e#5565\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ehoveranywhere\u003c/code\u003e and \u003ccode\u003eclickanywhere\u003c/code\u003e layout attributes to enable emitting hover and click events anywhere in the plot area, not just over traces [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7707\"\u003e#7707\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003edisplayNotifier\u003c/code\u003e configuration property to set the display of notifier in the top right area of the viewport [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7730\"\u003e#7730\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate USA location lookup for \u003ccode\u003escattergeo\u003c/code\u003e and \u003ccode\u003echoropleth\u003c/code\u003e traces to use both location names and abbreviations [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7731\"\u003e#7731\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.6.0\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove unneeded \u003ccode\u003etype=\u0026quot;text/javascript\u0026quot;\u003c/code\u003e attribute from \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e tag [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5454\"\u003e#5454\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/hannob\"\u003e\u003ccode\u003e@​hannob\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eRemove global warning format side effect [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5481\"\u003e#5481\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/emmanuel-ferdman\"\u003e\u003ccode\u003e@​emmanuel-ferdman\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eFix spurious engine deprecation warning in write_image [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5517\"\u003e#5517\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/mosh3eb\"\u003e\u003ccode\u003e@​mosh3eb\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate plotly.js from version 3.3.1 to version 3.4.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.4.0\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5527\"\u003e#5527\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd support for clicking legend titles to toggle visibility of all traces in legend [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7698\"\u003e#7698\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for shapes to reference multiple axes [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7666\"\u003e#7666\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for dashed marker lines in scatter plots [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7673\"\u003e#7673\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eIncrease axis autorange when bar charts have outside text labels, to avoid labels being clipped [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7675\"\u003e#7675\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/plotly/plotly.py/compare/v6.5.2...v6.6.0\"\u003ehttps://github.com/plotly/plotly.py/compare/v6.5.2...v6.6.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/plotly/plotly.py/blob/main/CHANGELOG.md\"\u003eplotly's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[6.7.0] - 2026-04-09\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003efacet_row\u003c/code\u003e support to \u003ccode\u003epx.imshow\u003c/code\u003e for creating subplots along an additional dimension [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5445\"\u003e#5445\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/FBumann\"\u003e\u003ccode\u003e@​FBumann\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\u003eUpdate \u003ccode\u003enumpy.percentile\u003c/code\u003e syntax to stop using deprecated alias [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5483\"\u003e#5483\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/Mr-Neutr0n\"\u003e\u003ccode\u003e@​Mr-Neutr0n\u003c/code\u003e\u003c/a\u003e for the contribution!\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003enumpy\u003c/code\u003e with a version less than 1.22 is no longer supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eHandle empty \u003ccode\u003epx.histogram\u003c/code\u003e by skipping \u003ccode\u003eNone\u003c/code\u003e label in hover template [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5535\"\u003e#5535\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/tysoncung\"\u003e\u003ccode\u003e@​tysoncung\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate plotly.js from version 3.4.0 to version 3.5.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.5.0\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5565\"\u003e#5565\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ehoveranywhere\u003c/code\u003e and \u003ccode\u003eclickanywhere\u003c/code\u003e layout attributes to enable emitting hover and click events anywhere in the plot area, not just over traces [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7707\"\u003e#7707\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003edisplayNotifier\u003c/code\u003e configuration property to set the display of notifier in the top right area of the viewport [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7730\"\u003e#7730\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eUpdate USA location lookup for \u003ccode\u003escattergeo\u003c/code\u003e and \u003ccode\u003echoropleth\u003c/code\u003e traces to use both location names and abbreviations [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7731\"\u003e#7731\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.6.0] - 2026-03-02\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove unneeded \u003ccode\u003etype=\u0026quot;text/javascript\u0026quot;\u003c/code\u003e attribute from \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e tag [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5454\"\u003e#5454\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/hannob\"\u003e\u003ccode\u003e@​hannob\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eRemove global warning format side effect [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5481\"\u003e#5481\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/emmanuel-ferdman\"\u003e\u003ccode\u003e@​emmanuel-ferdman\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eFix spurious engine deprecation warning in write_image [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5517\"\u003e#5517\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/mosh3eb\"\u003e\u003ccode\u003e@​mosh3eb\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate plotly.js from version 3.3.1 to version 3.4.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.4.0\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5527\"\u003e#5527\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd support for clicking legend titles to toggle visibility of all traces in legend [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7698\"\u003e#7698\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for shapes to reference multiple axes [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7666\"\u003e#7666\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for dashed marker lines in scatter plots [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7673\"\u003e#7673\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eIncrease axis autorange when bar charts have outside text labels, to avoid labels being clipped [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7675\"\u003e#7675\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/1a2065a6ac1eabf8c3125bcb735fbc04d7cd8441\"\u003e\u003ccode\u003e1a2065a\u003c/code\u003e\u003c/a\u003e Add missing attributions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/8422e175d40bb24277c2ab65db91fab2e2c60c20\"\u003e\u003ccode\u003e8422e17\u003c/code\u003e\u003c/a\u003e Add missing octothorpes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/fa9116fd56cff6377a40c76b77b538fbe4931751\"\u003e\u003ccode\u003efa9116f\u003c/code\u003e\u003c/a\u003e Update Jupyter Lab extension files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/c771ad5c15d0b0773171d212d1b79836616076f1\"\u003e\u003ccode\u003ec771ad5\u003c/code\u003e\u003c/a\u003e Version changes for v6.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/067b95421c00a03023b43b6faca8112652b26379\"\u003e\u003ccode\u003e067b954\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5565\"\u003e#5565\u003c/a\u003e from plotly/cam/update-plotly.js-v3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/1b7de492ead91eb28bfa3bd9208078ff453a1657\"\u003e\u003ccode\u003e1b7de49\u003c/code\u003e\u003c/a\u003e Update Jupyter support files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/d605d3e9978928d111b3e2b5a10c70810b44a10d\"\u003e\u003ccode\u003ed605d3e\u003c/code\u003e\u003c/a\u003e chore: Update plotly.js to v3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/600f86527341bc5f1809725e2831d846c3e054b4\"\u003e\u003ccode\u003e600f865\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5541\"\u003e#5541\u003c/a\u003e from plotly/migrate-to-gh-actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/10c7c5611ca04639313674cca3814f742cac523d\"\u003e\u003ccode\u003e10c7c56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5518\"\u003e#5518\u003c/a\u003e from mosh3eb/fix/broken-license-link-readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/ea813dd062be4918dc35944fc62226d809e9fc65\"\u003e\u003ccode\u003eea813dd\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into fix/broken-license-link-readme\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/plotly/plotly.py/compare/v6.5.2...v6.7.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.12.5 to 2.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.0 2026-04-13\u003c/h2\u003e\n\u003ch2\u003ev2.13.0 (2026-04-13)\u003c/h2\u003e\n\u003cp\u003eThe highlights of the v2.13 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-13-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.13/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e) are also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release contains the updated \u003ccode\u003epydantic.v1\u003c/code\u003e namespace, matching version 1.10.26 which includes support for Python 3.14.\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eSee the beta releases for all changes sinces 2.12.\u003c/p\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd zizmor for GitHub Actions workflow linting by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13039\"\u003e#13039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate jiter to v0.14.0 to fix a segmentation fault on musl Linux by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13064\"\u003e#13064\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAllow default factories of private attributes to take validated model data by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13013\"\u003e#13013\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eWarn when serializing fixed length tuples with too few items by \u003ca href=\"https://github.com/arvindsaripalli\"\u003e\u003ccode\u003e@​arvindsaripalli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13016\"\u003e#13016\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eChange type of \u003ccode\u003eAny\u003c/code\u003e when synthesizing \u003ccode\u003e_build_sources\u003c/code\u003e for  \u003ccode\u003eBaseSettings.__init__()\u003c/code\u003e signature in the mypy plugin by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13049\"\u003e#13049\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix model equality when using runtime \u003ccode\u003eextra\u003c/code\u003e configuration by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13062\"\u003e#13062\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arvindsaripalli\"\u003e\u003ccode\u003e@​arvindsaripalli\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13016\"\u003e#13016\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.0...v2.13.0\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.0...v2.13.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.0b3 2026-03-31\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003ePackaging\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd riscv64 build target for manylinux by \u003ca href=\"https://github.com/boosterl\"\u003e\u003ccode\u003e@​boosterl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12723\"\u003e#12723\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eascii_only\u003c/code\u003e option to \u003ccode\u003eStringConstraints\u003c/code\u003e by \u003ca href=\"https://github.com/ai-man-codes\"\u003e\u003ccode\u003e@​ai-man-codes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12907\"\u003e#12907\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eexclude_if\u003c/code\u003e in computed fields by \u003ca href=\"https://github.com/andresliszt\"\u003e\u003ccode\u003e@​andresliszt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12748\"\u003e#12748\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePush down constraints in unions involving \u003ccode\u003eMISSING\u003c/code\u003e sentinel by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12908\"\u003e#12908\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.0 (2026-04-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.0\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe highlights of the v2.13 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-13-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.13/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e)\nare also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release contains the updated \u003ccode\u003epydantic.v1\u003c/code\u003e namespace, matching version 1.10.26 which includes support for Python 3.14.\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eSee the beta releases for all changes sinces 2.12.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAllow default factories of private attributes to take validated model data by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13013\"\u003e#13013\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eWarn when serializing fixed length tuples with too few items by \u003ca href=\"https://github.com/arvindsaripalli\"\u003e\u003ccode\u003e@​arvindsaripalli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13016\"\u003e#13016\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eChange type of \u003ccode\u003eAny\u003c/code\u003e when synthesizing \u003ccode\u003e_build_sources\u003c/code\u003e for  \u003ccode\u003eBaseSettings.__init__()\u003c/code\u003e signature in the mypy plugin by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13049\"\u003e#13049\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix model equality when using runtime \u003ccode\u003eextra\u003c/code\u003e configuration by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13062\"\u003e#13062\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd zizmor for GitHub Actions workflow linting by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13039\"\u003e#13039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate jiter to v0.14.0 to fix a segmentation fault on musl Linux by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13064\"\u003e#13064\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arvindsaripalli\"\u003e\u003ccode\u003e@​arvindsaripalli\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13016\"\u003e#13016\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.0b3 (2026-03-31)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.0b3\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eascii_only\u003c/code\u003e option to \u003ccode\u003eStringConstraints\u003c/code\u003e by \u003ca href=\"https://github.com/ai-man-codes\"\u003e\u003ccode\u003e@​ai-man-codes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12907\"\u003e#12907\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eexclude_if\u003c/code\u003e in computed fields by \u003ca href=\"https://github.com/andresliszt\"\u003e\u003ccode\u003e@​andresliszt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12748\"\u003e#12748\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePush down constraints in unions involving \u003ccode\u003eMISSING\u003c/code\u003e sentinel by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12908\"\u003e#12908\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/46bf4fa648af3a1fbf4603a37f210e9d9c618357\"\u003e\u003ccode\u003e46bf4fa\u003c/code\u003e\u003c/a\u003e Fix Pydantic release workflow (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13067\"\u003e#13067\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/1b359edab09c623464d23c6fd2503ae5ff276d43\"\u003e\u003ccode\u003e1b359ed\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13065\"\u003e#13065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b1bf19445d8ac144a7a0e82674d2d87eebab6c18\"\u003e\u003ccode\u003eb1bf194\u003c/code\u003e\u003c/a\u003e Fix model equality when using runtime \u003ccode\u003eextra\u003c/code\u003e configuration (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13062\"\u003e#13062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/17a35e371bdff348c0690651d324c91fc7c9ff9e\"\u003e\u003ccode\u003e17a35e3\u003c/code\u003e\u003c/a\u003e Update jiter to v0.14.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13064\"\u003e#13064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/feea402b23fa23774669908c4e08a61ba1e4238e\"\u003e\u003ccode\u003efeea402\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003esimulation\u003c/code\u003e mode in Codspeed CI (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13063\"\u003e#13063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/671c9b0d4d3f9b2f1b95ca32ac85cb69e824e0bc\"\u003e\u003ccode\u003e671c9b0\u003c/code\u003e\u003c/a\u003e Add basic benchmarks for model equality (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13061\"\u003e#13061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/d17d71e00a35f190b27321aa6f8f2a03139c00b8\"\u003e\u003ccode\u003ed17d71e\u003c/code\u003e\u003c/a\u003e Bump cryptography from 46.0.6 to 46.0.7 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13056\"\u003e#13056\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/919d61ac419af5151b673a90b65c9a12631091cf\"\u003e\u003ccode\u003e919d61a\u003c/code\u003e\u003c/a\u003e 👥 Update Pydantic People (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13059\"\u003e#13059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/e7cf5dcb939ea98511e669b647c0273667a1b08a\"\u003e\u003ccode\u003ee7cf5dc\u003c/code\u003e\u003c/a\u003e Fix people workflow (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13047\"\u003e#13047\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/2a806ad09b984fcc43568191aba5d965350995a0\"\u003e\u003ccode\u003e2a806ad\u003c/code\u003e\u003c/a\u003e Add regression test for \u003ccode\u003eMISSING\u003c/code\u003e sentinel serialization with subclasses (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13\"\u003e#13\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.5...v2.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pandera` from 0.29.0 to 0.30.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pandera-dev/pandera/releases\"\u003epandera's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.30.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor Pandera accessors to use schema registry for managing schemas by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2241\"\u003eunionai-oss/pandera#2241\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epolars: support instance types by \u003ca href=\"https://github.com/paramsehrdl\"\u003e\u003ccode\u003e@​paramsehrdl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2239\"\u003eunionai-oss/pandera#2239\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/paramsehrdl\"\u003e\u003ccode\u003e@​paramsehrdl\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2239\"\u003eunionai-oss/pandera#2239\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/unionai-oss/pandera/compare/v0.30.0...v0.30.1\"\u003ehttps://github.com/unionai-oss/pandera/compare/v0.30.0...v0.30.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.30.0: Support Pandas \u0026gt;=3 🐼\u003c/h2\u003e\n\u003ch1\u003e⭐️ Highlight\u003c/h1\u003e\n\u003cp\u003ePandera now supports Pandas \u0026gt;= 3!\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport pandas 3.0 by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2214\"\u003eunionai-oss/pandera#2214\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003epre-commit\u003c/code\u003e with \u003ccode\u003eprek\u003c/code\u003e and fix existing violations by \u003ca href=\"https://github.com/Dev-iL\"\u003e\u003ccode\u003e@​Dev-iL\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2225\"\u003eunionai-oss/pandera#2225\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove vestigial \u003ccode\u003eordering\u003c/code\u003e parameter from polars \u003ccode\u003eCategorical\u003c/code\u003e by \u003ca href=\"https://github.com/Dev-iL\"\u003e\u003ccode\u003e@​Dev-iL\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2226\"\u003eunionai-oss/pandera#2226\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd AGENTS.md by \u003ca href=\"https://github.com/Dev-iL\"\u003e\u003ccode\u003e@​Dev-iL\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2224\"\u003eunionai-oss/pandera#2224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix optional nested validation by \u003ca href=\"https://github.com/amerberg\"\u003e\u003ccode\u003e@​amerberg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2218\"\u003eunionai-oss/pandera#2218\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[🐼 pandas 3] change default string to pandas-native string by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2229\"\u003eunionai-oss/pandera#2229\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor empty DataFrame creation in DataFrameModel to eliminate deep copy by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2230\"\u003eunionai-oss/pandera#2230\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eimplement PydanticModel for polars by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2231\"\u003eunionai-oss/pandera#2231\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epolars column regex reports column name by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2233\"\u003eunionai-oss/pandera#2233\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix bug in custom parser, built-in check, drop invalid rows by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2234\"\u003eunionai-oss/pandera#2234\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eunpin geopandas by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2236\"\u003eunionai-oss/pandera#2236\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix pandas docs reference in conf.py by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2237\"\u003eunionai-oss/pandera#2237\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/Dev-iL\"\u003e\u003ccode\u003e@​Dev-iL\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2225\"\u003eunionai-oss/pandera#2225\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/unionai-oss/pandera/compare/v0.29.0...v0.30.0\"\u003ehttps://github.com/unionai-oss/pandera/compare/v0.29.0...v0.30.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/unionai-oss/pandera/commit/85a8af4bf37d7cf366cda926859638494435ab02\"\u003e\u003ccode\u003e85a8af4\u003c/code\u003e\u003c/a\u003e polars: support instance types (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2239\"\u003e#2239\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/00f9e70d5b8e8b9d3bc52fd662121aacf387e4fb\"\u003e\u003ccode\u003e00f9e70\u003c/code\u003e\u003c/a\u003e Refactor Pandera accessors to use schema registry for managing schemas (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2241\"\u003e#2241\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/e7e0e65879c32b36c3533a498c96bb5be2a3ee88\"\u003e\u003ccode\u003ee7e0e65\u003c/code\u003e\u003c/a\u003e fix pandas docs reference in conf.py (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2237\"\u003e#2237\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/61b1f90cf0283465d6487328ca3457439c11859f\"\u003e\u003ccode\u003e61b1f90\u003c/code\u003e\u003c/a\u003e unpin geopandas (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2236\"\u003e#2236\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/96e4f9f17666f4b2eccf88ab68af25f9848e6323\"\u003e\u003ccode\u003e96e4f9f\u003c/code\u003e\u003c/a\u003e fix bug in custom parser, built-in check, drop invalid rows (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2234\"\u003e#2234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/1be68563610336e08c3f8b2db224fb4d737135a5\"\u003e\u003ccode\u003e1be6856\u003c/code\u003e\u003c/a\u003e polars column regex reports column name (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2233\"\u003e#2233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/2aee13dcee12f5cc2e2467caaaa20ab158588e0f\"\u003e\u003ccode\u003e2aee13d\u003c/code\u003e\u003c/a\u003e implement PydanticModel for polars (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2231\"\u003e#2231\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/7492a0084f7d906085346a29fa3289a1da7c4734\"\u003e\u003ccode\u003e7492a00\u003c/code\u003e\u003c/a\u003e Refactor empty DataFrame creation in DataFrameModel to eliminate deepcopy and...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/766eddce54f00b562ae014889321b05f7574432c\"\u003e\u003ccode\u003e766eddc\u003c/code\u003e\u003c/a\u003e [🐼 pandas 3] change default string to pandas-native string (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2229\"\u003e#2229\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/6900659ca7bc10544e0088b2b1d21b03995b641b\"\u003e\u003ccode\u003e6900659\u003c/code\u003e\u003c/a\u003e fix optional nested validation (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2218\"\u003e#2218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandera-dev/pandera/compare/v0.29.0...v0.30.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `shap` from 0.49.1 to 0.51.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/shap/shap/releases\"\u003eshap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.51.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: check first that the feature is not in the leaf node by \u003ca href=\"https://github.com/Far-naz\"\u003e\u003ccode\u003e@​Far-naz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4268\"\u003eshap/shap#4268\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix missing array to scalar conversion in MAPLE by \u003ca href=\"https://github.com/Scienfitz\"\u003e\u003ccode\u003e@​Scienfitz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4285\"\u003eshap/shap#4285\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix Python Version of Tree SHAP notebook by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4289\"\u003eshap/shap#4289\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix path-dependent SHAP NaN with small background datasets by \u003ca href=\"https://github.com/tudstudent\"\u003e\u003ccode\u003e@​tudstudent\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4272\"\u003eshap/shap#4272\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix IndexError in format_value() when handling empty strings by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4238\"\u003eshap/shap#4238\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix test_scatter_categorical for pandas 3.0 compatibility by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4253\"\u003eshap/shap#4253\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix SamplingExplainer.explain for Series. by \u003ca href=\"https://github.com/ljw20180420\"\u003e\u003ccode\u003e@​ljw20180420\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4200\"\u003eshap/shap#4200\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd tests for fixed masker by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4216\"\u003eshap/shap#4216\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd comprehensive type hints to production code by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4217\"\u003eshap/shap#4217\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eunpin versions and pin numba, skip causalml test by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4235\"\u003eshap/shap#4235\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify TreeExplainer binary classification returns different shapes per model by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4254\"\u003eshap/shap#4254\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd tests for explainers by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4218\"\u003eshap/shap#4218\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Colab Notebook to test GPUTreeExplainer by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4266\"\u003eshap/shap#4266\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix spelling error in docs: perterbation to perturbation by \u003ca href=\"https://github.com/laffertyryan0\"\u003e\u003ccode\u003e@​laffertyryan0\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4275\"\u003eshap/shap#4275\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate test_scatter to work with latest xgboost by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4278\"\u003eshap/shap#4278\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd ai usage policy at appropriate place in contributing, mention contributing in readme by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4279\"\u003eshap/shap#4279\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeprecate testing of newer llvmlite versions on macos x64_86 by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4286\"\u003eshap/shap#4286\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/ljw20180420\"\u003e\u003ccode\u003e@​ljw20180420\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4200\"\u003eshap/shap#4200\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4238\"\u003eshap/shap#4238\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/laffertyryan0\"\u003e\u003ccode\u003e@​laffertyryan0\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4275\"\u003eshap/shap#4275\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tudstudent\"\u003e\u003ccode\u003e@​tudstudent\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4272\"\u003eshap/shap#4272\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Far-naz\"\u003e\u003ccode\u003e@​Far-naz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4268\"\u003eshap/shap#4268\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Scienfitz\"\u003e\u003ccode\u003e@​Scienfitz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4285\"\u003eshap/shap#4285\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/shap/shap/compare/v0.50.0...v0.51.0\"\u003ehttps://github.com/shap/shap/compare/v0.50.0...v0.51.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.50.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ehand over threshold_types to GPUTreeExplainer by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4181\"\u003eshap/shap#4181\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove base_score assignment by \u003ca href=\"https://github.com/lsdxp\"\u003e\u003ccode\u003e@​lsdxp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4187\"\u003eshap/shap#4187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest against python 3.14, remove support for python 3.9 and 3.10 by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4176\"\u003eshap/shap#4176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways force transformers label2id ids to integers by \u003ca href=\"https://github.com/evamaxfield\"\u003e\u003ccode\u003e@​evamaxfield\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4192\"\u003eshap/shap#4192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix gpu tree explainer tests by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4199\"\u003eshap/shap#4199\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/lsdxp\"\u003e\u003ccode\u003e@​lsdxp\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4187\"\u003eshap/shap#4187\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/shap/shap/commit/03a6cd101aee0c706cad1568419bfa9d3c4f494c\"\u003e\u003ccode\u003e03a6cd1\u003c/code\u003e\u003c/a\u003e fix Python Version of Tree SHAP notebook (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4289\"\u003e#4289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/e9440d603b28413031e99016b74650c4b62a0091\"\u003e\u003ccode\u003ee9440d6\u003c/code\u003e\u003c/a\u003e Fix missing array to scalar conversion in MAPLE (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4285\"\u003e#4285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/1afee43abe03b557e309f495bd6d3b9d7bc850ec\"\u003e\u003ccode\u003e1afee43\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4287\"\u003e#4287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/7e95ee28f5f0c2fd9f2489cd2475e627232cd9ae\"\u003e\u003ccode\u003e7e95ee2\u003c/code\u003e\u003c/a\u003e deprecate testing of newer llvmlite versions on macos x64_86 (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4286\"\u003e#4286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/61f0f8e3e0168aba1ca8f40bb8f352c37ad1519e\"\u003e\u003ccode\u003e61f0f8e\u003c/code\u003e\u003c/a\u003e fix: check first that the feature is not in the leaf node (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4268\"\u003e#4268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/a613dab7d9443a993a7c7f7e5bb5c9f28e309d3d\"\u003e\u003ccode\u003ea613dab\u003c/code\u003e\u003c/a\u003e update pyproject toml to ignore benchmark in test coverage (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4281\"\u003e#4281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/b4547a038b379f5f14abd3fa9b449d6f661a3ce2\"\u003e\u003ccode\u003eb4547a0\u003c/code\u003e\u003c/a\u003e mention contributing in readme and update AI Policy (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4279\"\u003e#4279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/89de977aac62c4708b3200622423261451c52421\"\u003e\u003ccode\u003e89de977\u003c/code\u003e\u003c/a\u003e add AI policy and claude skill\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/0eeea53d09a85b992a79f1ed1dd2d7e6ce04489f\"\u003e\u003ccode\u003e0eeea53\u003c/code\u003e\u003c/a\u003e Fix path-dependent SHAP NaN with small background datasets (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4272\"\u003e#4272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/24e86f3a4e47589ac4dcb1433b21aaa1ef832260\"\u003e\u003ccode\u003e24e86f3\u003c/code\u003e\u003c/a\u003e build(deps): bump qs and express in /javascript (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4242\"\u003e#4242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/shap/shap/compare/v0.49.1...v0.51.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `optuna` from 4.7.0 to 4.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.8.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/73?closed=1\"\u003ev4.8.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eSupport for Constant Liar Strategy to GPSampler\u003c/h2\u003e\n\u003cp\u003eA constant liar strategy for efficient parallelization has been introduced to GPSampler by \u003ca href=\"https://github.com/sawa3030\"\u003e\u003ccode\u003e@​sawa3030\u003c/code\u003e\u003c/a\u003e. The figures (left: v4.7.0, right: v4.8.0) show that the overlap of search points has decreased, and a wider variety of solutions are being explored. The experiment uses \u003ccode\u003en_jobs = 10\u003c/code\u003e and \u003ccode\u003en_trials = 100\u003c/code\u003e. Currently, this feature supports single-objective and unconstrained optimization. Further extensions are coming in v4.9.0.\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003ev4.7.0\u003c/th\u003e\n\u003cth\u003ev4.8.0\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eSHAP-like beeswarm plot visualization\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/yasumorishima\"\u003e\u003ccode\u003e@​yasumorishima\u003c/code\u003e\u003c/a\u003e introduces the new visualization to OptunaHub. Please refer to \u003ca href=\"https://hub.optuna.org/visualization/plot_beeswarm/\"\u003ehttps://hub.optuna.org/visualization/plot_beeswarm/\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch1\u003eNew Features\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Trackio Integration for Optuna (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/259\"\u003eoptuna/optuna-integration#259\u003c/a\u003e, thanks \u003ca href=\"https://github.com/ParagEkbote\"\u003e\u003ccode\u003e@​ParagEkbote\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eAdd constant liar strategy to \u003ccode\u003eGPSampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6430\"\u003e#6430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eValidate artifact_id in FileSystemArtifactStore to prevent path traversal (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6432\"\u003e#6432\u003c/a\u003e, thanks \u003ca href=\"https://github.com/RinZ27\"\u003e\u003ccode\u003e@​RinZ27\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003efix: correct inverted warning message in pareto front plot (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e, thanks \u003ca href=\"https://github.com/aerosta\"\u003e\u003ccode\u003e@​aerosta\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix shared callback state in parallel OptunaSearchCV with LightGBM (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/260\"\u003eoptuna/optuna-integration#260\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Quant-Quasar\"\u003e\u003ccode\u003e@​Quant-Quasar\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix GPSampler crash when torch default device is CUDA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6418\"\u003e#6418\u003c/a\u003e, thanks \u003ca href=\"https://github.com/VedantMadane\"\u003e\u003ccode\u003e@​VedantMadane\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix combination between \u003ccode\u003ePartialFixedSampler\u003c/code\u003e and \u003ccode\u003eTPESampler\u003c/code\u003e with group decomposed search space (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6428\"\u003e#6428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTPESampler\u003c/code\u003e with \u003ccode\u003emultivariate\u003c/code\u003e and \u003ccode\u003econstant_liar\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDocumentation\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd documentation indicating that \u003ccode\u003eWilcoxonPruner\u003c/code\u003e requires \u003ccode\u003escipy\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6477\"\u003e#6477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove version \u0026amp; language selectors in the sidebar of docs (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6482\"\u003e#6482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eExamples\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eApply black 26.1.0 (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/348\"\u003eoptuna/optuna-examples#348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove CI workflow for allennlp since no longer maintained (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/351\"\u003eoptuna/optuna-examples#351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce the frequency of scheduled CI triggers (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/352\"\u003eoptuna/optuna-examples#352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove the scheduled trigger for \u003ccode\u003eaim\u003c/code\u003e CI (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/353\"\u003eoptuna/optuna-examples#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd constraint to \u003ccode\u003etransformers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/355\"\u003eoptuna/optuna-examples#355\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eTests\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/689c62dbfc14f3476c51c14fda2e4f818ed2ee30\"\u003e\u003ccode\u003e689c62d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6509\"\u003e#6509\u003c/a\u003e from y0z/feature/bump-up-release480\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/9e2e0658ee6205c69993cf4204fabe6353249441\"\u003e\u003ccode\u003e9e2e065\u003c/code\u003e\u003c/a\u003e Bump up version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/54fe633c042be32f9a8c90b440e81c05406448d2\"\u003e\u003ccode\u003e54fe633\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6507\"\u003e#6507\u003c/a\u003e from sateeshkumarb/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/8efb8b4ffd749a95610e537a597ccaabde2e97db\"\u003e\u003ccode\u003e8efb8b4\u003c/code\u003e\u003c/a\u003e Move imports used for typecheck under TYPE_CHCKING\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/c0fcd2e4bba33783aa5e61e94be29dfc2cdcac0a\"\u003e\u003ccode\u003ec0fcd2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6506\"\u003e#6506\u003c/a\u003e from acabellom/fix-fstring-file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/087cc9d85e431df96ac54bec1de992fac9260e80\"\u003e\u003ccode\u003e087cc9d\u003c/code\u003e\u003c/a\u003e Replace .format() with f-strings in 002_configurations.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/274f5b906accb795569550164f418dd3f40338c2\"\u003e\u003ccode\u003e274f5b9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e from not522/fix-multivariate-constant_liar\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/ce882f6a4e1b0ecc328373cf989cbb16debdf1f6\"\u003e\u003ccode\u003ece882f6\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6265\"\u003e#6265\u003c/a\u003e from not522/relative-use-cache\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/f9e546d71f3fe515ee0df37ffe49d83f1f294c58\"\u003e\u003ccode\u003ef9e546d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e from aerosta/fix/pareto-front-warning-message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/535215b3890f10b0cd96e6a22aaad58821769c3d\"\u003e\u003ccode\u003e535215b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6502\"\u003e#6502\u003c/a\u003e from nightcityblade/fix/issue-6029-patient-pruner\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/optuna/optuna/compare/v4.7.0...v4.8.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.15.1 to 0.15.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.10\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-04-09.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-logging\u003c/code\u003e] Allow closures in except handlers (\u003ccode\u003eLOG004\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24464\"\u003e#24464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-self\u003c/code\u003e] Make \u003ccode\u003eSLF\u003c/code\u003e diagnostics robust to non-self-named variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24281\"\u003e#24281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Make the fix for \u003ccode\u003ecollapsible-if\u003c/code\u003e safe in \u003ccode\u003epreview\u003c/code\u003e (\u003ccode\u003eSIM102\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24371\"\u003e#24371\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid emitting multi-line f-string elements before Python 3.12 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24377\"\u003e#24377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid syntax error from \u003ccode\u003eE502\u003c/code\u003e fixes in f-strings and t-strings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24410\"\u003e#24410\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStrip form feeds from indent passed to \u003ccode\u003ededent_to\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24381\"\u003e#24381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix panic caused by handling of octals (\u003ccode\u003eUP012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24390\"\u003e#24390\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject multi-line f-string elements before Python 3.12 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24355\"\u003e#24355\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Treat f-string interpolation as potential side effect (\u003ccode\u003eRUF019\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24426\"\u003e#24426\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for custom file extensions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24463\"\u003e#24463\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDocument adding fixes in CONTRIBUTING.md (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24393\"\u003e#24393\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix JSON typo in settings example (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24517\"\u003e#24517\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/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylwil3\"\u003e\u003ccode\u003e@​dylwil3\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/silverstein\"\u003e\u003ccode\u003e@​silverstein\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shizukushq\"\u003e\u003ccode\u003e@​shizukushq\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zanieb\"\u003e\u003ccode\u003e@​zanieb\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\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.15.10\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.15.10/ruff-installer.sh | sh\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\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/252f76102a618bff6537b6c53c316ca3837f4abf\"\u003e\u003ccode\u003e252f761\u003c/code\u003e\u003c/a\u003e Bump 0.15.10 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24519\"\u003e#24519\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/37a1ec8bb8e30955787b0cdf6e97f7f2254dba7f\"\u003e\u003ccode\u003e37a1ec8\u003c/code\u003e\u003c/a\u003e [ty] Fix assignability of intersections with bounded typevars (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24502\"\u003e#24502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/f518cc9ca0c830773dd49c3964eb5e49d52c8aed\"\u003e\u003ccode\u003ef518cc9\u003c/code\u003e\u003c/a\u003e [ty] Allow partially stringified \u003ccode\u003etype[…]\u003c/code\u003e annotations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24518\"\u003e#24518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/16c4090d0a711b9c0523b932014f3daf140f35bc\"\u003e\u003ccode\u003e16c4090\u003c/code\u003e\u003c/a\u003e docs: fix JSON typo in settings example (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24517\"\u003e#24517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/99d97bd72f1934ac2af93e52468c10ef1c7a1a4e\"\u003e\u003ccode\u003e99d97bd\u003c/code\u003e\u003c/a\u003e [ty] Tighten up a few edge cases in \u003ccode\u003eConcatenate\u003c/code\u003e type-expression parsing (\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/2714e345bdd64a5baae3844c0d25db7b0b9fe330\"\u003e\u003ccode\u003e2714e34\u003c/code\u003e\u003c/a\u003e [ty] Enable \u003ccode\u003epull-diagnostics\u003c/code\u003e by default in E2E tests (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24516\"\u003e#24516\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d8bc700722ab1b7272a4d724839da7c569b349d4\"\u003e\u003ccode\u003ed8bc700\u003c/code\u003e\u003c/a\u003e LSP: Add support for custom extensions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24463\"\u003e#24463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a45f96d65dbd4f958b07accd718f8d2af48cb956\"\u003e\u003ccode\u003ea45f96d\u003c/code\u003e\u003c/a\u003e [ty] stop special-casing str constructor (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24514\"\u003e#24514\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/87a0f01cfd016e0297ef05ab638cde006bf8d947\"\u003e\u003ccode\u003e87a0f01\u003c/code\u003e\u003c/a\u003e [ruff] Treat f-string interpolation as potential side effect in RUF019 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24426\"\u003e#24426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e9ba8489b8d1f1fd5fd66887a74d5f2f58f733d4\"\u003e\u003ccode\u003ee9ba848\u003c/code\u003e\u003c/a\u003e [ty] Fix excess subscript argument inference for non-generic types (\u003ca href=\"https:...\n\n_Description has been truncated_","html_url":"https://github.com/iocariz/scoring_tools/pull/26","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/iocariz%2Fscoring_tools/issues/26","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/26/packages"}},{"old_version":"\u003e=4.0","new_version":"\u003e=4.8.0","update_type":null,"path":null,"pr_created_at":"2026-04-11T11:53:01.000Z","version_change":"\u003e=4.0 → \u003e=4.8.0","issue":{"uuid":"4244433566","node_id":"PR_kwDORAqhJM7RqI_g","number":36,"state":"open","title":"Update optuna requirement from \u003e=4.0 to \u003e=4.8.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-11T11:53:01.000Z","updated_at":"2026-04-11T11:53:01.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"optuna","old_version":"\u003e=4.0","new_version":"\u003e=4.8.0","repository_url":"https://github.com/optuna/optuna"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [optuna](https://github.com/optuna/optuna) 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/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.8.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/73?closed=1\"\u003ev4.8.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eSupport for Constant Liar Strategy to GPSampler\u003c/h2\u003e\n\u003cp\u003eA constant liar strategy for efficient parallelization has been introduced to GPSampler by \u003ca href=\"https://github.com/sawa3030\"\u003e\u003ccode\u003e@​sawa3030\u003c/code\u003e\u003c/a\u003e. The figures (left: v4.7.0, right: v4.8.0) show that the overlap of search points has decreased, and a wider variety of solutions are being explored. The experiment uses \u003ccode\u003en_jobs = 10\u003c/code\u003e and \u003ccode\u003en_trials = 100\u003c/code\u003e. Currently, this feature supports single-objective and unconstrained optimization. Further extensions are coming in v4.9.0.\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003ev4.7.0\u003c/th\u003e\n\u003cth\u003ev4.8.0\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eSHAP-like beeswarm plot visualization\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/yasumorishima\"\u003e\u003ccode\u003e@​yasumorishima\u003c/code\u003e\u003c/a\u003e introduces the new visualization to OptunaHub. Please refer to \u003ca href=\"https://hub.optuna.org/visualization/plot_beeswarm/\"\u003ehttps://hub.optuna.org/visualization/plot_beeswarm/\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch1\u003eNew Features\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Trackio Integration for Optuna (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/259\"\u003eoptuna/optuna-integration#259\u003c/a\u003e, thanks \u003ca href=\"https://github.com/ParagEkbote\"\u003e\u003ccode\u003e@​ParagEkbote\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eAdd constant liar strategy to \u003ccode\u003eGPSampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6430\"\u003e#6430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eValidate artifact_id in FileSystemArtifactStore to prevent path traversal (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6432\"\u003e#6432\u003c/a\u003e, thanks \u003ca href=\"https://github.com/RinZ27\"\u003e\u003ccode\u003e@​RinZ27\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003efix: correct inverted warning message in pareto front plot (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e, thanks \u003ca href=\"https://github.com/aerosta\"\u003e\u003ccode\u003e@​aerosta\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix shared callback state in parallel OptunaSearchCV with LightGBM (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/260\"\u003eoptuna/optuna-integration#260\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Quant-Quasar\"\u003e\u003ccode\u003e@​Quant-Quasar\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix GPSampler crash when torch default device is CUDA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6418\"\u003e#6418\u003c/a\u003e, thanks \u003ca href=\"https://github.com/VedantMadane\"\u003e\u003ccode\u003e@​VedantMadane\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix combination between \u003ccode\u003ePartialFixedSampler\u003c/code\u003e and \u003ccode\u003eTPESampler\u003c/code\u003e with group decomposed search space (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6428\"\u003e#6428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTPESampler\u003c/code\u003e with \u003ccode\u003emultivariate\u003c/code\u003e and \u003ccode\u003econstant_liar\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDocumentation\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd documentation indicating that \u003ccode\u003eWilcoxonPruner\u003c/code\u003e requires \u003ccode\u003escipy\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6477\"\u003e#6477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove version \u0026amp; language selectors in the sidebar of docs (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6482\"\u003e#6482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eExamples\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eApply black 26.1.0 (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/348\"\u003eoptuna/optuna-examples#348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove CI workflow for allennlp since no longer maintained (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/351\"\u003eoptuna/optuna-examples#351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce the frequency of scheduled CI triggers (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/352\"\u003eoptuna/optuna-examples#352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove the scheduled trigger for \u003ccode\u003eaim\u003c/code\u003e CI (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/353\"\u003eoptuna/optuna-examples#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd constraint to \u003ccode\u003etransformers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/355\"\u003eoptuna/optuna-examples#355\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eTests\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/689c62dbfc14f3476c51c14fda2e4f818ed2ee30\"\u003e\u003ccode\u003e689c62d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6509\"\u003e#6509\u003c/a\u003e from y0z/feature/bump-up-release480\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/9e2e0658ee6205c69993cf4204fabe6353249441\"\u003e\u003ccode\u003e9e2e065\u003c/code\u003e\u003c/a\u003e Bump up version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/54fe633c042be32f9a8c90b440e81c05406448d2\"\u003e\u003ccode\u003e54fe633\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6507\"\u003e#6507\u003c/a\u003e from sateeshkumarb/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/8efb8b4ffd749a95610e537a597ccaabde2e97db\"\u003e\u003ccode\u003e8efb8b4\u003c/code\u003e\u003c/a\u003e Move imports used for typecheck under TYPE_CHCKING\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/c0fcd2e4bba33783aa5e61e94be29dfc2cdcac0a\"\u003e\u003ccode\u003ec0fcd2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6506\"\u003e#6506\u003c/a\u003e from acabellom/fix-fstring-file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/087cc9d85e431df96ac54bec1de992fac9260e80\"\u003e\u003ccode\u003e087cc9d\u003c/code\u003e\u003c/a\u003e Replace .format() with f-strings in 002_configurations.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/274f5b906accb795569550164f418dd3f40338c2\"\u003e\u003ccode\u003e274f5b9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e from not522/fix-multivariate-constant_liar\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/ce882f6a4e1b0ecc328373cf989cbb16debdf1f6\"\u003e\u003ccode\u003ece882f6\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6265\"\u003e#6265\u003c/a\u003e from not522/relative-use-cache\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/f9e546d71f3fe515ee0df37ffe49d83f1f294c58\"\u003e\u003ccode\u003ef9e546d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e from aerosta/fix/pareto-front-warning-message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/535215b3890f10b0cd96e6a22aaad58821769c3d\"\u003e\u003ccode\u003e535215b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6502\"\u003e#6502\u003c/a\u003e from nightcityblade/fix/issue-6029-patient-pruner\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/optuna/optuna/compare/v4.0.0...v4.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/frenken-lab/graphids/pull/36","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/frenken-lab%2Fgraphids/issues/36","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/36/packages"}},{"old_version":"4.1.0","new_version":"4.8.0","update_type":"minor","path":"/python/requirements/ml","pr_created_at":"2026-04-11T07:02:50.000Z","version_change":"4.1.0 → 4.8.0","issue":{"uuid":"4243452376","node_id":"PR_kwDOQHUjsc7RovPq","number":27,"state":"open","title":"[air](deps): Bump optuna from 4.1.0 to 4.8.0 in /python/requirements/ml","user":"dependabot[bot]","labels":["dependencies","python","stale"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-11T07:02:50.000Z","updated_at":"2026-04-25T12:29:18.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"[air](deps): Bump","packages":[{"name":"optuna","old_version":"4.1.0","new_version":"4.8.0","repository_url":"https://github.com/optuna/optuna"}],"path":"/python/requirements/ml","ecosystem":"pip"},"body":"Bumps [optuna](https://github.com/optuna/optuna) from 4.1.0 to 4.8.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.8.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/73?closed=1\"\u003ev4.8.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eSupport for Constant Liar Strategy to GPSampler\u003c/h2\u003e\n\u003cp\u003eA constant liar strategy for efficient parallelization has been introduced to GPSampler by \u003ca href=\"https://github.com/sawa3030\"\u003e\u003ccode\u003e@​sawa3030\u003c/code\u003e\u003c/a\u003e. The figures (left: v4.7.0, right: v4.8.0) show that the overlap of search points has decreased, and a wider variety of solutions are being explored. The experiment uses \u003ccode\u003en_jobs = 10\u003c/code\u003e and \u003ccode\u003en_trials = 100\u003c/code\u003e. Currently, this feature supports single-objective and unconstrained optimization. Further extensions are coming in v4.9.0.\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003ev4.7.0\u003c/th\u003e\n\u003cth\u003ev4.8.0\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eSHAP-like beeswarm plot visualization\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/yasumorishima\"\u003e\u003ccode\u003e@​yasumorishima\u003c/code\u003e\u003c/a\u003e introduces the new visualization to OptunaHub. Please refer to \u003ca href=\"https://hub.optuna.org/visualization/plot_beeswarm/\"\u003ehttps://hub.optuna.org/visualization/plot_beeswarm/\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch1\u003eNew Features\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Trackio Integration for Optuna (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/259\"\u003eoptuna/optuna-integration#259\u003c/a\u003e, thanks \u003ca href=\"https://github.com/ParagEkbote\"\u003e\u003ccode\u003e@​ParagEkbote\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eAdd constant liar strategy to \u003ccode\u003eGPSampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6430\"\u003e#6430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eValidate artifact_id in FileSystemArtifactStore to prevent path traversal (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6432\"\u003e#6432\u003c/a\u003e, thanks \u003ca href=\"https://github.com/RinZ27\"\u003e\u003ccode\u003e@​RinZ27\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003efix: correct inverted warning message in pareto front plot (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e, thanks \u003ca href=\"https://github.com/aerosta\"\u003e\u003ccode\u003e@​aerosta\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix shared callback state in parallel OptunaSearchCV with LightGBM (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/260\"\u003eoptuna/optuna-integration#260\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Quant-Quasar\"\u003e\u003ccode\u003e@​Quant-Quasar\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix GPSampler crash when torch default device is CUDA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6418\"\u003e#6418\u003c/a\u003e, thanks \u003ca href=\"https://github.com/VedantMadane\"\u003e\u003ccode\u003e@​VedantMadane\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix combination between \u003ccode\u003ePartialFixedSampler\u003c/code\u003e and \u003ccode\u003eTPESampler\u003c/code\u003e with group decomposed search space (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6428\"\u003e#6428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTPESampler\u003c/code\u003e with \u003ccode\u003emultivariate\u003c/code\u003e and \u003ccode\u003econstant_liar\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDocumentation\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd documentation indicating that \u003ccode\u003eWilcoxonPruner\u003c/code\u003e requires \u003ccode\u003escipy\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6477\"\u003e#6477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove version \u0026amp; language selectors in the sidebar of docs (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6482\"\u003e#6482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eExamples\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eApply black 26.1.0 (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/348\"\u003eoptuna/optuna-examples#348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove CI workflow for allennlp since no longer maintained (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/351\"\u003eoptuna/optuna-examples#351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce the frequency of scheduled CI triggers (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/352\"\u003eoptuna/optuna-examples#352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove the scheduled trigger for \u003ccode\u003eaim\u003c/code\u003e CI (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/353\"\u003eoptuna/optuna-examples#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd constraint to \u003ccode\u003etransformers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/355\"\u003eoptuna/optuna-examples#355\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eTests\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/689c62dbfc14f3476c51c14fda2e4f818ed2ee30\"\u003e\u003ccode\u003e689c62d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6509\"\u003e#6509\u003c/a\u003e from y0z/feature/bump-up-release480\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/9e2e0658ee6205c69993cf4204fabe6353249441\"\u003e\u003ccode\u003e9e2e065\u003c/code\u003e\u003c/a\u003e Bump up version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/54fe633c042be32f9a8c90b440e81c05406448d2\"\u003e\u003ccode\u003e54fe633\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6507\"\u003e#6507\u003c/a\u003e from sateeshkumarb/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/8efb8b4ffd749a95610e537a597ccaabde2e97db\"\u003e\u003ccode\u003e8efb8b4\u003c/code\u003e\u003c/a\u003e Move imports used for typecheck under TYPE_CHCKING\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/c0fcd2e4bba33783aa5e61e94be29dfc2cdcac0a\"\u003e\u003ccode\u003ec0fcd2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6506\"\u003e#6506\u003c/a\u003e from acabellom/fix-fstring-file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/087cc9d85e431df96ac54bec1de992fac9260e80\"\u003e\u003ccode\u003e087cc9d\u003c/code\u003e\u003c/a\u003e Replace .format() with f-strings in 002_configurations.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/274f5b906accb795569550164f418dd3f40338c2\"\u003e\u003ccode\u003e274f5b9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e from not522/fix-multivariate-constant_liar\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/ce882f6a4e1b0ecc328373cf989cbb16debdf1f6\"\u003e\u003ccode\u003ece882f6\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6265\"\u003e#6265\u003c/a\u003e from not522/relative-use-cache\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/f9e546d71f3fe515ee0df37ffe49d83f1f294c58\"\u003e\u003ccode\u003ef9e546d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e from aerosta/fix/pareto-front-warning-message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/535215b3890f10b0cd96e6a22aaad58821769c3d\"\u003e\u003ccode\u003e535215b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6502\"\u003e#6502\u003c/a\u003e from nightcityblade/fix/issue-6029-patient-pruner\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/optuna/optuna/compare/v4.1.0...v4.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=optuna\u0026package-manager=pip\u0026previous-version=4.1.0\u0026new-version=4.8.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/snorkel-marlin-repos/ray-project_ray_pr_56120_06682851-bf89-4562-a254-e28a6905a765/pull/27","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/snorkel-marlin-repos%2Fray-project_ray_pr_56120_06682851-bf89-4562-a254-e28a6905a765/issues/27","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/27/packages"}},{"old_version":"4.7.0","new_version":"4.8.0","update_type":"minor","path":null,"pr_created_at":"2026-04-06T11:19:13.000Z","version_change":"4.7.0 → 4.8.0","issue":{"uuid":"4211311075","node_id":"PR_kwDOQ_sTS87QL_6c","number":25,"state":"open","title":"deps: bump the python-minor group across 1 directory with 32 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-06T11:19:13.000Z","updated_at":"2026-04-06T11:19:14.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps: bump","group_name":"python-minor","update_count":32,"packages":[{"name":"pandas","old_version":"3.0.0","new_version":"3.0.2","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"scipy","old_version":"1.17.0","new_version":"1.17.1","repository_url":"https://github.com/scipy/scipy"},{"name":"tqdm","old_version":"4.67.1","new_version":"4.67.3","repository_url":"https://github.com/tqdm/tqdm"},{"name":"ipython","old_version":"9.9.0","new_version":"9.12.0","repository_url":"https://github.com/ipython/ipython"},{"name":"plotly","old_version":"6.5.2","new_version":"6.6.0","repository_url":"https://github.com/plotly/plotly.py"},{"name":"pandera","old_version":"0.29.0","new_version":"0.30.1","repository_url":"https://github.com/pandera-dev/pandera"},{"name":"shap","old_version":"0.49.1","new_version":"0.51.0","repository_url":"https://github.com/shap/shap"},{"name":"optuna","old_version":"4.7.0","new_version":"4.8.0","repository_url":"https://github.com/optuna/optuna"},{"name":"ruff","old_version":"0.15.1","new_version":"0.15.9","repository_url":"https://github.com/astral-sh/ruff"},{"name":"pytest-cov","old_version":"7.0.0","new_version":"7.1.0","repository_url":"https://github.com/pytest-dev/pytest-cov"},{"name":"certifi","old_version":"2026.1.4","new_version":"2026.2.25","repository_url":"https://github.com/certifi/python-certifi"},{"name":"charset-normalizer","old_version":"3.4.4","new_version":"3.4.7","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"click","old_version":"8.3.1","new_version":"8.3.2","repository_url":"https://github.com/pallets/click"},{"name":"coverage","old_version":"7.13.2","new_version":"7.13.5","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"flask","old_version":"3.1.2","new_version":"3.1.3","repository_url":"https://github.com/pallets/flask"},{"name":"fonttools","old_version":"4.61.1","new_version":"4.62.1","repository_url":"https://github.com/fonttools/fonttools"},{"name":"greenlet","old_version":"3.3.1","new_version":"3.3.2","repository_url":"https://github.com/python-greenlet/greenlet"},{"name":"kiwisolver","old_version":"1.4.9","new_version":"1.5.0","repository_url":"https://github.com/nucleic/kiwi"},{"name":"llvmlite","old_version":"0.46.0","new_version":"0.47.0","repository_url":"https://github.com/numba/llvmlite"},{"name":"narwhals","old_version":"2.15.0","new_version":"2.18.1","repository_url":"https://github.com/narwhals-dev/narwhals"},{"name":"numba","old_version":"0.63.1","new_version":"0.65.0","repository_url":"https://github.com/numba/numba"},{"name":"numpy","old_version":"2.3.5","new_version":"2.4.4","repository_url":"https://github.com/numpy/numpy"},{"name":"nvidia-nccl-cu12","old_version":"2.29.3","new_version":"2.29.7"},{"name":"parso","old_version":"0.8.5","new_version":"0.8.6","repository_url":"https://github.com/davidhalter/parso"},{"name":"pillow","old_version":"12.1.0","new_version":"12.2.0","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"pydantic-core","old_version":"2.41.5","new_version":"2.45.0","repository_url":"https://github.com/pydantic/pydantic-core"},{"name":"pygments","old_version":"2.19.2","new_version":"2.20.0","repository_url":"https://github.com/pygments/pygments"},{"name":"requests","old_version":"2.32.5","new_version":"2.33.1","repository_url":"https://github.com/psf/requests"},{"name":"sqlalchemy","old_version":"2.0.46","new_version":"2.0.49","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"typeguard","old_version":"4.4.4","new_version":"4.5.1","repository_url":"https://github.com/agronholm/typeguard"},{"name":"wcwidth","old_version":"0.3.1","new_version":"0.6.0","repository_url":"https://github.com/jquast/wcwidth"},{"name":"werkzeug","old_version":"3.1.5","new_version":"3.1.8","repository_url":"https://github.com/pallets/werkzeug"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor group with 32 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pandas](https://github.com/pandas-dev/pandas) | `3.0.0` | `3.0.2` |\n| [scipy](https://github.com/scipy/scipy) | `1.17.0` | `1.17.1` |\n| [tqdm](https://github.com/tqdm/tqdm) | `4.67.1` | `4.67.3` |\n| [ipython](https://github.com/ipython/ipython) | `9.9.0` | `9.12.0` |\n| [plotly](https://github.com/plotly/plotly.py) | `6.5.2` | `6.6.0` |\n| [pandera](https://github.com/pandera-dev/pandera) | `0.29.0` | `0.30.1` |\n| [shap](https://github.com/shap/shap) | `0.49.1` | `0.51.0` |\n| [optuna](https://github.com/optuna/optuna) | `4.7.0` | `4.8.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.1` | `0.15.9` |\n| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `7.0.0` | `7.1.0` |\n| [certifi](https://github.com/certifi/python-certifi) | `2026.1.4` | `2026.2.25` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.4` | `3.4.7` |\n| [click](https://github.com/pallets/click) | `8.3.1` | `8.3.2` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.13.2` | `7.13.5` |\n| [flask](https://github.com/pallets/flask) | `3.1.2` | `3.1.3` |\n| [fonttools](https://github.com/fonttools/fonttools) | `4.61.1` | `4.62.1` |\n| [greenlet](https://github.com/python-greenlet/greenlet) | `3.3.1` | `3.3.2` |\n| [kiwisolver](https://github.com/nucleic/kiwi) | `1.4.9` | `1.5.0` |\n| [llvmlite](https://github.com/numba/llvmlite) | `0.46.0` | `0.47.0` |\n| [narwhals](https://github.com/narwhals-dev/narwhals) | `2.15.0` | `2.18.1` |\n| [numba](https://github.com/numba/numba) | `0.63.1` | `0.65.0` |\n| [numpy](https://github.com/numpy/numpy) | `2.3.5` | `2.4.4` |\n| [nvidia-nccl-cu12](https://developer.nvidia.com/cuda-zone) | `2.29.3` | `2.29.7` |\n| [parso](https://github.com/davidhalter/parso) | `0.8.5` | `0.8.6` |\n| [pillow](https://github.com/python-pillow/Pillow) | `12.1.0` | `12.2.0` |\n| [pydantic-core](https://github.com/pydantic/pydantic-core) | `2.41.5` | `2.45.0` |\n| [pygments](https://github.com/pygments/pygments) | `2.19.2` | `2.20.0` |\n| [requests](https://github.com/psf/requests) | `2.32.5` | `2.33.1` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.46` | `2.0.49` |\n| [typeguard](https://github.com/agronholm/typeguard) | `4.4.4` | `4.5.1` |\n| [wcwidth](https://github.com/jquast/wcwidth) | `0.3.1` | `0.6.0` |\n| [werkzeug](https://github.com/pallets/werkzeug) | `3.1.5` | `3.1.8` |\n\n\nUpdates `pandas` from 3.0.0 to 3.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pandas-dev/pandas/releases\"\u003epandas's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epandas 3.0.2\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 3.0.2.\nThis is a patch release in the 3.0.x series and includes some regression fixes and bug fixes. We recommend that all users of the 3.0.x series upgrade to this version.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/docs/dev/whatsnew/v3.0.2.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\u003c/p\u003e\n\u003cp\u003ePandas 3.0 supports Python 3.11 and higher.\nThe release can be installed from PyPI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython -m pip install --upgrade pandas==3.0.*\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr from conda-forge\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install -c conda-forge pandas=3.0\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\u003c/p\u003e\n\u003ch2\u003epandas 3.0.1\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 3.0.1.\nThis is a patch release in the 3.0.x series and includes some regression fixes and bug fixes. We recommend that all users of the 3.0.x series upgrade to this version.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/docs/dev/whatsnew/v3.0.1.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\u003c/p\u003e\n\u003cp\u003ePandas 3.0.0 supports Python 3.11 and higher.\nThe release can be installed from PyPI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython -m pip install --upgrade pandas==3.0.*\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr from conda-forge\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install -c conda-forge pandas=3.0\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/ab90747e3dae0e69b1bdbf083820b8075689b34b\"\u003e\u003ccode\u003eab90747\u003c/code\u003e\u003c/a\u003e RLS: 3.0.2 (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64934\"\u003e#64934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/6f270137a27f8de4bd1afd7d71220e0760429750\"\u003e\u003ccode\u003e6f27013\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64931\"\u003e#64931\u003c/a\u003e on branch 3.0.x (DOC/BLD: temporary disable upload of docs...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/48ddc60d6efe8d942dbe1495dea725a9d7db15ef\"\u003e\u003ccode\u003e48ddc60\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64664\"\u003e#64664\u003c/a\u003e on branch 3.0.x (BUG: DataFrame.sum() crashes on empty Dat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/8774488df19d0859ddc05a24210783b66da27ef7\"\u003e\u003ccode\u003e8774488\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] PERF: fix slow python loop in validation for ArrowStringArra...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/33af6cc04ed6331c23a49655c4c7bb8f90351da3\"\u003e\u003ccode\u003e33af6cc\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64133\"\u003e#64133\u003c/a\u003e on branch 3.0.x (BUG: str.find returns byte offset instead...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/4ef49d815aae99b6ba5627ab0a54ba0819336652\"\u003e\u003ccode\u003e4ef49d8\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: fix convert_dtypes dropping values from sliced mixed-dt...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/0668f3451120e5552cdc8cf5d85f6d1238ce4e12\"\u003e\u003ccode\u003e0668f34\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: Fix HDFStore.put with StringDtype columns and compressi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/23f2f442ea1af6deddfefef2a4a1e4cb44328c3d\"\u003e\u003ccode\u003e23f2f44\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: Suppress unnecessary RuntimeWarning in to_datetime with...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/83ba804de35ec98798d31474d044cff7666bebd6\"\u003e\u003ccode\u003e83ba804\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64886\"\u003e#64886\u003c/a\u003e: BUG: Compute Variance of Complex Numbers Correctly (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64892\"\u003e#64892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/bb5ca1a7a96130fa0e8e2a3987c051e4473f7792\"\u003e\u003ccode\u003ebb5ca1a\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64386\"\u003e#64386\u003c/a\u003e on branch 3.0.x (BUG: fix sort_index AssertionError with R...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandas-dev/pandas/compare/v3.0.0...v3.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `scipy` from 1.17.0 to 1.17.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scipy/scipy/releases\"\u003escipy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eSciPy 1.17.1 Release Notes\u003c/h1\u003e\n\u003cp\u003eSciPy \u003ccode\u003e1.17.1\u003c/code\u003e is a bug-fix release with no new features compared to \u003ccode\u003e1.17.0\u003c/code\u003e.\u003c/p\u003e\n\u003ch1\u003eAuthors\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eName (commits)\u003c/li\u003e\n\u003cli\u003eEvgeni Burovski (5)\u003c/li\u003e\n\u003cli\u003eLucas Colley (1)\u003c/li\u003e\n\u003cli\u003eChristoph Gohlke (1)\u003c/li\u003e\n\u003cli\u003eRalf Gommers (6)\u003c/li\u003e\n\u003cli\u003eMatt Haberland (5)\u003c/li\u003e\n\u003cli\u003eMatthias Koeppe (1)\u003c/li\u003e\n\u003cli\u003eNick ODell (1)\u003c/li\u003e\n\u003cli\u003eIlhan Polat (10)\u003c/li\u003e\n\u003cli\u003eTyler Reddy (44)\u003c/li\u003e\n\u003cli\u003eMartin Schuck (3)\u003c/li\u003e\n\u003cli\u003eDan Schult (3)\u003c/li\u003e\n\u003cli\u003estratakis (1) +\u003c/li\u003e\n\u003cli\u003eਗਗਨਦੀਪ ਸਿੰਘ (Gagandeep Singh) (1)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eA total of 13 people contributed to this release.\nPeople with a \u0026quot;+\u0026quot; by their names contributed a patch for the first time.\nThis list of names is automatically generated, and may not be fully complete.\u003c/p\u003e\n\u003cp\u003eComplete issue list, PR list, and release asset hashes are available in the associated \u003ca href=\"https://github.com/scipy/scipy/releases/download/v1.17.1/README.txt\"\u003e\u003ccode\u003eREADME.txt\u003c/code\u003e\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/527eb7fd7953a1de068f94bf8b322f249b9405ae\"\u003e\u003ccode\u003e527eb7f\u003c/code\u003e\u003c/a\u003e REL: 1.17.1 release commit [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/f11663bf044f1cb5a0112a28ac238f902ae36eea\"\u003e\u003ccode\u003ef11663b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/scipy/scipy/issues/24584\"\u003e#24584\u003c/a\u003e from tylerjereddy/treddy_prep_1.17.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/2c49e68b634d2657380ca7b65207c6122e83cb72\"\u003e\u003ccode\u003e2c49e68\u003c/code\u003e\u003c/a\u003e DOC: PR 24584 revisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/400fa15ed6f9fece4c3848e9eade0e7d5e5aece0\"\u003e\u003ccode\u003e400fa15\u003c/code\u003e\u003c/a\u003e safely convert index dtypes to intc for csgraph and superLU\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/8c704044ab6f8f3e94295f354dbadfcab9139837\"\u003e\u003ccode\u003e8c70404\u003c/code\u003e\u003c/a\u003e MAINT: PR 24584 revisions [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/6dda8c13c534a61bc56c7b11bb5841efbd37d9dd\"\u003e\u003ccode\u003e6dda8c1\u003c/code\u003e\u003c/a\u003e BUG: PR 24584 revisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/4a187e59ea9cde1f79b4fae9dbd8177adcf0ddf3\"\u003e\u003ccode\u003e4a187e5\u003c/code\u003e\u003c/a\u003e DOC: PR 24584 revisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/463ee9f72a5f1afe3363e86344a55eea1c1ba477\"\u003e\u003ccode\u003e463ee9f\u003c/code\u003e\u003c/a\u003e ENH: linalg/inv: re-enable overwrite_a for 2D inputs (\u003ca href=\"https://redirect.github.com/scipy/scipy/issues/24442\"\u003e#24442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/df746eed5eae0243969fd8de07770c4ace1dc65c\"\u003e\u003ccode\u003edf746ee\u003c/code\u003e\u003c/a\u003e BUG: linalg: restore dtypes in inv, solve, det\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scipy/scipy/commit/246bfeecbe56200ae4e265a70e06ccc64daee9c2\"\u003e\u003ccode\u003e246bfee\u003c/code\u003e\u003c/a\u003e MAINT:optimize: Enable multi-phase init to DIRECT\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/scipy/scipy/compare/v1.17.0...v1.17.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tqdm` from 4.67.1 to 4.67.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tqdm/tqdm/releases\"\u003etqdm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etqdm v4.67.3 stable\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix py3.7 dependencies (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1706\"\u003e#1706\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1705\"\u003e#1705\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etqdm v4.67.2 stable\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport \u003ccode\u003epandas\u0026gt;=3\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1703\"\u003e#1703\u003c/a\u003e \u0026lt;- \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1701\"\u003e#1701\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1650\"\u003e#1650\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1700\"\u003e#1700\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix \u003ccode\u003eformat_interval\u003c/code\u003e for negative numbers (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1703\"\u003e#1703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emisc linting\u003c/li\u003e\n\u003cli\u003eframework updates (\u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1704\"\u003e#1704\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003ebump CI workflow \u0026amp; \u003ccode\u003epre-commit\u003c/code\u003e dependencies\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003epyupgrade\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eadd py3.13 support\u003c/li\u003e\n\u003cli\u003efix py3.7 tests\u003c/li\u003e\n\u003cli\u003eupdate \u003ccode\u003esetuptools-scm\u003c/code\u003e usage\u003c/li\u003e\n\u003cli\u003esupport auto-dedented docstrings when building docs in py3.13\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003etests: relax flaky benchmarks\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/75bdb6c379bcfc6c592b6342dc791a092b5d6ae0\"\u003e\u003ccode\u003e75bdb6c\u003c/code\u003e\u003c/a\u003e fix py3.7 compat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/09a863bf4658f19a911eb7d3fa4f9e4eb0b33496\"\u003e\u003ccode\u003e09a863b\u003c/code\u003e\u003c/a\u003e bump version, merge pull request \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1704\"\u003e#1704\u003c/a\u003e from tqdm/devel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/33d24cdbd4bd958cdc6cecbbcc903b52f8c37a05\"\u003e\u003ccode\u003e33d24cd\u003c/code\u003e\u003c/a\u003e update pyproject syntax\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/70b912484824f130be0506c2e139a1f764751fac\"\u003e\u003ccode\u003e70b9124\u003c/code\u003e\u003c/a\u003e add py3.13 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/a74d8f8d97d2f77937e09a32a9e1975e167261d6\"\u003e\u003ccode\u003ea74d8f8\u003c/code\u003e\u003c/a\u003e drop _dist_ver\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/14d72e2c18ba34363d629a43794a47513a9aa368\"\u003e\u003ccode\u003e14d72e2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tqdm/tqdm/issues/1703\"\u003e#1703\u003c/a\u003e from wingding12/fix-pandas-3.0-and-negative-interval\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/a69dac84b3d2e7ab23dbfcccae29b28a753ee5eb\"\u003e\u003ccode\u003ea69dac8\u003c/code\u003e\u003c/a\u003e fix dedented docstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/a986d228405324ca422050e4787118c187cb870f\"\u003e\u003ccode\u003ea986d22\u003c/code\u003e\u003c/a\u003e tests: fix pandas deprecation warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/bb7aa4ddb706b9d99b72a811eb62ea35553ff1e2\"\u003e\u003ccode\u003ebb7aa4d\u003c/code\u003e\u003c/a\u003e tests: fix pandas deprecated applymap\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tqdm/tqdm/commit/0647db1c7480a21eb08ba214b0756d232e079e3a\"\u003e\u003ccode\u003e0647db1\u003c/code\u003e\u003c/a\u003e misc tidy\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tqdm/tqdm/compare/v4.67.1...v4.67.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ipython` from 9.9.0 to 9.12.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/d9c6e314c3f31cb624cd443448e9094fdd49a1eb\"\u003e\u003ccode\u003ed9c6e31\u003c/code\u003e\u003c/a\u003e release 9.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/4c560d21ec7d6f72d2f150400fdab010790c81d7\"\u003e\u003ccode\u003e4c560d2\u003c/code\u003e\u003c/a\u003e security note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/bf954e4665168eeac39626164d76a646b683eaeb\"\u003e\u003ccode\u003ebf954e4\u003c/code\u003e\u003c/a\u003e Add release notes for 9.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/bfbdaaf71efae1d70ededaa0c0375400d7692d29\"\u003e\u003ccode\u003ebfbdaaf\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'ghsa/windows-programdata'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/8aae9a39bd6b44d4a798540a8d4863f73593ff57\"\u003e\u003ccode\u003e8aae9a3\u003c/code\u003e\u003c/a\u003e strip ansi for comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/e1aadc2c607df59f4d7313c60257ef9d43a46d7a\"\u003e\u003ccode\u003ee1aadc2\u003c/code\u003e\u003c/a\u003e fix test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/f48986a01e14eaed3504c474725e98700deae298\"\u003e\u003ccode\u003ef48986a\u003c/code\u003e\u003c/a\u003e fix-test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/d9b5285f5cb06aba35d4c3842cee7d2795afed7c\"\u003e\u003ccode\u003ed9b5285\u003c/code\u003e\u003c/a\u003e try to group tb frames\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/323552ea59fab72dcb36e4960caaffc18d3c5dae\"\u003e\u003ccode\u003e323552e\u003c/code\u003e\u003c/a\u003e Interleave fast and slow traceback path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/22cd33275bfccae3666f9f54d7f90fab924e517b\"\u003e\u003ccode\u003e22cd332\u003c/code\u003e\u003c/a\u003e Fix missing space in pdb chained exceptions warning message\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ipython/ipython/compare/9.9.0...9.12.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.5.2 to 6.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/plotly/plotly.py/releases\"\u003eplotly's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.6.0\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove unneeded \u003ccode\u003etype=\u0026quot;text/javascript\u0026quot;\u003c/code\u003e attribute from \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e tag [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5454\"\u003e#5454\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/hannob\"\u003e\u003ccode\u003e@​hannob\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eRemove global warning format side effect [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5481\"\u003e#5481\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/emmanuel-ferdman\"\u003e\u003ccode\u003e@​emmanuel-ferdman\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eFix spurious engine deprecation warning in write_image [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5517\"\u003e#5517\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/mosh3eb\"\u003e\u003ccode\u003e@​mosh3eb\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate plotly.js from version 3.3.1 to version 3.4.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.4.0\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5527\"\u003e#5527\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd support for clicking legend titles to toggle visibility of all traces in legend [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7698\"\u003e#7698\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for shapes to reference multiple axes [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7666\"\u003e#7666\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for dashed marker lines in scatter plots [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7673\"\u003e#7673\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eIncrease axis autorange when bar charts have outside text labels, to avoid labels being clipped [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7675\"\u003e#7675\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/plotly/plotly.py/compare/v6.5.2...v6.6.0\"\u003ehttps://github.com/plotly/plotly.py/compare/v6.5.2...v6.6.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/plotly/plotly.py/blob/main/CHANGELOG.md\"\u003eplotly's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[6.6.0] - 2026-03-02\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove unneeded \u003ccode\u003etype=\u0026quot;text/javascript\u0026quot;\u003c/code\u003e attribute from \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e tag [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5454\"\u003e#5454\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/hannob\"\u003e\u003ccode\u003e@​hannob\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eRemove global warning format side effect [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5481\"\u003e#5481\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/emmanuel-ferdman\"\u003e\u003ccode\u003e@​emmanuel-ferdman\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003cli\u003eFix spurious engine deprecation warning in write_image [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5517\"\u003e#5517\u003c/a\u003e], with thanks to \u003ca href=\"https://github.com/mosh3eb\"\u003e\u003ccode\u003e@​mosh3eb\u003c/code\u003e\u003c/a\u003e for the contribution!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate plotly.js from version 3.3.1 to version 3.4.0. See the plotly.js \u003ca href=\"https://github.com/plotly/plotly.js/releases/tag/v3.4.0\"\u003erelease notes\u003c/a\u003e for more information. [\u003ca href=\"https://redirect.github.com/plotly/plotly.py/pull/5527\"\u003e#5527\u003c/a\u003e]. Notable changes include:\n\u003cul\u003e\n\u003cli\u003eAdd support for clicking legend titles to toggle visibility of all traces in legend [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7698\"\u003e#7698\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for shapes to reference multiple axes [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7666\"\u003e#7666\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eAdd support for dashed marker lines in scatter plots [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7673\"\u003e#7673\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003eIncrease axis autorange when bar charts have outside text labels, to avoid labels being clipped [\u003ca href=\"https://redirect.github.com/plotly/plotly.js/pull/7675\"\u003e#7675\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/837d27ec070275f4a18c321defcb24c4ecf5b20f\"\u003e\u003ccode\u003e837d27e\u003c/code\u003e\u003c/a\u003e changes for v6.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/e0278b3dee031cd634806a49b65a7dd7bba61dfe\"\u003e\u003ccode\u003ee0278b3\u003c/code\u003e\u003c/a\u003e update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/bb783da8cfd54a06794642490a25e1dfc504bc4b\"\u003e\u003ccode\u003ebb783da\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5516\"\u003e#5516\u003c/a\u003e from plotly/new-charts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/5aabff0817817cce330260b7f0e759f7fab75f36\"\u003e\u003ccode\u003e5aabff0\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into new-charts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/03fd2ed4dedcf9135e87bf01fee206bc7cac9142\"\u003e\u003ccode\u003e03fd2ed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/plotly/plotly.py/issues/5527\"\u003e#5527\u003c/a\u003e from plotly/update-plotlyjs-3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/aee4c33edf5554694cc9b7371e188bda02c90c24\"\u003e\u003ccode\u003eaee4c33\u003c/code\u003e\u003c/a\u003e update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/46a8aa297ca7158103fc9d4f43feee44fa3ef297\"\u003e\u003ccode\u003e46a8aa2\u003c/code\u003e\u003c/a\u003e update js artifacts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/7dc360cd1f42e997ebef09d2eeb30a6029edc2fa\"\u003e\u003ccode\u003e7dc360c\u003c/code\u003e\u003c/a\u003e update package-lock\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/cf1b9ae1d9ee673ef849118647487b6fb7e80890\"\u003e\u003ccode\u003ecf1b9ae\u003c/code\u003e\u003c/a\u003e upgrade plotly.js to v3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/plotly/plotly.py/commit/a4832a87756bdf6994934d83160ccc0121f5fb1b\"\u003e\u003ccode\u003ea4832a8\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into new-charts\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/plotly/plotly.py/compare/v6.5.2...v6.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pandera` from 0.29.0 to 0.30.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pandera-dev/pandera/releases\"\u003epandera's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.30.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor Pandera accessors to use schema registry for managing schemas by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2241\"\u003eunionai-oss/pandera#2241\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epolars: support instance types by \u003ca href=\"https://github.com/paramsehrdl\"\u003e\u003ccode\u003e@​paramsehrdl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2239\"\u003eunionai-oss/pandera#2239\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/paramsehrdl\"\u003e\u003ccode\u003e@​paramsehrdl\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2239\"\u003eunionai-oss/pandera#2239\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/unionai-oss/pandera/compare/v0.30.0...v0.30.1\"\u003ehttps://github.com/unionai-oss/pandera/compare/v0.30.0...v0.30.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.30.0: Support Pandas \u0026gt;=3 🐼\u003c/h2\u003e\n\u003ch1\u003e⭐️ Highlight\u003c/h1\u003e\n\u003cp\u003ePandera now supports Pandas \u0026gt;= 3!\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport pandas 3.0 by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2214\"\u003eunionai-oss/pandera#2214\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003epre-commit\u003c/code\u003e with \u003ccode\u003eprek\u003c/code\u003e and fix existing violations by \u003ca href=\"https://github.com/Dev-iL\"\u003e\u003ccode\u003e@​Dev-iL\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2225\"\u003eunionai-oss/pandera#2225\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove vestigial \u003ccode\u003eordering\u003c/code\u003e parameter from polars \u003ccode\u003eCategorical\u003c/code\u003e by \u003ca href=\"https://github.com/Dev-iL\"\u003e\u003ccode\u003e@​Dev-iL\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2226\"\u003eunionai-oss/pandera#2226\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd AGENTS.md by \u003ca href=\"https://github.com/Dev-iL\"\u003e\u003ccode\u003e@​Dev-iL\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2224\"\u003eunionai-oss/pandera#2224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix optional nested validation by \u003ca href=\"https://github.com/amerberg\"\u003e\u003ccode\u003e@​amerberg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2218\"\u003eunionai-oss/pandera#2218\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[🐼 pandas 3] change default string to pandas-native string by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2229\"\u003eunionai-oss/pandera#2229\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor empty DataFrame creation in DataFrameModel to eliminate deep copy by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2230\"\u003eunionai-oss/pandera#2230\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eimplement PydanticModel for polars by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2231\"\u003eunionai-oss/pandera#2231\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epolars column regex reports column name by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2233\"\u003eunionai-oss/pandera#2233\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix bug in custom parser, built-in check, drop invalid rows by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2234\"\u003eunionai-oss/pandera#2234\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eunpin geopandas by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2236\"\u003eunionai-oss/pandera#2236\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix pandas docs reference in conf.py by \u003ca href=\"https://github.com/cosmicBboy\"\u003e\u003ccode\u003e@​cosmicBboy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2237\"\u003eunionai-oss/pandera#2237\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/Dev-iL\"\u003e\u003ccode\u003e@​Dev-iL\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/unionai-oss/pandera/pull/2225\"\u003eunionai-oss/pandera#2225\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/unionai-oss/pandera/compare/v0.29.0...v0.30.0\"\u003ehttps://github.com/unionai-oss/pandera/compare/v0.29.0...v0.30.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/unionai-oss/pandera/commit/85a8af4bf37d7cf366cda926859638494435ab02\"\u003e\u003ccode\u003e85a8af4\u003c/code\u003e\u003c/a\u003e polars: support instance types (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2239\"\u003e#2239\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/00f9e70d5b8e8b9d3bc52fd662121aacf387e4fb\"\u003e\u003ccode\u003e00f9e70\u003c/code\u003e\u003c/a\u003e Refactor Pandera accessors to use schema registry for managing schemas (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2241\"\u003e#2241\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/e7e0e65879c32b36c3533a498c96bb5be2a3ee88\"\u003e\u003ccode\u003ee7e0e65\u003c/code\u003e\u003c/a\u003e fix pandas docs reference in conf.py (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2237\"\u003e#2237\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/61b1f90cf0283465d6487328ca3457439c11859f\"\u003e\u003ccode\u003e61b1f90\u003c/code\u003e\u003c/a\u003e unpin geopandas (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2236\"\u003e#2236\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/96e4f9f17666f4b2eccf88ab68af25f9848e6323\"\u003e\u003ccode\u003e96e4f9f\u003c/code\u003e\u003c/a\u003e fix bug in custom parser, built-in check, drop invalid rows (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2234\"\u003e#2234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/1be68563610336e08c3f8b2db224fb4d737135a5\"\u003e\u003ccode\u003e1be6856\u003c/code\u003e\u003c/a\u003e polars column regex reports column name (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2233\"\u003e#2233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/2aee13dcee12f5cc2e2467caaaa20ab158588e0f\"\u003e\u003ccode\u003e2aee13d\u003c/code\u003e\u003c/a\u003e implement PydanticModel for polars (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2231\"\u003e#2231\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/7492a0084f7d906085346a29fa3289a1da7c4734\"\u003e\u003ccode\u003e7492a00\u003c/code\u003e\u003c/a\u003e Refactor empty DataFrame creation in DataFrameModel to eliminate deepcopy and...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/766eddce54f00b562ae014889321b05f7574432c\"\u003e\u003ccode\u003e766eddc\u003c/code\u003e\u003c/a\u003e [🐼 pandas 3] change default string to pandas-native string (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2229\"\u003e#2229\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unionai-oss/pandera/commit/6900659ca7bc10544e0088b2b1d21b03995b641b\"\u003e\u003ccode\u003e6900659\u003c/code\u003e\u003c/a\u003e fix optional nested validation (\u003ca href=\"https://redirect.github.com/pandera-dev/pandera/issues/2218\"\u003e#2218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandera-dev/pandera/compare/v0.29.0...v0.30.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `shap` from 0.49.1 to 0.51.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/shap/shap/releases\"\u003eshap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.51.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: check first that the feature is not in the leaf node by \u003ca href=\"https://github.com/Far-naz\"\u003e\u003ccode\u003e@​Far-naz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4268\"\u003eshap/shap#4268\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix missing array to scalar conversion in MAPLE by \u003ca href=\"https://github.com/Scienfitz\"\u003e\u003ccode\u003e@​Scienfitz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4285\"\u003eshap/shap#4285\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix Python Version of Tree SHAP notebook by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4289\"\u003eshap/shap#4289\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix path-dependent SHAP NaN with small background datasets by \u003ca href=\"https://github.com/tudstudent\"\u003e\u003ccode\u003e@​tudstudent\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4272\"\u003eshap/shap#4272\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix IndexError in format_value() when handling empty strings by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4238\"\u003eshap/shap#4238\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix test_scatter_categorical for pandas 3.0 compatibility by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4253\"\u003eshap/shap#4253\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix SamplingExplainer.explain for Series. by \u003ca href=\"https://github.com/ljw20180420\"\u003e\u003ccode\u003e@​ljw20180420\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4200\"\u003eshap/shap#4200\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd tests for fixed masker by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4216\"\u003eshap/shap#4216\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd comprehensive type hints to production code by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4217\"\u003eshap/shap#4217\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eunpin versions and pin numba, skip causalml test by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4235\"\u003eshap/shap#4235\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify TreeExplainer binary classification returns different shapes per model by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4254\"\u003eshap/shap#4254\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd tests for explainers by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4218\"\u003eshap/shap#4218\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Colab Notebook to test GPUTreeExplainer by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4266\"\u003eshap/shap#4266\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix spelling error in docs: perterbation to perturbation by \u003ca href=\"https://github.com/laffertyryan0\"\u003e\u003ccode\u003e@​laffertyryan0\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4275\"\u003eshap/shap#4275\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate test_scatter to work with latest xgboost by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4278\"\u003eshap/shap#4278\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd ai usage policy at appropriate place in contributing, mention contributing in readme by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4279\"\u003eshap/shap#4279\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeprecate testing of newer llvmlite versions on macos x64_86 by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4286\"\u003eshap/shap#4286\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/ljw20180420\"\u003e\u003ccode\u003e@​ljw20180420\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4200\"\u003eshap/shap#4200\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4238\"\u003eshap/shap#4238\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/laffertyryan0\"\u003e\u003ccode\u003e@​laffertyryan0\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4275\"\u003eshap/shap#4275\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tudstudent\"\u003e\u003ccode\u003e@​tudstudent\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4272\"\u003eshap/shap#4272\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Far-naz\"\u003e\u003ccode\u003e@​Far-naz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4268\"\u003eshap/shap#4268\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Scienfitz\"\u003e\u003ccode\u003e@​Scienfitz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4285\"\u003eshap/shap#4285\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/shap/shap/compare/v0.50.0...v0.51.0\"\u003ehttps://github.com/shap/shap/compare/v0.50.0...v0.51.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.50.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ehand over threshold_types to GPUTreeExplainer by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4181\"\u003eshap/shap#4181\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove base_score assignment by \u003ca href=\"https://github.com/lsdxp\"\u003e\u003ccode\u003e@​lsdxp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4187\"\u003eshap/shap#4187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest against python 3.14, remove support for python 3.9 and 3.10 by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4176\"\u003eshap/shap#4176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways force transformers label2id ids to integers by \u003ca href=\"https://github.com/evamaxfield\"\u003e\u003ccode\u003e@​evamaxfield\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4192\"\u003eshap/shap#4192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix gpu tree explainer tests by \u003ca href=\"https://github.com/CloseChoice\"\u003e\u003ccode\u003e@​CloseChoice\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4199\"\u003eshap/shap#4199\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/lsdxp\"\u003e\u003ccode\u003e@​lsdxp\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/shap/shap/pull/4187\"\u003eshap/shap#4187\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/shap/shap/commit/03a6cd101aee0c706cad1568419bfa9d3c4f494c\"\u003e\u003ccode\u003e03a6cd1\u003c/code\u003e\u003c/a\u003e fix Python Version of Tree SHAP notebook (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4289\"\u003e#4289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/e9440d603b28413031e99016b74650c4b62a0091\"\u003e\u003ccode\u003ee9440d6\u003c/code\u003e\u003c/a\u003e Fix missing array to scalar conversion in MAPLE (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4285\"\u003e#4285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/1afee43abe03b557e309f495bd6d3b9d7bc850ec\"\u003e\u003ccode\u003e1afee43\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4287\"\u003e#4287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/7e95ee28f5f0c2fd9f2489cd2475e627232cd9ae\"\u003e\u003ccode\u003e7e95ee2\u003c/code\u003e\u003c/a\u003e deprecate testing of newer llvmlite versions on macos x64_86 (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4286\"\u003e#4286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/61f0f8e3e0168aba1ca8f40bb8f352c37ad1519e\"\u003e\u003ccode\u003e61f0f8e\u003c/code\u003e\u003c/a\u003e fix: check first that the feature is not in the leaf node (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4268\"\u003e#4268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/a613dab7d9443a993a7c7f7e5bb5c9f28e309d3d\"\u003e\u003ccode\u003ea613dab\u003c/code\u003e\u003c/a\u003e update pyproject toml to ignore benchmark in test coverage (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4281\"\u003e#4281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/b4547a038b379f5f14abd3fa9b449d6f661a3ce2\"\u003e\u003ccode\u003eb4547a0\u003c/code\u003e\u003c/a\u003e mention contributing in readme and update AI Policy (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4279\"\u003e#4279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/89de977aac62c4708b3200622423261451c52421\"\u003e\u003ccode\u003e89de977\u003c/code\u003e\u003c/a\u003e add AI policy and claude skill\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/0eeea53d09a85b992a79f1ed1dd2d7e6ce04489f\"\u003e\u003ccode\u003e0eeea53\u003c/code\u003e\u003c/a\u003e Fix path-dependent SHAP NaN with small background datasets (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4272\"\u003e#4272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shap/shap/commit/24e86f3a4e47589ac4dcb1433b21aaa1ef832260\"\u003e\u003ccode\u003e24e86f3\u003c/code\u003e\u003c/a\u003e build(deps): bump qs and express in /javascript (\u003ca href=\"https://redirect.github.com/shap/shap/issues/4242\"\u003e#4242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/shap/shap/compare/v0.49.1...v0.51.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `optuna` from 4.7.0 to 4.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.8.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/73?closed=1\"\u003ev4.8.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eSupport for Constant Liar Strategy to GPSampler\u003c/h2\u003e\n\u003cp\u003eA constant liar strategy for efficient parallelization has been introduced to GPSampler by \u003ca href=\"https://github.com/sawa3030\"\u003e\u003ccode\u003e@​sawa3030\u003c/code\u003e\u003c/a\u003e. The figures (left: v4.7.0, right: v4.8.0) show that the overlap of search points has decreased, and a wider variety of solutions are being explored. The experiment uses \u003ccode\u003en_jobs = 10\u003c/code\u003e and \u003ccode\u003en_trials = 100\u003c/code\u003e. Currently, this feature supports single-objective and unconstrained optimization. Further extensions are coming in v4.9.0.\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003ev4.7.0\u003c/th\u003e\n\u003cth\u003ev4.8.0\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eSHAP-like beeswarm plot visualization\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/yasumorishima\"\u003e\u003ccode\u003e@​yasumorishima\u003c/code\u003e\u003c/a\u003e introduces the new visualization to OptunaHub. Please refer to \u003ca href=\"https://hub.optuna.org/visualization/plot_beeswarm/\"\u003ehttps://hub.optuna.org/visualization/plot_beeswarm/\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch1\u003eNew Features\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Trackio Integration for Optuna (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/259\"\u003eoptuna/optuna-integration#259\u003c/a\u003e, thanks \u003ca href=\"https://github.com/ParagEkbote\"\u003e\u003ccode\u003e@​ParagEkbote\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eAdd constant liar strategy to \u003ccode\u003eGPSampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6430\"\u003e#6430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eValidate artifact_id in FileSystemArtifactStore to prevent path traversal (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6432\"\u003e#6432\u003c/a\u003e, thanks \u003ca href=\"https://github.com/RinZ27\"\u003e\u003ccode\u003e@​RinZ27\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003efix: correct inverted warning message in pareto front plot (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e, thanks \u003ca href=\"https://github.com/aerosta\"\u003e\u003ccode\u003e@​aerosta\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix shared callback state in parallel OptunaSearchCV with LightGBM (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/260\"\u003eoptuna/optuna-integration#260\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Quant-Quasar\"\u003e\u003ccode\u003e@​Quant-Quasar\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix GPSampler crash when torch default device is CUDA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6418\"\u003e#6418\u003c/a\u003e, thanks \u003ca href=\"https://github.com/VedantMadane\"\u003e\u003ccode\u003e@​VedantMadane\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix combination between \u003ccode\u003ePartialFixedSampler\u003c/code\u003e and \u003ccode\u003eTPESampler\u003c/code\u003e with group decomposed search space (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6428\"\u003e#6428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTPESampler\u003c/code\u003e with \u003ccode\u003emultivariate\u003c/code\u003e and \u003ccode\u003econstant_liar\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDocumentation\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd documentation indicating that \u003ccode\u003eWilcoxonPruner\u003c/code\u003e requires \u003ccode\u003escipy\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6477\"\u003e#6477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove version \u0026amp; language selectors in the sidebar of docs (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6482\"\u003e#6482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eExamples\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eApply black 26.1.0 (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/348\"\u003eoptuna/optuna-examples#348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove CI workflow for allennlp since no longer maintained (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/351\"\u003eoptuna/optuna-examples#351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce the frequency of scheduled CI triggers (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/352\"\u003eoptuna/optuna-examples#352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove the scheduled trigger for \u003ccode\u003eaim\u003c/code\u003e CI (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/353\"\u003eoptuna/optuna-examples#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd constraint to \u003ccode\u003etransformers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/355\"\u003eoptuna/optuna-examples#355\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eTests\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/689c62dbfc14f3476c51c14fda2e4f818ed2ee30\"\u003e\u003ccode\u003e689c62d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6509\"\u003e#6509\u003c/a\u003e from y0z/feature/bump-up-release480\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/9e2e0658ee6205c69993cf4204fabe6353249441\"\u003e\u003ccode\u003e9e2e065\u003c/code\u003e\u003c/a\u003e Bump up version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/54fe633c042be32f9a8c90b440e81c05406448d2\"\u003e\u003ccode\u003e54fe633\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6507\"\u003e#6507\u003c/a\u003e from sateeshkumarb/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/8efb8b4ffd749a95610e537a597ccaabde2e97db\"\u003e\u003ccode\u003e8efb8b4\u003c/code\u003e\u003c/a\u003e Move imports used for typecheck under TYPE_CHCKING\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/c0fcd2e4bba33783aa5e61e94be29dfc2cdcac0a\"\u003e\u003ccode\u003ec0fcd2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6506\"\u003e#6506\u003c/a\u003e from acabellom/fix-fstring-file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/087cc9d85e431df96ac54bec1de992fac9260e80\"\u003e\u003ccode\u003e087cc9d\u003c/code\u003e\u003c/a\u003e Replace .format() with f-strings in 002_configurations.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/274f5b906accb795569550164f418dd3f40338c2\"\u003e\u003ccode\u003e274f5b9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e from not522/fix-multivariate-constant_liar\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/ce882f6a4e1b0ecc328373cf989cbb16debdf1f6\"\u003e\u003ccode\u003ece882f6\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6265\"\u003e#6265\u003c/a\u003e from not522/relative-use-cache\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/f9e546d71f3fe515ee0df37ffe49d83f1f294c58\"\u003e\u003ccode\u003ef9e546d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e from aerosta/fix/pareto-front-warning-message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/535215b3890f10b0cd96e6a22aaad58821769c3d\"\u003e\u003ccode\u003e535215b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6502\"\u003e#6502\u003c/a\u003e from nightcityblade/fix/issue-6029-patient-pruner\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/optuna/optuna/compare/v4.7.0...v4.8.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.15.1 to 0.15.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.9\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-04-02.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Flag annotated variable redeclarations as \u003ccode\u003eF811\u003c/code\u003e in preview mode (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24244\"\u003e#24244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Allow dunder-named assignments in non-strict mode for \u003ccode\u003eRUF067\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24089\"\u003e#24089\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-errmsg\u003c/code\u003e] Avoid shadowing existing \u003ccode\u003emsg\u003c/code\u003e in fix for \u003ccode\u003eEM101\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24363\"\u003e#24363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Ignore pre-initialization references in \u003ccode\u003eSIM113\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24235\"\u003e#24235\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epycodestyle\u003c/code\u003e] Fix \u003ccode\u003eW391\u003c/code\u003e fixes for consecutive empty notebook cells (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24236\"\u003e#24236\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix \u003ccode\u003eUP008\u003c/code\u003e nested class matching (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24273\"\u003e#24273\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Ignore strings with string-only escapes (\u003ccode\u003eUP012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/16058\"\u003e#16058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] \u003ccode\u003eRUF072\u003c/code\u003e: skip formfeeds on dedent (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24308\"\u003e#24308\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Avoid re-using symbol in \u003ccode\u003eRUF024\u003c/code\u003e fix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24316\"\u003e#24316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Parenthesize expression in \u003ccode\u003eRUF050\u003c/code\u003e fix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24234\"\u003e#24234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisallow starred expressions as values of starred expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24280\"\u003e#24280\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-simplify\u003c/code\u003e] Suppress \u003ccode\u003eSIM105\u003c/code\u003e for \u003ccode\u003eexcept*\u003c/code\u003e before Python 3.12 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23869\"\u003e#23869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Extend \u003ccode\u003eF507\u003c/code\u003e to flag \u003ccode\u003e%\u003c/code\u003e-format strings with zero placeholders (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24215\"\u003e#24215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] \u003ccode\u003eUP018\u003c/code\u003e should detect more unnecessarily wrapped literals (UP018) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24093\"\u003e#24093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix \u003ccode\u003eUP008\u003c/code\u003e callable scope handling to support lambdas (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24274\"\u003e#24274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] \u003ccode\u003eRUF010\u003c/code\u003e: Mark fix as unsafe when it deletes a comment (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24270\"\u003e#24270\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFormatter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003enested-string-quote-style\u003c/code\u003e formatting option (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24312\"\u003e#24312\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Clarify RUF071 fix safety for non-path string comparisons (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24149\"\u003e#24149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Clarify import cycle wording for \u003ccode\u003eTC001\u003c/code\u003e/\u003ccode\u003eTC002\u003c/code\u003e/\u003ccode\u003eTC003\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24322\"\u003e#24322\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid rendering fix lines with trailing whitespace after \u003ccode\u003e|\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24343\"\u003e#24343\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/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\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\u003cli\u003e\u003ca href=\"https://github.com/tranhoangtu-it\"\u003e\u003ccode\u003e@​tranhoangtu-it\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylwil3\"\u003e\u003ccode\u003e@​dylwil3\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zsol\"\u003e\u003ccode\u003e@​zsol\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.9\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-04-02.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Flag annotated variable redeclarations as \u003ccode\u003eF811\u003c/code\u003e in preview mode (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24244\"\u003e#24244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Allow dunder-named assignments in non-strict mode for \u003ccode\u003eRUF067\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24089\"\u003e#24089\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-errmsg\u003c/code\u003e] Avoid shadowing existing \u003ccode\u003emsg\u003c/code\u003e in fix for \u003ccode\u003eEM101\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24363\"\u003e#24363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Ignore pre-initialization references in \u003ccode\u003eSIM113\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24235\"\u003e#24235\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epycodestyle\u003c/code\u003e] Fix \u003ccode\u003eW391\u003c/code\u003e fixes for consecutive empty notebook cells (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24236\"\u003e#24236\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix \u003ccode\u003eUP008\u003c/code\u003e nested class matching (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24273\"\u003e#24273\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Ignore strings with string-only escapes (\u003ccode\u003eUP012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/16058\"\u003e#16058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] \u003ccode\u003eRUF072\u003c/code\u003e: skip formfeeds on dedent (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24308\"\u003e#24308\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Avoid re-using symbol in \u003ccode\u003eRUF024\u003c/code\u003e fix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24316\"\u003e#24316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Parenthesize expression in \u003ccode\u003eRUF050\u003c/code\u003e fix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24234\"\u003e#24234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisallow starred expressions as values of starred expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24280\"\u003e#24280\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-simplify\u003c/code\u003e] Suppress \u003ccode\u003eSIM105\u003c/code\u003e for \u003ccode\u003eexcept*\u003c/code\u003e before Python 3.12 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23869\"\u003e#23869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Extend \u003ccode\u003eF507\u003c/code\u003e to flag \u003ccode\u003e%\u003c/code\u003e-format strings with zero placeholders (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24215\"\u003e#24215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] \u003ccode\u003eUP018\u003c/code\u003e should detect more unnecessarily wrapped literals (UP018) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24093\"\u003e#24093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix \u003ccode\u003eUP008\u003c/code\u003e callable scope handling to support lambdas (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24274\"\u003e#24274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] \u003ccode\u003eRUF010\u003c/code\u003e: Mark fix as unsafe when it deletes a comment (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24270\"\u003e#24270\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFormatter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003enested-string-quote-style\u003c/code\u003e formatting option (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24312\"\u003e#24312\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Clarify RUF071 fix safety for non-path string comparisons (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24149\"\u003e#24149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Clarify import cycle wording for \u003ccode\u003eTC001\u003c/code\u003e/\u003ccode\u003eTC002\u003c/code\u003e/\u003ccode\u003eTC003\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24322\"\u003e#24322\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid rendering fix lines with trailing whitespace after \u003ccode\u003e|\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24343\"\u003e#24343\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/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\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\u003cli\u003e\u003ca href=\"https://github.com/tranhoangtu-it\"\u003e\u003ccode\u003e@​tranhoangtu-it\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylwil3\"\u003e\u003ccode\u003e@​dylwil3\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zsol\"\u003e\u003ccode\u003e@​zsol\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\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/724ccc1ae8a61e872cf58435f2c073189dc248f2\"\u003e\u003ccode\u003e724ccc1\u003c/code\u003e\u003c/a\u003e Bump 0.15.9 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24369\"\u003e#24369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/96d9e0964cb87498ef15510ea7f896ba336659f9\"\u003e\u003ccode\u003e96d9e09\u003c/code\u003e\u003c/a\u003e [ty] Move the \u003ccode\u003edeferred\u003c/code\u003e submodule inside \u003ccode\u003einfer/builder\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24368\"\u003e#24368\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/130da28d610a466721bb942e8a5e0ec47bbe3469\"\u003e\u003ccode\u003e130da28\u003c/code\u003e\u003c/a\u003e [ty] Infer the \u003ccode\u003eextra_items\u003c/code\u003e keyword argument to class-based TypedDicts as an...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a617c54b0708a8c1eb850cc3b2a5caee21137a28\"\u003e\u003ccode\u003ea617c54\u003c/code\u003e\u003c/a\u003e [ty] Validate type qualifiers in functional TypedDict fields and the `extra_i...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d8517087c6cd0aa4f33dcede605ff642941dd74b\"\u003e\u003ccode\u003ed851708\u003c/code\u003e\u003c/a\u003e [ty] Improve robustness of various type-qualifier-related checks (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24251\"\u003e#24251\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/aecb5877c6d6fe035c03aba994ec3a7b935b8f02\"\u003e\u003ccode\u003eaecb587\u003c/code\u003e\u003c/a\u003e Only run the release-gate on workflow dispatch (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24366\"\u003e#24366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b88957174311030927bf564da32d05dee0eb89d9\"\u003e\u003ccode\u003eb889571\u003c/code\u003e\u003c/a\u003e [ty] Use \u003ccode\u003einfer_type_expression\u003c/code\u003e for parsing parameter annotations and return...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/3286a62be986a8d6d04d95b3bc619f06e012fa2f\"\u003e\u003ccode\u003e3286a62\u003c/code\u003e\u003c/a\u003e Add a \u0026quot;release-gate\u0026quot; step to the release workflow (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24365\"\u003e#24365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/5f88756ee10e3faf0e96c883c34c95fc78200536\"\u003e\u003ccode\u003e5f88756\u003c/code\u003e\u003c/a\u003e Disallow starred expressions as values of starred expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24280\"\u003e#24280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/5c59f8a46965cac3470f09972196c8620faa4626\"\u003e\u003ccode\u003e5c59f8a\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epyupgrade\u003c/code\u003e] Ignore strings with string-only escapes (\u003ccode\u003eUP012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/16058\"\u003e#16058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.1...0.15.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-cov` from 7.0.0 to 7.1.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.1.0 (2026-03-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixed total coverage computation to always be consistent, regardless of reporting settings.\nPreviously some reports could produce different total counts, and consequently can make --cov-fail-under behave different depending on\nreporting options.\nSee \u003ccode\u003e[#641](https://github.com/pytest-dev/pytest-cov/issues/641) \u0026lt;https://github.com/pytest-dev/pytest-cov/issues/641\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImprove handling of ResourceWarning from sqlite3.\u003c/p\u003e\n\u003cp\u003eThe plugin adds warning filter for sqlite3 \u003ccode\u003eResourceWarning\u003c/code\u003e unclosed database (since 6.2.0).\nIt checks if there is already existing plugin for this message by comparing filter regular expression.\nWhen filter is specified on command line the message is escaped and does not match an expected message.\nA check for an escaped regular expression is added to handle this case.\u003c/p\u003e\n\u003cp\u003eWith this fix one can suppress \u003ccode\u003eResourceWarning\u003c/code\u003e from sqlite3 from command line::\u003c/p\u003e\n\u003cp\u003epytest -W \u0026quot;ignore:unclosed database in \u0026lt;sqlite3.Connection object at:ResourceWarning\u0026quot; ...\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eVarious improvements to documentation.\nContributed by Art Pelling in \u003ccode\u003e[#718](https://github.com/pytest-dev/pytest-cov/issues/718) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/718\u0026gt;\u003c/code\u003e_ and\n\u0026quot;vivodi\u0026quot; in \u003ccode\u003e[#738](https://github.com/pytest-dev/pytest-cov/issues/738) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/738\u0026gt;\u003c/code\u003e\u003cem\u003e.\nAlso closed \u003ccode\u003e[#736](https://github.com/pytest-dev/pytest-cov/issues/736) \u0026lt;https://github.com/pytest-dev/pytest-cov/issues/736\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed some assertions in tests.\nContributed by in Markéta Machová in \u003ccode\u003e[#722](https://github.com/pytest-dev/pytest-cov/issues/722) \u0026lt;https://github.com/pytest-dev/pytest-cov/pull/722\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemoved unnecessary coverage configuration copying (meant as a backup because reporting commands had configuration side-effects before coverage 5.0).\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/pytest-dev/pytest-cov/commit/66c8a526b1246b5eb8fb1bc218878131bc628622\"\u003e\u003ccode\u003e66c8a52\u003c/code\u003e\u003c/a\u003e Bump version: 7.0.0 → 7.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/f7076624784332594aa4cb3585d4757d295db15e\"\u003e\u003ccode\u003ef707662\u003c/code\u003e\u003c/a\u003e Make the examples use pypy 3.11.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/6049a7847872e3139e6c82e93787123df5dc8672\"\u003e\u003ccode\u003e6049a78\u003c/code\u003e\u003c/a\u003e Make context test use the old ctracer (seems the new sysmon tracer behaves di...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/8ebf20bbbc73478b3f8fd36d30237d9ea083f06b\"\u003e\u003ccode\u003e8ebf20b\u003c/code\u003e\u003c/a\u003e Update changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/861d30e60d571f97259c6b718b71c819d5dbc3b9\"\u003e\u003ccode\u003e861d30e\u003c/code\u003e\u003c/a\u003e Remove the backup context manager  - shouldn't be needed since coverage 5.0, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/fd4c956014035527f0c3c8d7faef3f8cfdadac7f\"\u003e\u003ccode\u003efd4c956\u003c/code\u003e\u003c/a\u003e Pass the precision on the nulled total (seems that there's some caching goion...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/78c9c4ecb005faf4962fd86ff7bf9c9cce9554d6\"\u003e\u003ccode\u003e78c9c4e\u003c/code\u003e\u003c/a\u003e Only run the 3.9 on older deps.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/4849a922e8be725c662a3d9175da571ace6545dc\"\u003e\u003ccode\u003e4849a92\u003c/code\u003e\u003c/a\u003e Punctuation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/197c35e2f37031fd1927715307ab6eed7cb3d2b7\"\u003e\u003ccode\u003e197c35e\u003c/code\u003e\u003c/a\u003e Update changelog and hopefully I don't forget to publish release again :))\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-cov/commit/14dc1c92d44108384e39803888635fdbfc578b7f\"\u003e\u003ccode\u003e14dc1c9\u003c/code\u003e\u003c/a\u003e Update examples to use 3.11 and make the adhoc layout example look a bit more...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-cov/compare/v7.0.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 `certifi` from 2026.1.4 to 2026.2.25\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/8571a4ba5205675107f9026d0008ad2d7a2778bf\"\u003e\u003ccode\u003e8571a4b\u003c/code\u003e\u003c/a\u003e 2026.02.25 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/395\"\u003e#395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/6f7de00579d292af565bbb8a947643219794eb6d\"\u003e\u003ccode\u003e6f7de00\u003c/code\u003e\u003c/a\u003e Bump peter-evans/create-pull-request from 8.0.0 to 8.1.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/390\"\u003e#390\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/a1de59b15105cad768afed4f066b36171134f04a\"\u003e\u003ccode\u003ea1de59b\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.1 to 6.0.2 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/certifi/python-certifi/commit/7f5ade5d8da615fd366e8de6a668271251c45d34\"\u003e\u003ccode\u003e7f5ade5\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 6.1.0 to 6.2.0 (\u003ca href=\"https://redirect.github.com/certifi/python-certifi/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/certifi/python-certifi/compare/2026.01.04...2026.02.25\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `charset-normalizer` from 3.4.4 to 3.4.7\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.7\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.6...3.4.7\"\u003e3.4.7\u003c/a\u003e (2026-04-02)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePre-built optimized version using mypy[c] v1.20.\u003c/li\u003e\n\u003cli\u003eRelax \u003ccode\u003esetuptools\u003c/code\u003e constraint to \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;82.1\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCorrectly remove SIG remnant in utf-7 decoded string. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/718\"\u003e#718\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/716\"\u003e#716\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.4.6\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.5...3.4.6\"\u003e3.4.6\u003c/a\u003e (2026-03-15)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFlattened the logic in \u003ccode\u003echarset_normalizer.md\u003c/code\u003e for higher performance. Removed \u003ccode\u003eeligible(..)\u003c/code\u003e and \u003ccode\u003efeed(...)\u003c/code\u003e\nin favor of \u003ccode\u003efeed_info(...)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound for mypy[c] to 1.20, for our optimized version.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eUNICODE_RANGES_COMBINED\u003c/code\u003e using Unicode blocks v17.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEdge case where noise difference between two candidates can be almost insignificant. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/672\"\u003e#672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCLI \u003ccode\u003e--normalize\u003c/code\u003e writing to wrong path when passing multiple files in. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/702\"\u003e#702\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFreethreaded pre-built wheels now shipped in PyPI starting with 3.14t. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/616\"\u003e#616\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 3.4.5\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Ousret/charset_normalizer/compare/3.4.4...3.4.5\"\u003e3.4.5\u003c/a\u003e (2026-03-06)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003esetuptools\u003c/code\u003e constraint to \u003ccode\u003esetuptools\u0026gt;=68,\u0026lt;=82\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRaised upper bound of mypyc for the optional pre-built extension to v1.19.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd explicit link to lib math in our optimized build. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/692\"\u003e#692\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLogger level not restored correctly for empty byte sequences. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/701\"\u003e#701\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTypeError when passing bytearray to from_bytes. (\u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/703\"\u003e#703\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eApplied safe micro-optimizations in both our noise detector and language detector.\u003c/li\u003e\n\u003cli\u003eRewrote the \u003ccode\u003equery_yes_no\u003c/code\u003e function (inside CLI) to avoid using ambiguous licensed code.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecd.py\u003c/code\u003e submodule into mypyc optional compilation to reduce further the performance impact.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\u003cbr /\u003e\nmypyc changed the usual binary output for the optimized wheel. Beware, especially if using PyInstaller or alike. See \u003ca href=\"https://redirect.github.com/jawah/charset_normalizer/issues/714\"\u003ejawah/charset_normalizer#714\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jawah/charset_normalizer/blob/master/CHANGELOG.md\"\u003echarset-normalizer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch...\n\n_Description has been truncated_","html_url":"https://github.com/iocariz/scoring_tools/pull/25","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/iocariz%2Fscoring_tools/issues/25","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/25/packages"}},{"old_version":"3.6.2","new_version":"4.8.0","update_type":"major","path":null,"pr_created_at":"2026-04-04T11:55:33.000Z","version_change":"3.6.2 → 4.8.0","issue":{"uuid":"4204721673","node_id":"PR_kwDORzaB6s7P87om","number":119,"state":"closed","title":"build(deps): Bump optuna from 3.6.2 to 4.8.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-04T14:19:09.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-04T11:55:33.000Z","updated_at":"2026-04-04T14:19:18.000Z","time_to_close":8616,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): Bump","packages":[{"name":"optuna","old_version":"3.6.2","new_version":"4.8.0","repository_url":"https://github.com/optuna/optuna"}],"path":null,"ecosystem":"pip"},"body":"Bumps [optuna](https://github.com/optuna/optuna) from 3.6.2 to 4.8.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.8.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/73?closed=1\"\u003ev4.8.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eSupport for Constant Liar Strategy to GPSampler\u003c/h2\u003e\n\u003cp\u003eA constant liar strategy for efficient parallelization has been introduced to GPSampler by \u003ca href=\"https://github.com/sawa3030\"\u003e\u003ccode\u003e@​sawa3030\u003c/code\u003e\u003c/a\u003e. The figures (left: v4.7.0, right: v4.8.0) show that the overlap of search points has decreased, and a wider variety of solutions are being explored. The experiment uses \u003ccode\u003en_jobs = 10\u003c/code\u003e and \u003ccode\u003en_trials = 100\u003c/code\u003e. Currently, this feature supports single-objective and unconstrained optimization. Further extensions are coming in v4.9.0.\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003ev4.7.0\u003c/th\u003e\n\u003cth\u003ev4.8.0\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eSHAP-like beeswarm plot visualization\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/yasumorishima\"\u003e\u003ccode\u003e@​yasumorishima\u003c/code\u003e\u003c/a\u003e introduces the new visualization to OptunaHub. Please refer to \u003ca href=\"https://hub.optuna.org/visualization/plot_beeswarm/\"\u003ehttps://hub.optuna.org/visualization/plot_beeswarm/\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch1\u003eNew Features\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Trackio Integration for Optuna (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/259\"\u003eoptuna/optuna-integration#259\u003c/a\u003e, thanks \u003ca href=\"https://github.com/ParagEkbote\"\u003e\u003ccode\u003e@​ParagEkbote\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eAdd constant liar strategy to \u003ccode\u003eGPSampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6430\"\u003e#6430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eValidate artifact_id in FileSystemArtifactStore to prevent path traversal (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6432\"\u003e#6432\u003c/a\u003e, thanks \u003ca href=\"https://github.com/RinZ27\"\u003e\u003ccode\u003e@​RinZ27\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003efix: correct inverted warning message in pareto front plot (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e, thanks \u003ca href=\"https://github.com/aerosta\"\u003e\u003ccode\u003e@​aerosta\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix shared callback state in parallel OptunaSearchCV with LightGBM (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/260\"\u003eoptuna/optuna-integration#260\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Quant-Quasar\"\u003e\u003ccode\u003e@​Quant-Quasar\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix GPSampler crash when torch default device is CUDA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6418\"\u003e#6418\u003c/a\u003e, thanks \u003ca href=\"https://github.com/VedantMadane\"\u003e\u003ccode\u003e@​VedantMadane\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix combination between \u003ccode\u003ePartialFixedSampler\u003c/code\u003e and \u003ccode\u003eTPESampler\u003c/code\u003e with group decomposed search space (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6428\"\u003e#6428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTPESampler\u003c/code\u003e with \u003ccode\u003emultivariate\u003c/code\u003e and \u003ccode\u003econstant_liar\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDocumentation\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd documentation indicating that \u003ccode\u003eWilcoxonPruner\u003c/code\u003e requires \u003ccode\u003escipy\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6477\"\u003e#6477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove version \u0026amp; language selectors in the sidebar of docs (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6482\"\u003e#6482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eExamples\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eApply black 26.1.0 (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/348\"\u003eoptuna/optuna-examples#348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove CI workflow for allennlp since no longer maintained (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/351\"\u003eoptuna/optuna-examples#351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce the frequency of scheduled CI triggers (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/352\"\u003eoptuna/optuna-examples#352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove the scheduled trigger for \u003ccode\u003eaim\u003c/code\u003e CI (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/353\"\u003eoptuna/optuna-examples#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd constraint to \u003ccode\u003etransformers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/355\"\u003eoptuna/optuna-examples#355\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eTests\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/689c62dbfc14f3476c51c14fda2e4f818ed2ee30\"\u003e\u003ccode\u003e689c62d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6509\"\u003e#6509\u003c/a\u003e from y0z/feature/bump-up-release480\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/9e2e0658ee6205c69993cf4204fabe6353249441\"\u003e\u003ccode\u003e9e2e065\u003c/code\u003e\u003c/a\u003e Bump up version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/54fe633c042be32f9a8c90b440e81c05406448d2\"\u003e\u003ccode\u003e54fe633\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6507\"\u003e#6507\u003c/a\u003e from sateeshkumarb/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/8efb8b4ffd749a95610e537a597ccaabde2e97db\"\u003e\u003ccode\u003e8efb8b4\u003c/code\u003e\u003c/a\u003e Move imports used for typecheck under TYPE_CHCKING\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/c0fcd2e4bba33783aa5e61e94be29dfc2cdcac0a\"\u003e\u003ccode\u003ec0fcd2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6506\"\u003e#6506\u003c/a\u003e from acabellom/fix-fstring-file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/087cc9d85e431df96ac54bec1de992fac9260e80\"\u003e\u003ccode\u003e087cc9d\u003c/code\u003e\u003c/a\u003e Replace .format() with f-strings in 002_configurations.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/274f5b906accb795569550164f418dd3f40338c2\"\u003e\u003ccode\u003e274f5b9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e from not522/fix-multivariate-constant_liar\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/ce882f6a4e1b0ecc328373cf989cbb16debdf1f6\"\u003e\u003ccode\u003ece882f6\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6265\"\u003e#6265\u003c/a\u003e from not522/relative-use-cache\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/f9e546d71f3fe515ee0df37ffe49d83f1f294c58\"\u003e\u003ccode\u003ef9e546d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e from aerosta/fix/pareto-front-warning-message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/535215b3890f10b0cd96e6a22aaad58821769c3d\"\u003e\u003ccode\u003e535215b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6502\"\u003e#6502\u003c/a\u003e from nightcityblade/fix/issue-6029-patient-pruner\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/optuna/optuna/compare/v3.6.2...v4.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=optuna\u0026package-manager=pip\u0026previous-version=3.6.2\u0026new-version=4.8.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/neuron7xLab/GeoSync/pull/119","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/neuron7xLab%2FGeoSync/issues/119","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/119/packages"}},{"old_version":"4.1.0","new_version":"4.8.0","update_type":"minor","path":"/python/requirements/ml","pr_created_at":"2026-04-04T07:05:24.000Z","version_change":"4.1.0 → 4.8.0","issue":{"uuid":"4203951839","node_id":"PR_kwDOQAVVjs7P7pZb","number":34,"state":"closed","title":"[air](deps): Bump optuna from 4.1.0 to 4.8.0 in /python/requirements/ml","user":"dependabot[bot]","labels":["dependencies","python","stale"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-05-02T12:33:00.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-04T07:05:24.000Z","updated_at":"2026-05-02T12:33:09.000Z","time_to_close":2438856,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"[air](deps): Bump","packages":[{"name":"optuna","old_version":"4.1.0","new_version":"4.8.0","repository_url":"https://github.com/optuna/optuna"}],"path":"/python/requirements/ml","ecosystem":"pip"},"body":"Bumps [optuna](https://github.com/optuna/optuna) from 4.1.0 to 4.8.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.8.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/73?closed=1\"\u003ev4.8.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eSupport for Constant Liar Strategy to GPSampler\u003c/h2\u003e\n\u003cp\u003eA constant liar strategy for efficient parallelization has been introduced to GPSampler by \u003ca href=\"https://github.com/sawa3030\"\u003e\u003ccode\u003e@​sawa3030\u003c/code\u003e\u003c/a\u003e. The figures (left: v4.7.0, right: v4.8.0) show that the overlap of search points has decreased, and a wider variety of solutions are being explored. The experiment uses \u003ccode\u003en_jobs = 10\u003c/code\u003e and \u003ccode\u003en_trials = 100\u003c/code\u003e. Currently, this feature supports single-objective and unconstrained optimization. Further extensions are coming in v4.9.0.\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003ev4.7.0\u003c/th\u003e\n\u003cth\u003ev4.8.0\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eSHAP-like beeswarm plot visualization\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/yasumorishima\"\u003e\u003ccode\u003e@​yasumorishima\u003c/code\u003e\u003c/a\u003e introduces the new visualization to OptunaHub. Please refer to \u003ca href=\"https://hub.optuna.org/visualization/plot_beeswarm/\"\u003ehttps://hub.optuna.org/visualization/plot_beeswarm/\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch1\u003eNew Features\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Trackio Integration for Optuna (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/259\"\u003eoptuna/optuna-integration#259\u003c/a\u003e, thanks \u003ca href=\"https://github.com/ParagEkbote\"\u003e\u003ccode\u003e@​ParagEkbote\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eAdd constant liar strategy to \u003ccode\u003eGPSampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6430\"\u003e#6430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eValidate artifact_id in FileSystemArtifactStore to prevent path traversal (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6432\"\u003e#6432\u003c/a\u003e, thanks \u003ca href=\"https://github.com/RinZ27\"\u003e\u003ccode\u003e@​RinZ27\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003efix: correct inverted warning message in pareto front plot (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e, thanks \u003ca href=\"https://github.com/aerosta\"\u003e\u003ccode\u003e@​aerosta\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix shared callback state in parallel OptunaSearchCV with LightGBM (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/260\"\u003eoptuna/optuna-integration#260\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Quant-Quasar\"\u003e\u003ccode\u003e@​Quant-Quasar\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix GPSampler crash when torch default device is CUDA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6418\"\u003e#6418\u003c/a\u003e, thanks \u003ca href=\"https://github.com/VedantMadane\"\u003e\u003ccode\u003e@​VedantMadane\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix combination between \u003ccode\u003ePartialFixedSampler\u003c/code\u003e and \u003ccode\u003eTPESampler\u003c/code\u003e with group decomposed search space (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6428\"\u003e#6428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTPESampler\u003c/code\u003e with \u003ccode\u003emultivariate\u003c/code\u003e and \u003ccode\u003econstant_liar\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDocumentation\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd documentation indicating that \u003ccode\u003eWilcoxonPruner\u003c/code\u003e requires \u003ccode\u003escipy\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6477\"\u003e#6477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove version \u0026amp; language selectors in the sidebar of docs (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6482\"\u003e#6482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eExamples\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eApply black 26.1.0 (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/348\"\u003eoptuna/optuna-examples#348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove CI workflow for allennlp since no longer maintained (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/351\"\u003eoptuna/optuna-examples#351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce the frequency of scheduled CI triggers (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/352\"\u003eoptuna/optuna-examples#352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove the scheduled trigger for \u003ccode\u003eaim\u003c/code\u003e CI (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/353\"\u003eoptuna/optuna-examples#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd constraint to \u003ccode\u003etransformers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/355\"\u003eoptuna/optuna-examples#355\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eTests\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/689c62dbfc14f3476c51c14fda2e4f818ed2ee30\"\u003e\u003ccode\u003e689c62d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6509\"\u003e#6509\u003c/a\u003e from y0z/feature/bump-up-release480\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/9e2e0658ee6205c69993cf4204fabe6353249441\"\u003e\u003ccode\u003e9e2e065\u003c/code\u003e\u003c/a\u003e Bump up version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/54fe633c042be32f9a8c90b440e81c05406448d2\"\u003e\u003ccode\u003e54fe633\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6507\"\u003e#6507\u003c/a\u003e from sateeshkumarb/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/8efb8b4ffd749a95610e537a597ccaabde2e97db\"\u003e\u003ccode\u003e8efb8b4\u003c/code\u003e\u003c/a\u003e Move imports used for typecheck under TYPE_CHCKING\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/c0fcd2e4bba33783aa5e61e94be29dfc2cdcac0a\"\u003e\u003ccode\u003ec0fcd2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6506\"\u003e#6506\u003c/a\u003e from acabellom/fix-fstring-file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/087cc9d85e431df96ac54bec1de992fac9260e80\"\u003e\u003ccode\u003e087cc9d\u003c/code\u003e\u003c/a\u003e Replace .format() with f-strings in 002_configurations.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/274f5b906accb795569550164f418dd3f40338c2\"\u003e\u003ccode\u003e274f5b9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e from not522/fix-multivariate-constant_liar\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/ce882f6a4e1b0ecc328373cf989cbb16debdf1f6\"\u003e\u003ccode\u003ece882f6\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6265\"\u003e#6265\u003c/a\u003e from not522/relative-use-cache\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/f9e546d71f3fe515ee0df37ffe49d83f1f294c58\"\u003e\u003ccode\u003ef9e546d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e from aerosta/fix/pareto-front-warning-message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/535215b3890f10b0cd96e6a22aaad58821769c3d\"\u003e\u003ccode\u003e535215b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6502\"\u003e#6502\u003c/a\u003e from nightcityblade/fix/issue-6029-patient-pruner\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/optuna/optuna/compare/v4.1.0...v4.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=optuna\u0026package-manager=pip\u0026previous-version=4.1.0\u0026new-version=4.8.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/snorkel-marlin-repos/ray-project_ray_pr_55717_baed0557-8a30-41e3-8979-53ad3a31cf9d/pull/34","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/snorkel-marlin-repos%2Fray-project_ray_pr_55717_baed0557-8a30-41e3-8979-53ad3a31cf9d/issues/34","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/34/packages"}},{"old_version":"4.1.0","new_version":"4.8.0","update_type":"minor","path":"/python/requirements/ml","pr_created_at":"2026-04-04T07:04:45.000Z","version_change":"4.1.0 → 4.8.0","issue":{"uuid":"4203950708","node_id":"PR_kwDOQAVSpM7P7pNj","number":33,"state":"open","title":"[air](deps): Bump optuna from 4.1.0 to 4.8.0 in /python/requirements/ml","user":"dependabot[bot]","labels":["dependencies","python","stale"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-04T07:04:45.000Z","updated_at":"2026-04-18T12:28:55.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"[air](deps): Bump","packages":[{"name":"optuna","old_version":"4.1.0","new_version":"4.8.0","repository_url":"https://github.com/optuna/optuna"}],"path":"/python/requirements/ml","ecosystem":"pip"},"body":"Bumps [optuna](https://github.com/optuna/optuna) from 4.1.0 to 4.8.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.8.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/73?closed=1\"\u003ev4.8.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eSupport for Constant Liar Strategy to GPSampler\u003c/h2\u003e\n\u003cp\u003eA constant liar strategy for efficient parallelization has been introduced to GPSampler by \u003ca href=\"https://github.com/sawa3030\"\u003e\u003ccode\u003e@​sawa3030\u003c/code\u003e\u003c/a\u003e. The figures (left: v4.7.0, right: v4.8.0) show that the overlap of search points has decreased, and a wider variety of solutions are being explored. The experiment uses \u003ccode\u003en_jobs = 10\u003c/code\u003e and \u003ccode\u003en_trials = 100\u003c/code\u003e. Currently, this feature supports single-objective and unconstrained optimization. Further extensions are coming in v4.9.0.\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003ev4.7.0\u003c/th\u003e\n\u003cth\u003ev4.8.0\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eSHAP-like beeswarm plot visualization\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/yasumorishima\"\u003e\u003ccode\u003e@​yasumorishima\u003c/code\u003e\u003c/a\u003e introduces the new visualization to OptunaHub. Please refer to \u003ca href=\"https://hub.optuna.org/visualization/plot_beeswarm/\"\u003ehttps://hub.optuna.org/visualization/plot_beeswarm/\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch1\u003eNew Features\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Trackio Integration for Optuna (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/259\"\u003eoptuna/optuna-integration#259\u003c/a\u003e, thanks \u003ca href=\"https://github.com/ParagEkbote\"\u003e\u003ccode\u003e@​ParagEkbote\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eAdd constant liar strategy to \u003ccode\u003eGPSampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6430\"\u003e#6430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eValidate artifact_id in FileSystemArtifactStore to prevent path traversal (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6432\"\u003e#6432\u003c/a\u003e, thanks \u003ca href=\"https://github.com/RinZ27\"\u003e\u003ccode\u003e@​RinZ27\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003efix: correct inverted warning message in pareto front plot (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e, thanks \u003ca href=\"https://github.com/aerosta\"\u003e\u003ccode\u003e@​aerosta\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix shared callback state in parallel OptunaSearchCV with LightGBM (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/260\"\u003eoptuna/optuna-integration#260\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Quant-Quasar\"\u003e\u003ccode\u003e@​Quant-Quasar\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix GPSampler crash when torch default device is CUDA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6418\"\u003e#6418\u003c/a\u003e, thanks \u003ca href=\"https://github.com/VedantMadane\"\u003e\u003ccode\u003e@​VedantMadane\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix combination between \u003ccode\u003ePartialFixedSampler\u003c/code\u003e and \u003ccode\u003eTPESampler\u003c/code\u003e with group decomposed search space (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6428\"\u003e#6428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTPESampler\u003c/code\u003e with \u003ccode\u003emultivariate\u003c/code\u003e and \u003ccode\u003econstant_liar\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDocumentation\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd documentation indicating that \u003ccode\u003eWilcoxonPruner\u003c/code\u003e requires \u003ccode\u003escipy\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6477\"\u003e#6477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove version \u0026amp; language selectors in the sidebar of docs (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6482\"\u003e#6482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eExamples\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eApply black 26.1.0 (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/348\"\u003eoptuna/optuna-examples#348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove CI workflow for allennlp since no longer maintained (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/351\"\u003eoptuna/optuna-examples#351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce the frequency of scheduled CI triggers (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/352\"\u003eoptuna/optuna-examples#352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove the scheduled trigger for \u003ccode\u003eaim\u003c/code\u003e CI (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/353\"\u003eoptuna/optuna-examples#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd constraint to \u003ccode\u003etransformers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/355\"\u003eoptuna/optuna-examples#355\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eTests\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/689c62dbfc14f3476c51c14fda2e4f818ed2ee30\"\u003e\u003ccode\u003e689c62d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6509\"\u003e#6509\u003c/a\u003e from y0z/feature/bump-up-release480\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/9e2e0658ee6205c69993cf4204fabe6353249441\"\u003e\u003ccode\u003e9e2e065\u003c/code\u003e\u003c/a\u003e Bump up version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/54fe633c042be32f9a8c90b440e81c05406448d2\"\u003e\u003ccode\u003e54fe633\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6507\"\u003e#6507\u003c/a\u003e from sateeshkumarb/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/8efb8b4ffd749a95610e537a597ccaabde2e97db\"\u003e\u003ccode\u003e8efb8b4\u003c/code\u003e\u003c/a\u003e Move imports used for typecheck under TYPE_CHCKING\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/c0fcd2e4bba33783aa5e61e94be29dfc2cdcac0a\"\u003e\u003ccode\u003ec0fcd2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6506\"\u003e#6506\u003c/a\u003e from acabellom/fix-fstring-file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/087cc9d85e431df96ac54bec1de992fac9260e80\"\u003e\u003ccode\u003e087cc9d\u003c/code\u003e\u003c/a\u003e Replace .format() with f-strings in 002_configurations.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/274f5b906accb795569550164f418dd3f40338c2\"\u003e\u003ccode\u003e274f5b9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e from not522/fix-multivariate-constant_liar\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/ce882f6a4e1b0ecc328373cf989cbb16debdf1f6\"\u003e\u003ccode\u003ece882f6\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6265\"\u003e#6265\u003c/a\u003e from not522/relative-use-cache\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/f9e546d71f3fe515ee0df37ffe49d83f1f294c58\"\u003e\u003ccode\u003ef9e546d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e from aerosta/fix/pareto-front-warning-message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/535215b3890f10b0cd96e6a22aaad58821769c3d\"\u003e\u003ccode\u003e535215b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6502\"\u003e#6502\u003c/a\u003e from nightcityblade/fix/issue-6029-patient-pruner\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/optuna/optuna/compare/v4.1.0...v4.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=optuna\u0026package-manager=pip\u0026previous-version=4.1.0\u0026new-version=4.8.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/snorkel-marlin-repos/ray-project_ray_pr_56513_43f4f4f0-f0f3-4b62-bc45-9d08bb2b35eb/pull/33","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/snorkel-marlin-repos%2Fray-project_ray_pr_56513_43f4f4f0-f0f3-4b62-bc45-9d08bb2b35eb/issues/33","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/33/packages"}},{"old_version":"4.7.0","new_version":"4.8.0","update_type":"minor","path":null,"pr_created_at":"2026-03-27T19:12:26.000Z","version_change":"4.7.0 → 4.8.0","issue":{"uuid":"4155292003","node_id":"PR_kwDOMl9L2s7OI2bH","number":238,"state":"open","title":"build(deps): bump the python-packages-minor-patch group with 10 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-27T19:12:26.000Z","updated_at":"2026-03-27T19:18:51.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"python-packages-minor-patch","update_count":10,"packages":[{"name":"aio-pika","old_version":"9.6.1","new_version":"9.6.2","repository_url":"https://github.com/mosquito/aio-pika"},{"name":"llama-index-core","old_version":"0.14.16","new_version":"0.14.19","repository_url":"https://github.com/run-llama/llama_index"},{"name":"llama-index-llms-openai","old_version":"0.6.26","new_version":"0.7.4"},{"name":"optuna","old_version":"4.7.0","new_version":"4.8.0","repository_url":"https://github.com/optuna/optuna"},{"name":"ipython","old_version":"9.11.0","new_version":"9.12.0","repository_url":"https://github.com/ipython/ipython"},{"name":"ruff","old_version":"0.15.5","new_version":"0.15.8","repository_url":"https://github.com/astral-sh/ruff"},{"name":"coverage","old_version":"7.13.4","new_version":"7.13.5","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"pytest-env","old_version":"1.5.0","new_version":"1.6.0","repository_url":"https://github.com/pytest-dev/pytest-env"},{"name":"mkdocs-jupyter","old_version":"0.25.1","new_version":"0.26.1","repository_url":"https://github.com/danielfrg/mkdocs-jupyter"},{"name":"mkdocs-material","old_version":"9.7.5","new_version":"9.7.6","repository_url":"https://github.com/squidfunk/mkdocs-material"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-packages-minor-patch group with 10 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [aio-pika](https://github.com/mosquito/aio-pika) | `9.6.1` | `9.6.2` |\n| [llama-index-core](https://github.com/run-llama/llama_index) | `0.14.16` | `0.14.19` |\n| llama-index-llms-openai | `0.6.26` | `0.7.4` |\n| [optuna](https://github.com/optuna/optuna) | `4.7.0` | `4.8.0` |\n| [ipython](https://github.com/ipython/ipython) | `9.11.0` | `9.12.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.5` | `0.15.8` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.13.4` | `7.13.5` |\n| [pytest-env](https://github.com/pytest-dev/pytest-env) | `1.5.0` | `1.6.0` |\n| [mkdocs-jupyter](https://github.com/danielfrg/mkdocs-jupyter) | `0.25.1` | `0.26.1` |\n| [mkdocs-material](https://github.com/squidfunk/mkdocs-material) | `9.7.5` | `9.7.6` |\n\nUpdates `aio-pika` from 9.6.1 to 9.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mosquito/aio-pika/releases\"\u003eaio-pika's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.6.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInclude license file in built distributions via project.license-files by \u003ca href=\"https://github.com/julia-thorn\"\u003e\u003ccode\u003e@​julia-thorn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mosquito/aio-pika/pull/698\"\u003emosquito/aio-pika#698\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/julia-thorn\"\u003e\u003ccode\u003e@​julia-thorn\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/mosquito/aio-pika/pull/698\"\u003emosquito/aio-pika#698\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/mosquito/aio-pika/compare/9.6.1...9.6.2\"\u003ehttps://github.com/mosquito/aio-pika/compare/9.6.1...9.6.2\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/mosquito/aio-pika/commit/8136a8cf6fd04413c9e6ac1a789944ac4b1a47fd\"\u003e\u003ccode\u003e8136a8c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mosquito/aio-pika/issues/698\"\u003e#698\u003c/a\u003e from julia-thorn/julia-thorn-patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mosquito/aio-pika/commit/31b82b102ac0133ff8322a3fc39db48409765055\"\u003e\u003ccode\u003e31b82b1\u003c/code\u003e\u003c/a\u003e Add license-files entry to pyproject.toml\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/mosquito/aio-pika/compare/9.6.1...9.6.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `llama-index-core` from 0.14.16 to 0.14.19\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/run-llama/llama_index/releases\"\u003ellama-index-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.19\u003c/h2\u003e\n\u003ch1\u003eRelease Notes\u003c/h1\u003e\n\u003ch2\u003e[2026-03-25]\u003c/h2\u003e\n\u003ch3\u003ellama-index-agent-agentmesh [0.2.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump the uv group across 49 directories with 1 update (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21083\"\u003e#21083\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-argilla [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump the uv group across 3 directories with 1 update (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21069\"\u003e#21069\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-core [0.14.19]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: pass \u003ccode\u003edelete_from_docstore\u003c/code\u003e parameter in \u003ccode\u003eBaseIndex.delete_ref_doc\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20990\"\u003e#20990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(core): preserve CTE names during schema prefixing in SQLDatabase.run_sql (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21028\"\u003e#21028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(core): align sync retrieval dedup key with async (hash + ref_doc_id) (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21034\"\u003e#21034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(core): raise ValueError instead of returning string from structured_predict (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21036\"\u003e#21036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(core): remove incorrect per-node delete calls in index helpers (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21050\"\u003e#21050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump the uv group across 49 directories with 1 update (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21083\"\u003e#21083\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump the uv group across 44 directories with 1 update (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21097\"\u003e#21097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eenable llama-cloud\u0026gt;1.0 install (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21140\"\u003e#21140\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-fireworks [0.5.2]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etest(embeddings-fireworks): add test suite and fix docs (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20977\"\u003e#20977\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-upstage [0.6.1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump the uv group across 49 directories with 1 update (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21083\"\u003e#21083\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-indices-managed-llama-cloud [0.11.1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: llama-cloud managed index and remove llamaparse reader (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21043\"\u003e#21043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eenable llama-cloud\u0026gt;1.0 install (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21140\"\u003e#21140\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-azure-openai [0.5.3]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eazure openai responses support (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21088\"\u003e#21088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix azure openai responses (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21099\"\u003e#21099\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-bedrock-converse [0.14.3]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003euse proper tool choice format in bedrock converse (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21098\"\u003e#21098\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-cohere [0.8.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs(cohere): update first basic usage example to chat API (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21108\"\u003e#21108\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/run-llama/llama_index/blob/main/CHANGELOG.md\"\u003ellama-index-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ellama-index-core [0.14.19]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: pass \u003ccode\u003edelete_from_docstore\u003c/code\u003e parameter in \u003ccode\u003eBaseIndex.delete_ref_doc\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20990\"\u003e#20990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(core): preserve CTE names during schema prefixing in SQLDatabase.run_sql (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21028\"\u003e#21028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(core): align sync retrieval dedup key with async (hash + ref_doc_id) (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21034\"\u003e#21034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(core): raise ValueError instead of returning string from structured_predict (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21036\"\u003e#21036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(core): remove incorrect per-node delete calls in index helpers (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21050\"\u003e#21050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump the uv group across 49 directories with 1 update (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21083\"\u003e#21083\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump the uv group across 44 directories with 1 update (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21097\"\u003e#21097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eenable llama-cloud\u0026gt;1.0 install (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21140\"\u003e#21140\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-fireworks [0.5.2]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etest(embeddings-fireworks): add test suite and fix docs (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20977\"\u003e#20977\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-upstage [0.6.1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump the uv group across 49 directories with 1 update (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21083\"\u003e#21083\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-indices-managed-llama-cloud [0.11.1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: llama-cloud managed index and remove llamaparse reader (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21043\"\u003e#21043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eenable llama-cloud\u0026gt;1.0 install (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21140\"\u003e#21140\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-azure-openai [0.5.3]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eazure openai responses support (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21088\"\u003e#21088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix azure openai responses (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21099\"\u003e#21099\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-bedrock-converse [0.14.3]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003euse proper tool choice format in bedrock converse (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21098\"\u003e#21098\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-cohere [0.8.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs(cohere): update first basic usage example to chat API (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21108\"\u003e#21108\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-google-genai [0.9.1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: gemini 3 default and temperature (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21060\"\u003e#21060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(google-genai): avoid mutating messages list in prepare_chat_params (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21141\"\u003e#21141\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-litellm [0.7.1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for custom LLM provider in model kwargs (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21095\"\u003e#21095\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-minimax [0.1.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add MiniMax LLM provider integration with M2.7 default (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20955\"\u003e#20955\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/run-llama/llama_index/commit/6a3269261d0df1ea8cc5adab8e16ffda6b166d58\"\u003e\u003ccode\u003e6a32692\u003c/code\u003e\u003c/a\u003e Release 0.14.19 (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21147\"\u003e#21147\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/1b21484406c09e50a6bc2727d2f0d45373af6fed\"\u003e\u003ccode\u003e1b21484\u003c/code\u003e\u003c/a\u003e enable llama-cloud\u0026gt;1.0 install (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21140\"\u003e#21140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/465959b10fdbf776a2a9482f7d2cb1652eab7c77\"\u003e\u003ccode\u003e465959b\u003c/code\u003e\u003c/a\u003e fix(google-genai): avoid mutating messages list in prepare_chat_params (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21141\"\u003e#21141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/c4e586301723d456c3999762c4a02e6a78f130b8\"\u003e\u003ccode\u003ec4e5863\u003c/code\u003e\u003c/a\u003e restrict new packages (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21139\"\u003e#21139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/ea76d2caee7433f0b598234c2154f12f463a5d6e\"\u003e\u003ccode\u003eea76d2c\u003c/code\u003e\u003c/a\u003e docs(cohere): update first basic usage example to chat API (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21108\"\u003e#21108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/58ee450dc074a663b69b9be6f37a972af65b9d15\"\u003e\u003ccode\u003e58ee450\u003c/code\u003e\u003c/a\u003e fix bedrock tests (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21129\"\u003e#21129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/c346327e51eaf26c84a495f8bee1f9ea81542bc7\"\u003e\u003ccode\u003ec346327\u003c/code\u003e\u003c/a\u003e fix azure openai responses (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21099\"\u003e#21099\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/2b74a92798d543ded57e7d392451ad0d64a74f8c\"\u003e\u003ccode\u003e2b74a92\u003c/code\u003e\u003c/a\u003e fix(ollama): pass custom headers to auto-created clients (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21091\"\u003e#21091\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/edd23cc730feb78002c08ba8aade1628238c5428\"\u003e\u003ccode\u003eedd23cc\u003c/code\u003e\u003c/a\u003e chore(deps): bump tornado from 6.5.4 to 6.5.5 in /docs/api_reference in the p...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/2cc2e465637c0900e8fd5cdea4bc70d0d965922c\"\u003e\u003ccode\u003e2cc2e46\u003c/code\u003e\u003c/a\u003e feat(llms/openai): Add support for Mini and Nano variants of GPT 5.4 (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21065\"\u003e#21065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/run-llama/llama_index/compare/v0.14.16...v0.14.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `llama-index-llms-openai` from 0.6.26 to 0.7.4\n\nUpdates `optuna` from 4.7.0 to 4.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.8.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/73?closed=1\"\u003ev4.8.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eSupport for Constant Liar Strategy to GPSampler\u003c/h2\u003e\n\u003cp\u003eA constant liar strategy for efficient parallelization has been introduced to GPSampler by \u003ca href=\"https://github.com/sawa3030\"\u003e\u003ccode\u003e@​sawa3030\u003c/code\u003e\u003c/a\u003e. The figures (left: v4.7.0, right: v4.8.0) show that the overlap of search points has decreased, and a wider variety of solutions are being explored. The experiment uses \u003ccode\u003en_jobs = 10\u003c/code\u003e and \u003ccode\u003en_trials = 100\u003c/code\u003e. Currently, this feature supports single-objective and unconstrained optimization. Further extensions are coming in v4.9.0.\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003ev4.7.0\u003c/th\u003e\n\u003cth\u003ev4.8.0\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003ctd\u003e\u003c!-- raw HTML omitted --\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eSHAP-like beeswarm plot visualization\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/yasumorishima\"\u003e\u003ccode\u003e@​yasumorishima\u003c/code\u003e\u003c/a\u003e introduces the new visualization to OptunaHub. Please refer to \u003ca href=\"https://hub.optuna.org/visualization/plot_beeswarm/\"\u003ehttps://hub.optuna.org/visualization/plot_beeswarm/\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch1\u003eNew Features\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Trackio Integration for Optuna (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/259\"\u003eoptuna/optuna-integration#259\u003c/a\u003e, thanks \u003ca href=\"https://github.com/ParagEkbote\"\u003e\u003ccode\u003e@​ParagEkbote\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eAdd constant liar strategy to \u003ccode\u003eGPSampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6430\"\u003e#6430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eValidate artifact_id in FileSystemArtifactStore to prevent path traversal (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6432\"\u003e#6432\u003c/a\u003e, thanks \u003ca href=\"https://github.com/RinZ27\"\u003e\u003ccode\u003e@​RinZ27\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003efix: correct inverted warning message in pareto front plot (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e, thanks \u003ca href=\"https://github.com/aerosta\"\u003e\u003ccode\u003e@​aerosta\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix shared callback state in parallel OptunaSearchCV with LightGBM (\u003ca href=\"https://redirect.github.com/optuna/optuna-integration/pull/260\"\u003eoptuna/optuna-integration#260\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Quant-Quasar\"\u003e\u003ccode\u003e@​Quant-Quasar\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix GPSampler crash when torch default device is CUDA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6418\"\u003e#6418\u003c/a\u003e, thanks \u003ca href=\"https://github.com/VedantMadane\"\u003e\u003ccode\u003e@​VedantMadane\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eFix combination between \u003ccode\u003ePartialFixedSampler\u003c/code\u003e and \u003ccode\u003eTPESampler\u003c/code\u003e with group decomposed search space (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6428\"\u003e#6428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTPESampler\u003c/code\u003e with \u003ccode\u003emultivariate\u003c/code\u003e and \u003ccode\u003econstant_liar\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDocumentation\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd documentation indicating that \u003ccode\u003eWilcoxonPruner\u003c/code\u003e requires \u003ccode\u003escipy\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6477\"\u003e#6477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove version \u0026amp; language selectors in the sidebar of docs (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6482\"\u003e#6482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eExamples\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eApply black 26.1.0 (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/348\"\u003eoptuna/optuna-examples#348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove CI workflow for allennlp since no longer maintained (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/351\"\u003eoptuna/optuna-examples#351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce the frequency of scheduled CI triggers (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/352\"\u003eoptuna/optuna-examples#352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove the scheduled trigger for \u003ccode\u003eaim\u003c/code\u003e CI (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/353\"\u003eoptuna/optuna-examples#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd constraint to \u003ccode\u003etransformers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/355\"\u003eoptuna/optuna-examples#355\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eTests\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/689c62dbfc14f3476c51c14fda2e4f818ed2ee30\"\u003e\u003ccode\u003e689c62d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6509\"\u003e#6509\u003c/a\u003e from y0z/feature/bump-up-release480\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/9e2e0658ee6205c69993cf4204fabe6353249441\"\u003e\u003ccode\u003e9e2e065\u003c/code\u003e\u003c/a\u003e Bump up version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/54fe633c042be32f9a8c90b440e81c05406448d2\"\u003e\u003ccode\u003e54fe633\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6507\"\u003e#6507\u003c/a\u003e from sateeshkumarb/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/8efb8b4ffd749a95610e537a597ccaabde2e97db\"\u003e\u003ccode\u003e8efb8b4\u003c/code\u003e\u003c/a\u003e Move imports used for typecheck under TYPE_CHCKING\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/c0fcd2e4bba33783aa5e61e94be29dfc2cdcac0a\"\u003e\u003ccode\u003ec0fcd2e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6506\"\u003e#6506\u003c/a\u003e from acabellom/fix-fstring-file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/087cc9d85e431df96ac54bec1de992fac9260e80\"\u003e\u003ccode\u003e087cc9d\u003c/code\u003e\u003c/a\u003e Replace .format() with f-strings in 002_configurations.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/274f5b906accb795569550164f418dd3f40338c2\"\u003e\u003ccode\u003e274f5b9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6505\"\u003e#6505\u003c/a\u003e from not522/fix-multivariate-constant_liar\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/ce882f6a4e1b0ecc328373cf989cbb16debdf1f6\"\u003e\u003ccode\u003ece882f6\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6265\"\u003e#6265\u003c/a\u003e from not522/relative-use-cache\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/f9e546d71f3fe515ee0df37ffe49d83f1f294c58\"\u003e\u003ccode\u003ef9e546d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6498\"\u003e#6498\u003c/a\u003e from aerosta/fix/pareto-front-warning-message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/535215b3890f10b0cd96e6a22aaad58821769c3d\"\u003e\u003ccode\u003e535215b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6502\"\u003e#6502\u003c/a\u003e from nightcityblade/fix/issue-6029-patient-pruner\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/optuna/optuna/compare/v4.7.0...v4.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ipython` from 9.11.0 to 9.12.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/d9c6e314c3f31cb624cd443448e9094fdd49a1eb\"\u003e\u003ccode\u003ed9c6e31\u003c/code\u003e\u003c/a\u003e release 9.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/4c560d21ec7d6f72d2f150400fdab010790c81d7\"\u003e\u003ccode\u003e4c560d2\u003c/code\u003e\u003c/a\u003e security note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/bf954e4665168eeac39626164d76a646b683eaeb\"\u003e\u003ccode\u003ebf954e4\u003c/code\u003e\u003c/a\u003e Add release notes for 9.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/bfbdaaf71efae1d70ededaa0c0375400d7692d29\"\u003e\u003ccode\u003ebfbdaaf\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'ghsa/windows-programdata'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/8aae9a39bd6b44d4a798540a8d4863f73593ff57\"\u003e\u003ccode\u003e8aae9a3\u003c/code\u003e\u003c/a\u003e strip ansi for comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/e1aadc2c607df59f4d7313c60257ef9d43a46d7a\"\u003e\u003ccode\u003ee1aadc2\u003c/code\u003e\u003c/a\u003e fix test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/f48986a01e14eaed3504c474725e98700deae298\"\u003e\u003ccode\u003ef48986a\u003c/code\u003e\u003c/a\u003e fix-test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/d9b5285f5cb06aba35d4c3842cee7d2795afed7c\"\u003e\u003ccode\u003ed9b5285\u003c/code\u003e\u003c/a\u003e try to group tb frames\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/323552ea59fab72dcb36e4960caaffc18d3c5dae\"\u003e\u003ccode\u003e323552e\u003c/code\u003e\u003c/a\u003e Interleave fast and slow traceback path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ipython/ipython/commit/22cd33275bfccae3666f9f54d7f90fab924e517b\"\u003e\u003ccode\u003e22cd332\u003c/code\u003e\u003c/a\u003e Fix missing space in pdb chained exceptions warning message\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ipython/ipython/compare/9.11.0...9.12.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.15.5 to 0.15.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.8\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-26.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003eunnecessary-if\u003c/code\u003e (\u003ccode\u003eRUF050\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24114\"\u003e#24114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003euseless-finally\u003c/code\u003e (\u003ccode\u003eRUF072\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24165\"\u003e#24165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003ef-string-percent-format\u003c/code\u003e (\u003ccode\u003eRUF073\u003c/code\u003e): warn when using \u003ccode\u003e%\u003c/code\u003e operator on an f-string (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24162\"\u003e#24162\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Recognize \u003ccode\u003efrozendict\u003c/code\u003e as a builtin for Python 3.15+ (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24100\"\u003e#24100\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Use fully-qualified \u003ccode\u003eanyio.lowlevel\u003c/code\u003e import in autofix (\u003ccode\u003eASYNC115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24166\"\u003e#24166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Check tuple arguments for partial paths in \u003ccode\u003eS607\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24080\"\u003e#24080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Skip \u003ccode\u003eundefined-name\u003c/code\u003e (\u003ccode\u003eF821\u003c/code\u003e) for conditionally deleted variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24088\"\u003e#24088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eE501\u003c/code\u003e/\u003ccode\u003eW505\u003c/code\u003e/formatter: Exclude nested pragma comments from line width calculation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24071\"\u003e#24071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e%foo?\u003c/code\u003e parsing in IPython assignment expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24152\"\u003e#24152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eanalyze graph\u003c/code\u003e: resolve string imports that reference attributes, not just modules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24058\"\u003e#24058\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] ignore \u003ccode\u003ety: ignore\u003c/code\u003e comments in \u003ccode\u003eERA001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24192\"\u003e#24192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Treat \u003ccode\u003esys.executable\u003c/code\u003e as trusted input in \u003ccode\u003eS603\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24106\"\u003e#24106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-self\u003c/code\u003e] Recognize \u003ccode\u003eSelf\u003c/code\u003e annotation and \u003ccode\u003eself\u003c/code\u003e assignment in \u003ccode\u003eSLF001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24144\"\u003e#24144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] \u003ccode\u003eF507\u003c/code\u003e: Fix false negative for non-tuple RHS in \u003ccode\u003e%\u003c/code\u003e-formatting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24142\"\u003e#24142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Parenthesize generator arguments in \u003ccode\u003eFURB142\u003c/code\u003e fixer (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24200\"\u003e#24200\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up diagnostic rendering (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24146\"\u003e#24146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWarn when Markdown files are skipped due to preview being disabled (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24150\"\u003e#24150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarify \u003ccode\u003eextend-ignore\u003c/code\u003e and \u003ccode\u003eextend-select\u003c/code\u003e settings documentation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24064\"\u003e#24064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMention AI policy in PR template (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24198\"\u003e#24198\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse trusted publishing for NPM packages (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24171\"\u003e#24171\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/bitloi\"\u003e\u003ccode\u003e@​bitloi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Sim-hu\"\u003e\u003ccode\u003e@​Sim-hu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.8\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-26.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003eunnecessary-if\u003c/code\u003e (\u003ccode\u003eRUF050\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24114\"\u003e#24114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003euseless-finally\u003c/code\u003e (\u003ccode\u003eRUF072\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24165\"\u003e#24165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] New rule \u003ccode\u003ef-string-percent-format\u003c/code\u003e (\u003ccode\u003eRUF073\u003c/code\u003e): warn when using \u003ccode\u003e%\u003c/code\u003e operator on an f-string (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24162\"\u003e#24162\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Recognize \u003ccode\u003efrozendict\u003c/code\u003e as a builtin for Python 3.15+ (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24100\"\u003e#24100\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Use fully-qualified \u003ccode\u003eanyio.lowlevel\u003c/code\u003e import in autofix (\u003ccode\u003eASYNC115\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24166\"\u003e#24166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Check tuple arguments for partial paths in \u003ccode\u003eS607\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24080\"\u003e#24080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Skip \u003ccode\u003eundefined-name\u003c/code\u003e (\u003ccode\u003eF821\u003c/code\u003e) for conditionally deleted variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24088\"\u003e#24088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eE501\u003c/code\u003e/\u003ccode\u003eW505\u003c/code\u003e/formatter: Exclude nested pragma comments from line width calculation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24071\"\u003e#24071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e%foo?\u003c/code\u003e parsing in IPython assignment expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24152\"\u003e#24152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eanalyze graph\u003c/code\u003e: resolve string imports that reference attributes, not just modules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24058\"\u003e#24058\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] ignore \u003ccode\u003ety: ignore\u003c/code\u003e comments in \u003ccode\u003eERA001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24192\"\u003e#24192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Treat \u003ccode\u003esys.executable\u003c/code\u003e as trusted input in \u003ccode\u003eS603\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24106\"\u003e#24106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-self\u003c/code\u003e] Recognize \u003ccode\u003eSelf\u003c/code\u003e annotation and \u003ccode\u003eself\u003c/code\u003e assignment in \u003ccode\u003eSLF001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24144\"\u003e#24144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] \u003ccode\u003eF507\u003c/code\u003e: Fix false negative for non-tuple RHS in \u003ccode\u003e%\u003c/code\u003e-formatting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24142\"\u003e#24142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Parenthesize generator arguments in \u003ccode\u003eFURB142\u003c/code\u003e fixer (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24200\"\u003e#24200\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up diagnostic rendering (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24146\"\u003e#24146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWarn when Markdown files are skipped due to preview being disabled (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24150\"\u003e#24150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarify \u003ccode\u003eextend-ignore\u003c/code\u003e and \u003ccode\u003eextend-select\u003c/code\u003e settings documentation (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24064\"\u003e#24064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMention AI policy in PR template (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24198\"\u003e#24198\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse trusted publishing for NPM packages (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24171\"\u003e#24171\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/bitloi\"\u003e\u003ccode\u003e@​bitloi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Sim-hu\"\u003e\u003ccode\u003e@​Sim-hu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mvanhorn\"\u003e\u003ccode\u003e@​mvanhorn\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/c2a8815842f9dc5d24ec19385eae0f1a7188b0d9\"\u003e\u003ccode\u003ec2a8815\u003c/code\u003e\u003c/a\u003e Release 0.15.8 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24217\"\u003e#24217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d444d52e2b9cc8bc9a078c2bd4ff6ff993290209\"\u003e\u003ccode\u003ed444d52\u003c/code\u003e\u003c/a\u003e [ty] Infer lambda expressions with \u003ccode\u003eCallable\u003c/code\u003e type context (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22633\"\u003e#22633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9622285ed0081fc688149f6efca87f127d9b18dd\"\u003e\u003ccode\u003e9622285\u003c/code\u003e\u003c/a\u003e [ty] Autocomplete arguments if in arguments node (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24167\"\u003e#24167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d81266252aaf0820346d55edbed79c4f25ba13d2\"\u003e\u003ccode\u003ed812662\u003c/code\u003e\u003c/a\u003e Use the \u003ccode\u003erelease\u003c/code\u003e environment in \u003ccode\u003epublish-docs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24214\"\u003e#24214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/eda2355832f7a9c58aef6febd3e061dc9c87509a\"\u003e\u003ccode\u003eeda2355\u003c/code\u003e\u003c/a\u003e [ty] Show \u003ccode\u003eFinal\u003c/code\u003e source in final assignment diagnostic (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24194\"\u003e#24194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/929eb5238c82bfadad4549ff526f02efc0163dd0\"\u003e\u003ccode\u003e929eb52\u003c/code\u003e\u003c/a\u003e [ty] Enforce Final attribute assignment rules for annotated and augmented wri...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/34998be22ec3a77d398bbd55234ef8740f768329\"\u003e\u003ccode\u003e34998be\u003c/code\u003e\u003c/a\u003e [ty] Fix typo in comment (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24211\"\u003e#24211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/560aca0b2828ee2ff1b4bcc5c5ef1ef4ced229d2\"\u003e\u003ccode\u003e560aca0\u003c/code\u003e\u003c/a\u003e [ty] Minor simplifications to some benchmark code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24209\"\u003e#24209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/683bae512d03d3727a7bcdbc5a0170dafa049583\"\u003e\u003ccode\u003e683bae5\u003c/code\u003e\u003c/a\u003e [ty] Track non-terminal-call constraints in global scope (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23245\"\u003e#23245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/4704c2a4ff3dde2fd29324346720e9516b4fe387\"\u003e\u003ccode\u003e4704c2a\u003c/code\u003e\u003c/a\u003e [ty] Remove unnecessary intermediate collection in `StaticClassLiteral::field...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.5...0.15.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `coverage` from 7.13.4 to 7.13.5\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.5 — 2026-03-17\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: \u003ccode\u003eissue 2138\u003c/code\u003e_ describes a memory leak that happened when repeatedly\nusing the Coverage API with in-memory data. This is now fixed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the markdown-formatted coverage report didn't fully escape special\ncharacters in file paths (\u003ccode\u003eissue 2141\u003c/code\u003e\u003cem\u003e). This would be very unlikely to\ncause a problem, but now it's done properly, thanks to \u003ccode\u003eEllie Ayla \u0026lt;pull 2142_\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: the C extension wouldn't build on VS2019, but now it does (\u003ccode\u003eissue 2145\u003c/code\u003e_).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 2138: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2138\"\u003ecoveragepy/coveragepy#2138\u003c/a\u003e\n.. _issue 2141: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2141\"\u003ecoveragepy/coveragepy#2141\u003c/a\u003e\n.. _pull 2142: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/pull/2142\"\u003ecoveragepy/coveragepy#2142\u003c/a\u003e\n.. _issue 2145: \u003ca href=\"https://redirect.github.com/coveragepy/coveragepy/issues/2145\"\u003ecoveragepy/coveragepy#2145\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-13-4:\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/c88da144eef8cf78424331e5cbbde3e002eef43f\"\u003e\u003ccode\u003ec88da14\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.13.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/e2ac3e1ef644370101ff365acad3431d16076512\"\u003e\u003ccode\u003ee2ac3e1\u003c/code\u003e\u003c/a\u003e build: sample HTML shouldn't include the status.json file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/910f8f336541c2dcb4e9ec468144c7eb4a7779ac\"\u003e\u003ccode\u003e910f8f3\u003c/code\u003e\u003c/a\u003e docs: prep for 7.13.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/3a4819c24d3d20cb2670b99141517812ffa3fab0\"\u003e\u003ccode\u003e3a4819c\u003c/code\u003e\u003c/a\u003e style: make workflows more uniform\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/2a53705f5fe588158b8a8d37ff3beee86388b9e4\"\u003e\u003ccode\u003e2a53705\u003c/code\u003e\u003c/a\u003e chore: bump the action-dependencies group across 1 directory with 4 updates (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/e7c878d201db819416b978150944d9a842d22b18\"\u003e\u003ccode\u003ee7c878d\u003c/code\u003e\u003c/a\u003e chore: make upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/ab4db406a9c35acf977cf3ddb94a78d696b77bc5\"\u003e\u003ccode\u003eab4db40\u003c/code\u003e\u003c/a\u003e build: use --generate-hashes when pinning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/a438753eef870441044cef588e29ce4b9a28adf1\"\u003e\u003ccode\u003ea438753\u003c/code\u003e\u003c/a\u003e chore: make upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/7b33457d2c6367dfd5a563239998b3980444e090\"\u003e\u003ccode\u003e7b33457\u003c/code\u003e\u003c/a\u003e refactor: some leftover pyupgrade 3.10 bits\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coveragepy/coveragepy/commit/2ff968db91a7cdafe6f6569ac7659a3a93a2da07\"\u003e\u003ccode\u003e2ff968d\u003c/code\u003e\u003c/a\u003e refactor: this type wasn't used anywhere\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coveragepy/coveragepy/compare/7.13.4...7.13.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-env` from 1.5.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/pytest-dev/pytest-env/releases\"\u003epytest-env's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e✨ feat(env): preserve existing env values by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/pull/213\"\u003epytest-dev/pytest-env#213\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pytest-dev/pytest-env/compare/1.5.1...1.6.0\"\u003ehttps://github.com/pytest-dev/pytest-env/compare/1.5.1...1.6.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.5.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd permissions to workflows by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/pull/203\"\u003epytest-dev/pytest-env#203\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd SECURITY.md to .github/ by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/pull/206\"\u003epytest-dev/pytest-env#206\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing .github config files by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/pull/207\"\u003epytest-dev/pytest-env#207\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStandardize .github files to .yaml suffix by \u003ca href=\"https://github.com/gaborbernat\"\u003e\u003ccode\u003e@​gaborbernat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/pull/208\"\u003epytest-dev/pytest-env#208\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix verbose source attribution when falling back to INI env by \u003ca href=\"https://github.com/shuofengzhang\"\u003e\u003ccode\u003e@​shuofengzhang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/pull/211\"\u003epytest-dev/pytest-env#211\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shuofengzhang\"\u003e\u003ccode\u003e@​shuofengzhang\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/pull/211\"\u003epytest-dev/pytest-env#211\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pytest-dev/pytest-env/compare/1.5.0...1.5.1\"\u003ehttps://github.com/pytest-dev/pytest-env/compare/1.5.0...1.5.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/8bd22d1b9d9d7594c408040610868743ca3d5a9b\"\u003e\u003ccode\u003e8bd22d1\u003c/code\u003e\u003c/a\u003e ✨ feat(env): preserve existing env values (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/issues/213\"\u003e#213\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/81f9e0e19d17169f03d9c078818421f34c45a67d\"\u003e\u003ccode\u003e81f9e0e\u003c/code\u003e\u003c/a\u003e Fix verbose source attribution when falling back to INI env (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/issues/211\"\u003e#211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/81dc95d54f09ebb9b6e5f704b86a4bb60552b08b\"\u003e\u003ccode\u003e81dc95d\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/issues/210\"\u003e#210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/439cc76fecbfbb95b6d3123a32bbc8030a9f95c0\"\u003e\u003ccode\u003e439cc76\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/issues/209\"\u003e#209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/b1b498e28cb76863a6e88c713a9bb09cdfbb0857\"\u003e\u003ccode\u003eb1b498e\u003c/code\u003e\u003c/a\u003e Standardize .github files to .yaml suffix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/066dadc7b4f8a40818e2c19c6bbd7281671eb081\"\u003e\u003ccode\u003e066dadc\u003c/code\u003e\u003c/a\u003e Add missing .github config files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/7d01327e395f0080dd6256c0cf30f2a8693c3c32\"\u003e\u003ccode\u003e7d01327\u003c/code\u003e\u003c/a\u003e Add SECURITY.md to .github/\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/04259c91dfbd4b77a053bcad5fd63d5d7d78ae5d\"\u003e\u003ccode\u003e04259c9\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact from 7 to 8 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/issues/205\"\u003e#205\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/4fdb9d8d6defe6fc40069455ec672fa3f1bef51f\"\u003e\u003ccode\u003e4fdb9d8\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/issues/204\"\u003e#204\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-env/commit/672e44f059e03870caf87054aa7426411a8a9658\"\u003e\u003ccode\u003e672e44f\u003c/code\u003e\u003c/a\u003e Add permissions to workflows (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-env/issues/203\"\u003e#203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-env/compare/1.5.0...1.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocs-jupyter` from 0.25.1 to 0.26.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/danielfrg/mkdocs-jupyter/blob/main/CHANGELOG.md\"\u003emkdocs-jupyter's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003emkdocs-jupyter Change Log\u003c/h1\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danielfrg/mkdocs-jupyter/commit/8e47143281d76c492a335d031a36efd6ef013d08\"\u003e\u003ccode\u003e8e47143\u003c/code\u003e\u003c/a\u003e Release 0.26.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danielfrg/mkdocs-jupyter/commit/6420d554676941f9cfbde7e12e7eaa04d6b9b0c7\"\u003e\u003ccode\u003e6420d55\u003c/code\u003e\u003c/a\u003e Build assets on release CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danielfrg/mkdocs-jupyter/commit/25a79b5fbd7a03be5398cd128b05d353dcf99646\"\u003e\u003ccode\u003e25a79b5\u003c/code\u003e\u003c/a\u003e Release 0.26.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danielfrg/mkdocs-jupyter/commit/3b145c9e5d1f644c952ea11ec2f3331ceb0b6375\"\u003e\u003ccode\u003e3b145c9\u003c/code\u003e\u003c/a\u003e Add release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danielfrg/mkdocs-jupyter/commit/64f17aaf0229073791872d504b98306c97f01aa1\"\u003e\u003ccode\u003e64f17aa\u003c/code\u003e\u003c/a\u003e Add release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danielfrg/mkdocs-jupyter/commit/136080e4176ee358d46b990657fa8a463aaa2859\"\u003e\u003ccode\u003e136080e\u003c/code\u003e\u003c/a\u003e fix: backtick-stripping regex in nb2md() (\u003ca href=\"https://redirect.github.com/danielfrg/mkdocs-jupyter/issues/268\"\u003e#268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danielfrg/mkdocs-jupyter/commit/2bac0a22ec111d633745efb319541a19c2f6a41f\"\u003e\u003ccode\u003e2bac0a2\u003c/code\u003e\u003c/a\u003e Cache added to avoid recompiling unchanged notebooks (\u003ca href=\"https://redirect.github.com/danielfrg/mkdocs-jupyter/issues/267\"\u003e#267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danielfrg/mkdocs-jupyter/commit/98f3dbb917f1ffca8e13a58ac383de24b4ad2905\"\u003e\u003ccode\u003e98f3dbb\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003eipykernel\u0026gt;6,\u0026lt;8\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/danielfrg/mkdocs-jupyter/issues/253\"\u003e#253\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danielfrg/mkdocs-jupyter/commit/72367246e1b8c0c709fbc80242619f71294387ef\"\u003e\u003ccode\u003e7236724\u003c/code\u003e\u003c/a\u003e html escape source text for clipboard copy (\u003ca href=\"https://redirect.github.com/danielfrg/mkdocs-jupyter/issues/248\"\u003e#248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danielfrg/mkdocs-jupyter/commit/7f977fdc0393f8ec5c279f4c6d5b5901eb0c2062\"\u003e\u003ccode\u003e7f977fd\u003c/code\u003e\u003c/a\u003e Check ignore patterns before reading files (\u003ca href=\"https://redirect.github.com/danielfrg/mkdocs-jupyter/issues/247\"\u003e#247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/danielfrg/mkdocs-jupyter/compare/0.25.1...0.26.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocs-material` from 9.7.5 to 9.7.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/squidfunk/mkdocs-material/releases\"\u003emkdocs-material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003emkdocs-material-9.7.6\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMaterial for MkDocs is in maintenance mode\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eGoing forward, the Material for MkDocs team focuses on \u003ca href=\"https://zensical.org\"\u003eZensical\u003c/a\u003e, a next-gen static site generator built from first principles. We will provide critical bug fixes and security updates for Material for MkDocs until November 2026.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003eRead the full announcement on our blog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAutomatically disable MkDocs 2.0 warning for forks of MkDocs\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/squidfunk/mkdocs-material/blob/master/CHANGELOG\"\u003emkdocs-material's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003emkdocs-material-9.7.6 (2026-03-19)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAutomatically disable MkDocs 2.0 warning for forks of MkDocs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.5 (2026-03-10)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eLimited version range of mkdocs to \u0026lt;2\u003c/li\u003e\n\u003cli\u003eUpdated MkDocs 2.0 incompatibility warning (clarify relation with MkDocs)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.4 (2026-03-03)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eHardened social cards plugin by switching to sandboxed environment\u003c/li\u003e\n\u003cli\u003eUpdated MkDocs 2.0 incompatibility warning\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.3 (2026-02-24)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8567\"\u003e#8567\u003c/a\u003e: Print MkDocs 2.0 incompatibility warning to stderr\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.2 (2026-02-18)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpened up version ranges of optional dependencies for forward-compatibility\u003c/li\u003e\n\u003cli\u003eAdded warning to 'mkdocs build' about impending MkDocs 2.0 incompatibility\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.1 (2025-12-18)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated requests to 2.30+ to mitigate CVE in urllib\u003c/li\u003e\n\u003cli\u003eFixed privacy plugin not picking up protocol-relative URLs\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8542\"\u003e#8542\u003c/a\u003e: false positives and negatives captured in privacy plugin\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.7.0 (2025-11-11)\u003c/p\u003e\n\u003cp\u003e⚠️ Material for MkDocs is now in maintenance mode\u003c/p\u003e\n\u003cp\u003eThis is the last release of Material for MkDocs that will receive new features.\nGoing forward, the Material for MkDocs team focuses on Zensical, a next-gen\nstatic site generator built from first principles. We will provide critical\nbug fixes and security updates for Material for MkDocs for 12 months at least.\u003c/p\u003e\n\u003cp\u003eRead the full announcement on our blog:\n\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003ehttps://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis release includes all features that were previously exclusive to the\nInsiders edition. These features are now freely available to everyone.\u003c/p\u003e\n\u003cp\u003eNote on deprecated plugins: The projects and typeset plugins are included in\nthis release, but must be considered deprecated. Both plugins proved\nunsustainable to maintain and represent architectural dead ends. They are\nprovided as-is without ongoing support.\u003c/p\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/6c52ed6289b171a153875491f059a94819ec3e10\"\u003e\u003ccode\u003e6c52ed6\u003c/code\u003e\u003c/a\u003e Prepare 9.7.6 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/51d9b76636431814df924bcda27485b16023978b\"\u003e\u003ccode\u003e51d9b76\u003c/code\u003e\u003c/a\u003e Automatically disable MkDocs 2.0 warning for forks of MkDocs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/6f9a48b4048650341a654d9757da57fc1e3e323d\"\u003e\u003ccode\u003e6f9a48b\u003c/code\u003e\u003c/a\u003e Updated links\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/squidfunk/mkdocs-material/compare/9.7.5...9.7.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/plugboard-dev/plugboard/pull/238","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/plugboard-dev%2Fplugboard/issues/238","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/238/packages"}},{"old_version":"4.1.0","new_version":"4.7.0","update_type":"minor","path":"/python/requirements/ml","pr_created_at":"2026-03-14T07:03:12.000Z","version_change":"4.1.0 → 4.7.0","issue":{"uuid":"4074939152","node_id":"PR_kwDOP6Bu1M7Kj1Uo","number":35,"state":"closed","title":"[air](deps): Bump optuna from 4.1.0 to 4.7.0 in /python/requirements/ml","user":"dependabot[bot]","labels":["dependencies","python","stale"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-04-12T01:03:05.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-14T07:03:12.000Z","updated_at":"2026-04-12T01:03:15.000Z","time_to_close":2483993,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"[air](deps): Bump","packages":[{"name":"optuna","old_version":"4.1.0","new_version":"4.7.0","repository_url":"https://github.com/optuna/optuna"}],"path":"/python/requirements/ml","ecosystem":"pip"},"body":"Bumps [optuna](https://github.com/optuna/optuna) from 4.1.0 to 4.7.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.7.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/72?closed=1\"\u003ev4.7.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eTwo New Multi-Objective Samplers Added to OptunaHub!\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/hrntsm\"\u003e\u003ccode\u003e@​hrntsm\u003c/code\u003e\u003c/a\u003e introduces two new multi-objective samplers—SPEA-II (Strength Pareto Evolutionary Algorithm 2) and HypE (Hypervolume Estimation Algorithm)—to OptunaHub. SPEA-II is an improved multi-objective evolutionary algorithm that differs from NSGA-II in its selection mechanism. HypE is a fast, hypervolume-based evolutionary algorithm designed for many-objective optimization problems. Please refer to the following pages for more details:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSPEA-II: \u003ca href=\"https://hub.optuna.org/samplers/speaii/\"\u003ehttps://hub.optuna.org/samplers/speaii/\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHypE: \u003ca href=\"https://hub.optuna.org/samplers/hype/\"\u003ehttps://hub.optuna.org/samplers/hype/\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003ePedAnovaImportanceEvaluator\u003c/code\u003e Now Supports Local Hyperparameter Importance Computation\u003c/h2\u003e\n\u003cp\u003eThe \u003ccode\u003etarget_quantile\u003c/code\u003e and \u003ccode\u003eregion_quantile\u003c/code\u003e arguments have been introduced to \u003ca href=\"https://optuna.readthedocs.io/en/latest/reference/generated/optuna.importance.PedAnovaImportanceEvaluator.html\"\u003e\u003ccode\u003ePedAnovaImportanceEvaluator\u003c/code\u003e\u003c/a\u003e. This change allows you to investigate local hyperparameter importance rather than the global one with \u003ccode\u003eregion_quantile \u0026lt; 1.0\u003c/code\u003e. See \u003ca href=\"https://www.ijcai.org/proceedings/2023/488\"\u003ethe original paper\u003c/a\u003e for the technical details.\u003c/p\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce stacklevel-aware custom warnings (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6293\"\u003e#6293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCache distributions to skip consistency check (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6301\"\u003e#6301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd warnings when \u003ccode\u003eJournalStorage\u003c/code\u003e lock acquisition is delayed (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6361\"\u003e#6361\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for local HPI in PED-ANOVA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6362\"\u003e#6362\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix log PDF of discrete trunc log-norm distribution for \u003ccode\u003eTPESampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6258\"\u003e#6258\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix coefficient in PED-ANOVA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6358\"\u003e#6358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix GPSampler crash when default torch device is CUDA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6397\"\u003e#6397\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Quant-Quasar\"\u003e\u003ccode\u003e@​Quant-Quasar\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDocumentation\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eSECURITY.md\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6317\"\u003e#6317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a note for future dev of exclusive HV (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6318\"\u003e#6318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate GPSampler documentation to include D-BE optimization details (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6347\"\u003e#6347\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Kaichi-Irie\"\u003e\u003ccode\u003e@​Kaichi-Irie\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eRevert PR \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6354\"\u003e#6354\u003c/a\u003e to enable \u003ccode\u003e-W\u003c/code\u003e option on Sphinx build (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6373\"\u003e#6373\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eExamples\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDisable scheduled runs for PyTorch and visualization temporarily (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/337\"\u003eoptuna/optuna-examples#337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix skorch example: Replace unavailable OpenML MNIST (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/338\"\u003eoptuna/optuna-examples#338\u003c/a\u003e, thanks \u003ca href=\"https://github.com/sotagg\"\u003e\u003ccode\u003e@​sotagg\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003ePin \u003ccode\u003eminio\u003c/code\u003e version to \u003ccode\u003e\u0026lt;=7.2.18\u003c/code\u003e to fix CI \u0026amp; stop daily CI running (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/339\"\u003eoptuna/optuna-examples#339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix spark example (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/342\"\u003eoptuna/optuna-examples#342\u003c/a\u003e, thanks \u003ca href=\"https://github.com/fritshermans\"\u003e\u003ccode\u003e@​fritshermans\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003ePin scikit-learn to \u0026lt; 1.6.0 for lightgbm (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/343\"\u003eoptuna/optuna-examples#343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove python 3.9 due to EOL Status (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/344\"\u003eoptuna/optuna-examples#344\u003c/a\u003e, thanks \u003ca href=\"https://github.com/ParagEkbote\"\u003e\u003ccode\u003e@​ParagEkbote\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eAdd IPython as a dependency of fastai example (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/347\"\u003eoptuna/optuna-examples#347\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eTests\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/40703c51b7b102df65efaf426f12562d3365735f\"\u003e\u003ccode\u003e40703c5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6413\"\u003e#6413\u003c/a\u003e from y0z/feature/bump-up-v470\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/7fa54e424464f943810c744910920ec159752163\"\u003e\u003ccode\u003e7fa54e4\u003c/code\u003e\u003c/a\u003e Bump up version to v4.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/adbe6f542150e01eb2c17d589d19415a921b9c22\"\u003e\u003ccode\u003eadbe6f5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6400\"\u003e#6400\u003c/a\u003e from sawa3030/add-warning-for-journal-lock-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/d58b06193f1564b03e64dd39921465ffe32cee3b\"\u003e\u003ccode\u003ed58b061\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6412\"\u003e#6412\u003c/a\u003e from VedantMadane/refactor/fstring-fixed-trial\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/0d782be3bd8ee30cde03a1870a15c3c3e8f17af2\"\u003e\u003ccode\u003e0d782be\u003c/code\u003e\u003c/a\u003e Replace .format() with f-string in _fixed.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/e50dd5f056e610ebfe47abed2e26cc3e07867f75\"\u003e\u003ccode\u003ee50dd5f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6411\"\u003e#6411\u003c/a\u003e from Banjiola/fix-format-fstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/7eefa699c3c2303b10c0dd0ae52a850c62671561\"\u003e\u003ccode\u003e7eefa69\u003c/code\u003e\u003c/a\u003e Replace .format() with f-string in test_hyperband.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/653523fd330161273369f267e4fa674b2946bcd7\"\u003e\u003ccode\u003e653523f\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into add-warning-for-journal-lock-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/b526dbfa54374d6b86c9f2dc1d20548ad7fde263\"\u003e\u003ccode\u003eb526dbf\u003c/code\u003e\u003c/a\u003e use logger.warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/f4e630d17adf78de4fda9f98da2adda536577abc\"\u003e\u003ccode\u003ef4e630d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6409\"\u003e#6409\u003c/a\u003e from jwalith/fix-format-rank-py\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/optuna/optuna/compare/v4.1.0...v4.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=optuna\u0026package-manager=pip\u0026previous-version=4.1.0\u0026new-version=4.7.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/snorkel-marlin-repos/ray_pr_56306_test2/pull/35","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/snorkel-marlin-repos%2Fray_pr_56306_test2/issues/35","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/35/packages"}},{"old_version":"4.1.0","new_version":"4.7.0","update_type":"minor","path":"/python/requirements/ml","pr_created_at":"2026-03-07T08:13:05.000Z","version_change":"4.1.0 → 4.7.0","issue":{"uuid":"4037837956","node_id":"PR_kwDOQHUoec7Ir_bn","number":26,"state":"closed","title":"[air](deps): Bump optuna from 4.1.0 to 4.7.0 in /python/requirements/ml","user":"dependabot[bot]","labels":["dependencies","python","stale"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-04-04T12:26:35.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-07T08:13:05.000Z","updated_at":"2026-04-04T15:01:13.694Z","time_to_close":2434410,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"[air](deps): Bump","packages":[{"name":"optuna","old_version":"4.1.0","new_version":"4.7.0","repository_url":"https://github.com/optuna/optuna"}],"path":"/python/requirements/ml","ecosystem":"pip"},"body":"Bumps [optuna](https://github.com/optuna/optuna) from 4.1.0 to 4.7.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.7.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/72?closed=1\"\u003ev4.7.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eTwo New Multi-Objective Samplers Added to OptunaHub!\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/hrntsm\"\u003e\u003ccode\u003e@​hrntsm\u003c/code\u003e\u003c/a\u003e introduces two new multi-objective samplers—SPEA-II (Strength Pareto Evolutionary Algorithm 2) and HypE (Hypervolume Estimation Algorithm)—to OptunaHub. SPEA-II is an improved multi-objective evolutionary algorithm that differs from NSGA-II in its selection mechanism. HypE is a fast, hypervolume-based evolutionary algorithm designed for many-objective optimization problems. Please refer to the following pages for more details:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSPEA-II: \u003ca href=\"https://hub.optuna.org/samplers/speaii/\"\u003ehttps://hub.optuna.org/samplers/speaii/\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHypE: \u003ca href=\"https://hub.optuna.org/samplers/hype/\"\u003ehttps://hub.optuna.org/samplers/hype/\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003ePedAnovaImportanceEvaluator\u003c/code\u003e Now Supports Local Hyperparameter Importance Computation\u003c/h2\u003e\n\u003cp\u003eThe \u003ccode\u003etarget_quantile\u003c/code\u003e and \u003ccode\u003eregion_quantile\u003c/code\u003e arguments have been introduced to \u003ca href=\"https://optuna.readthedocs.io/en/latest/reference/generated/optuna.importance.PedAnovaImportanceEvaluator.html\"\u003e\u003ccode\u003ePedAnovaImportanceEvaluator\u003c/code\u003e\u003c/a\u003e. This change allows you to investigate local hyperparameter importance rather than the global one with \u003ccode\u003eregion_quantile \u0026lt; 1.0\u003c/code\u003e. See \u003ca href=\"https://www.ijcai.org/proceedings/2023/488\"\u003ethe original paper\u003c/a\u003e for the technical details.\u003c/p\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce stacklevel-aware custom warnings (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6293\"\u003e#6293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCache distributions to skip consistency check (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6301\"\u003e#6301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd warnings when \u003ccode\u003eJournalStorage\u003c/code\u003e lock acquisition is delayed (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6361\"\u003e#6361\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for local HPI in PED-ANOVA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6362\"\u003e#6362\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix log PDF of discrete trunc log-norm distribution for \u003ccode\u003eTPESampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6258\"\u003e#6258\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix coefficient in PED-ANOVA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6358\"\u003e#6358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix GPSampler crash when default torch device is CUDA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6397\"\u003e#6397\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Quant-Quasar\"\u003e\u003ccode\u003e@​Quant-Quasar\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDocumentation\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eSECURITY.md\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6317\"\u003e#6317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a note for future dev of exclusive HV (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6318\"\u003e#6318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate GPSampler documentation to include D-BE optimization details (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6347\"\u003e#6347\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Kaichi-Irie\"\u003e\u003ccode\u003e@​Kaichi-Irie\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eRevert PR \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6354\"\u003e#6354\u003c/a\u003e to enable \u003ccode\u003e-W\u003c/code\u003e option on Sphinx build (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6373\"\u003e#6373\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eExamples\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDisable scheduled runs for PyTorch and visualization temporarily (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/337\"\u003eoptuna/optuna-examples#337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix skorch example: Replace unavailable OpenML MNIST (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/338\"\u003eoptuna/optuna-examples#338\u003c/a\u003e, thanks \u003ca href=\"https://github.com/sotagg\"\u003e\u003ccode\u003e@​sotagg\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003ePin \u003ccode\u003eminio\u003c/code\u003e version to \u003ccode\u003e\u0026lt;=7.2.18\u003c/code\u003e to fix CI \u0026amp; stop daily CI running (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/339\"\u003eoptuna/optuna-examples#339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix spark example (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/342\"\u003eoptuna/optuna-examples#342\u003c/a\u003e, thanks \u003ca href=\"https://github.com/fritshermans\"\u003e\u003ccode\u003e@​fritshermans\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003ePin scikit-learn to \u0026lt; 1.6.0 for lightgbm (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/343\"\u003eoptuna/optuna-examples#343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove python 3.9 due to EOL Status (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/344\"\u003eoptuna/optuna-examples#344\u003c/a\u003e, thanks \u003ca href=\"https://github.com/ParagEkbote\"\u003e\u003ccode\u003e@​ParagEkbote\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eAdd IPython as a dependency of fastai example (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/347\"\u003eoptuna/optuna-examples#347\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eTests\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/40703c51b7b102df65efaf426f12562d3365735f\"\u003e\u003ccode\u003e40703c5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6413\"\u003e#6413\u003c/a\u003e from y0z/feature/bump-up-v470\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/7fa54e424464f943810c744910920ec159752163\"\u003e\u003ccode\u003e7fa54e4\u003c/code\u003e\u003c/a\u003e Bump up version to v4.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/adbe6f542150e01eb2c17d589d19415a921b9c22\"\u003e\u003ccode\u003eadbe6f5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6400\"\u003e#6400\u003c/a\u003e from sawa3030/add-warning-for-journal-lock-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/d58b06193f1564b03e64dd39921465ffe32cee3b\"\u003e\u003ccode\u003ed58b061\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6412\"\u003e#6412\u003c/a\u003e from VedantMadane/refactor/fstring-fixed-trial\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/0d782be3bd8ee30cde03a1870a15c3c3e8f17af2\"\u003e\u003ccode\u003e0d782be\u003c/code\u003e\u003c/a\u003e Replace .format() with f-string in _fixed.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/e50dd5f056e610ebfe47abed2e26cc3e07867f75\"\u003e\u003ccode\u003ee50dd5f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6411\"\u003e#6411\u003c/a\u003e from Banjiola/fix-format-fstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/7eefa699c3c2303b10c0dd0ae52a850c62671561\"\u003e\u003ccode\u003e7eefa69\u003c/code\u003e\u003c/a\u003e Replace .format() with f-string in test_hyperband.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/653523fd330161273369f267e4fa674b2946bcd7\"\u003e\u003ccode\u003e653523f\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into add-warning-for-journal-lock-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/b526dbfa54374d6b86c9f2dc1d20548ad7fde263\"\u003e\u003ccode\u003eb526dbf\u003c/code\u003e\u003c/a\u003e use logger.warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/f4e630d17adf78de4fda9f98da2adda536577abc\"\u003e\u003ccode\u003ef4e630d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6409\"\u003e#6409\u003c/a\u003e from jwalith/fix-format-rank-py\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/optuna/optuna/compare/v4.1.0...v4.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=optuna\u0026package-manager=pip\u0026previous-version=4.1.0\u0026new-version=4.7.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/snorkel-marlin-repos/ray-project_ray_pr_56363_bd0b5321-02f2-433c-8f17-62433aad813d/pull/26","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/snorkel-marlin-repos%2Fray-project_ray_pr_56363_bd0b5321-02f2-433c-8f17-62433aad813d/issues/26","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/26/packages"}},{"old_version":"4.1.0","new_version":"4.7.0","update_type":"minor","path":"/python/requirements/ml","pr_created_at":"2026-03-07T08:05:54.000Z","version_change":"4.1.0 → 4.7.0","issue":{"uuid":"4037823548","node_id":"PR_kwDOQHUm187Ir8gx","number":26,"state":"closed","title":"[air](deps): Bump optuna from 4.1.0 to 4.7.0 in /python/requirements/ml","user":"dependabot[bot]","labels":["dependencies","python","stale"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-04-04T12:24:29.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-07T08:05:54.000Z","updated_at":"2026-04-04T12:24:38.000Z","time_to_close":2434715,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"[air](deps): Bump","packages":[{"name":"optuna","old_version":"4.1.0","new_version":"4.7.0","repository_url":"https://github.com/optuna/optuna"}],"path":"/python/requirements/ml","ecosystem":"pip"},"body":"Bumps [optuna](https://github.com/optuna/optuna) from 4.1.0 to 4.7.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.7.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/72?closed=1\"\u003ev4.7.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eTwo New Multi-Objective Samplers Added to OptunaHub!\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/hrntsm\"\u003e\u003ccode\u003e@​hrntsm\u003c/code\u003e\u003c/a\u003e introduces two new multi-objective samplers—SPEA-II (Strength Pareto Evolutionary Algorithm 2) and HypE (Hypervolume Estimation Algorithm)—to OptunaHub. SPEA-II is an improved multi-objective evolutionary algorithm that differs from NSGA-II in its selection mechanism. HypE is a fast, hypervolume-based evolutionary algorithm designed for many-objective optimization problems. Please refer to the following pages for more details:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSPEA-II: \u003ca href=\"https://hub.optuna.org/samplers/speaii/\"\u003ehttps://hub.optuna.org/samplers/speaii/\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHypE: \u003ca href=\"https://hub.optuna.org/samplers/hype/\"\u003ehttps://hub.optuna.org/samplers/hype/\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003ePedAnovaImportanceEvaluator\u003c/code\u003e Now Supports Local Hyperparameter Importance Computation\u003c/h2\u003e\n\u003cp\u003eThe \u003ccode\u003etarget_quantile\u003c/code\u003e and \u003ccode\u003eregion_quantile\u003c/code\u003e arguments have been introduced to \u003ca href=\"https://optuna.readthedocs.io/en/latest/reference/generated/optuna.importance.PedAnovaImportanceEvaluator.html\"\u003e\u003ccode\u003ePedAnovaImportanceEvaluator\u003c/code\u003e\u003c/a\u003e. This change allows you to investigate local hyperparameter importance rather than the global one with \u003ccode\u003eregion_quantile \u0026lt; 1.0\u003c/code\u003e. See \u003ca href=\"https://www.ijcai.org/proceedings/2023/488\"\u003ethe original paper\u003c/a\u003e for the technical details.\u003c/p\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce stacklevel-aware custom warnings (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6293\"\u003e#6293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCache distributions to skip consistency check (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6301\"\u003e#6301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd warnings when \u003ccode\u003eJournalStorage\u003c/code\u003e lock acquisition is delayed (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6361\"\u003e#6361\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for local HPI in PED-ANOVA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6362\"\u003e#6362\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix log PDF of discrete trunc log-norm distribution for \u003ccode\u003eTPESampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6258\"\u003e#6258\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix coefficient in PED-ANOVA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6358\"\u003e#6358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix GPSampler crash when default torch device is CUDA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6397\"\u003e#6397\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Quant-Quasar\"\u003e\u003ccode\u003e@​Quant-Quasar\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDocumentation\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eSECURITY.md\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6317\"\u003e#6317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a note for future dev of exclusive HV (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6318\"\u003e#6318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate GPSampler documentation to include D-BE optimization details (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6347\"\u003e#6347\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Kaichi-Irie\"\u003e\u003ccode\u003e@​Kaichi-Irie\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eRevert PR \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6354\"\u003e#6354\u003c/a\u003e to enable \u003ccode\u003e-W\u003c/code\u003e option on Sphinx build (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6373\"\u003e#6373\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eExamples\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDisable scheduled runs for PyTorch and visualization temporarily (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/337\"\u003eoptuna/optuna-examples#337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix skorch example: Replace unavailable OpenML MNIST (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/338\"\u003eoptuna/optuna-examples#338\u003c/a\u003e, thanks \u003ca href=\"https://github.com/sotagg\"\u003e\u003ccode\u003e@​sotagg\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003ePin \u003ccode\u003eminio\u003c/code\u003e version to \u003ccode\u003e\u0026lt;=7.2.18\u003c/code\u003e to fix CI \u0026amp; stop daily CI running (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/339\"\u003eoptuna/optuna-examples#339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix spark example (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/342\"\u003eoptuna/optuna-examples#342\u003c/a\u003e, thanks \u003ca href=\"https://github.com/fritshermans\"\u003e\u003ccode\u003e@​fritshermans\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003ePin scikit-learn to \u0026lt; 1.6.0 for lightgbm (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/343\"\u003eoptuna/optuna-examples#343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove python 3.9 due to EOL Status (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/344\"\u003eoptuna/optuna-examples#344\u003c/a\u003e, thanks \u003ca href=\"https://github.com/ParagEkbote\"\u003e\u003ccode\u003e@​ParagEkbote\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eAdd IPython as a dependency of fastai example (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/347\"\u003eoptuna/optuna-examples#347\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eTests\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/40703c51b7b102df65efaf426f12562d3365735f\"\u003e\u003ccode\u003e40703c5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6413\"\u003e#6413\u003c/a\u003e from y0z/feature/bump-up-v470\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/7fa54e424464f943810c744910920ec159752163\"\u003e\u003ccode\u003e7fa54e4\u003c/code\u003e\u003c/a\u003e Bump up version to v4.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/adbe6f542150e01eb2c17d589d19415a921b9c22\"\u003e\u003ccode\u003eadbe6f5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6400\"\u003e#6400\u003c/a\u003e from sawa3030/add-warning-for-journal-lock-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/d58b06193f1564b03e64dd39921465ffe32cee3b\"\u003e\u003ccode\u003ed58b061\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6412\"\u003e#6412\u003c/a\u003e from VedantMadane/refactor/fstring-fixed-trial\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/0d782be3bd8ee30cde03a1870a15c3c3e8f17af2\"\u003e\u003ccode\u003e0d782be\u003c/code\u003e\u003c/a\u003e Replace .format() with f-string in _fixed.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/e50dd5f056e610ebfe47abed2e26cc3e07867f75\"\u003e\u003ccode\u003ee50dd5f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6411\"\u003e#6411\u003c/a\u003e from Banjiola/fix-format-fstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/7eefa699c3c2303b10c0dd0ae52a850c62671561\"\u003e\u003ccode\u003e7eefa69\u003c/code\u003e\u003c/a\u003e Replace .format() with f-string in test_hyperband.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/653523fd330161273369f267e4fa674b2946bcd7\"\u003e\u003ccode\u003e653523f\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into add-warning-for-journal-lock-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/b526dbfa54374d6b86c9f2dc1d20548ad7fde263\"\u003e\u003ccode\u003eb526dbf\u003c/code\u003e\u003c/a\u003e use logger.warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/f4e630d17adf78de4fda9f98da2adda536577abc\"\u003e\u003ccode\u003ef4e630d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6409\"\u003e#6409\u003c/a\u003e from jwalith/fix-format-rank-py\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/optuna/optuna/compare/v4.1.0...v4.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=optuna\u0026package-manager=pip\u0026previous-version=4.1.0\u0026new-version=4.7.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/snorkel-marlin-repos/ray-project_ray_pr_56216_7ff0fe8b-3d01-415f-82de-254673ee083d/pull/26","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/snorkel-marlin-repos%2Fray-project_ray_pr_56216_7ff0fe8b-3d01-415f-82de-254673ee083d/issues/26","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/26/packages"}},{"old_version":"\u003c4.0.0,\u003e=3.0.0","new_version":"\u003e=3.0.0,\u003c5.0.0","update_type":null,"path":null,"pr_created_at":"2026-01-31T17:24:26.000Z","version_change":"\u003c4.0.0,\u003e=3.0.0 → \u003e=3.0.0,\u003c5.0.0","issue":{"uuid":"3879627325","node_id":"PR_kwDORFl4FM7AluVy","number":13,"state":"open","title":"chore(deps): update optuna requirement from \u003c4.0.0,\u003e=3.0.0 to \u003e=3.0.0,\u003c5.0.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-01-31T17:24:26.000Z","updated_at":"2026-01-31T17:24:27.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): update","packages":[{"name":"optuna","old_version":"\u003c4.0.0,\u003e=3.0.0","new_version":"\u003e=3.0.0,\u003c5.0.0","repository_url":"https://github.com/optuna/optuna"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [optuna](https://github.com/optuna/optuna) 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/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.7.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/72?closed=1\"\u003ev4.7.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eTwo New Multi-Objective Samplers Added to OptunaHub!\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/hrntsm\"\u003e\u003ccode\u003e@​hrntsm\u003c/code\u003e\u003c/a\u003e introduces two new multi-objective samplers—SPEA-II (Strength Pareto Evolutionary Algorithm 2) and HypE (Hypervolume Estimation Algorithm)—to OptunaHub. SPEA-II is an improved multi-objective evolutionary algorithm that differs from NSGA-II in its selection mechanism. HypE is a fast, hypervolume-based evolutionary algorithm designed for many-objective optimization problems. Please refer to the following pages for more details:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSPEA-II: \u003ca href=\"https://hub.optuna.org/samplers/speaii/\"\u003ehttps://hub.optuna.org/samplers/speaii/\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHypE: \u003ca href=\"https://hub.optuna.org/samplers/hype/\"\u003ehttps://hub.optuna.org/samplers/hype/\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003ePedAnovaImportanceEvaluator\u003c/code\u003e Now Supports Local Hyperparameter Importance Computation\u003c/h2\u003e\n\u003cp\u003eThe \u003ccode\u003etarget_quantile\u003c/code\u003e and \u003ccode\u003eregion_quantile\u003c/code\u003e arguments have been introduced to \u003ca href=\"https://optuna.readthedocs.io/en/latest/reference/generated/optuna.importance.PedAnovaImportanceEvaluator.html\"\u003e\u003ccode\u003ePedAnovaImportanceEvaluator\u003c/code\u003e\u003c/a\u003e. This change allows you to investigate local hyperparameter importance rather than the global one with \u003ccode\u003eregion_quantile \u0026lt; 1.0\u003c/code\u003e. See \u003ca href=\"https://www.ijcai.org/proceedings/2023/488\"\u003ethe original paper\u003c/a\u003e for the technical details.\u003c/p\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce stacklevel-aware custom warnings (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6293\"\u003e#6293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCache distributions to skip consistency check (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6301\"\u003e#6301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd warnings when \u003ccode\u003eJournalStorage\u003c/code\u003e lock acquisition is delayed (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6361\"\u003e#6361\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for local HPI in PED-ANOVA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6362\"\u003e#6362\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix log PDF of discrete trunc log-norm distribution for \u003ccode\u003eTPESampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6258\"\u003e#6258\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix coefficient in PED-ANOVA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6358\"\u003e#6358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix GPSampler crash when default torch device is CUDA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6397\"\u003e#6397\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Quant-Quasar\"\u003e\u003ccode\u003e@​Quant-Quasar\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDocumentation\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eSECURITY.md\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6317\"\u003e#6317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a note for future dev of exclusive HV (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6318\"\u003e#6318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate GPSampler documentation to include D-BE optimization details (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6347\"\u003e#6347\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Kaichi-Irie\"\u003e\u003ccode\u003e@​Kaichi-Irie\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eRevert PR \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6354\"\u003e#6354\u003c/a\u003e to enable \u003ccode\u003e-W\u003c/code\u003e option on Sphinx build (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6373\"\u003e#6373\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eExamples\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDisable scheduled runs for PyTorch and visualization temporarily (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/337\"\u003eoptuna/optuna-examples#337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix skorch example: Replace unavailable OpenML MNIST (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/338\"\u003eoptuna/optuna-examples#338\u003c/a\u003e, thanks \u003ca href=\"https://github.com/sotagg\"\u003e\u003ccode\u003e@​sotagg\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003ePin \u003ccode\u003eminio\u003c/code\u003e version to \u003ccode\u003e\u0026lt;=7.2.18\u003c/code\u003e to fix CI \u0026amp; stop daily CI running (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/339\"\u003eoptuna/optuna-examples#339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix spark example (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/342\"\u003eoptuna/optuna-examples#342\u003c/a\u003e, thanks \u003ca href=\"https://github.com/fritshermans\"\u003e\u003ccode\u003e@​fritshermans\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003ePin scikit-learn to \u0026lt; 1.6.0 for lightgbm (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/343\"\u003eoptuna/optuna-examples#343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove python 3.9 due to EOL Status (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/344\"\u003eoptuna/optuna-examples#344\u003c/a\u003e, thanks \u003ca href=\"https://github.com/ParagEkbote\"\u003e\u003ccode\u003e@​ParagEkbote\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eAdd IPython as a dependency of fastai example (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/347\"\u003eoptuna/optuna-examples#347\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eTests\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/40703c51b7b102df65efaf426f12562d3365735f\"\u003e\u003ccode\u003e40703c5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6413\"\u003e#6413\u003c/a\u003e from y0z/feature/bump-up-v470\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/7fa54e424464f943810c744910920ec159752163\"\u003e\u003ccode\u003e7fa54e4\u003c/code\u003e\u003c/a\u003e Bump up version to v4.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/adbe6f542150e01eb2c17d589d19415a921b9c22\"\u003e\u003ccode\u003eadbe6f5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6400\"\u003e#6400\u003c/a\u003e from sawa3030/add-warning-for-journal-lock-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/d58b06193f1564b03e64dd39921465ffe32cee3b\"\u003e\u003ccode\u003ed58b061\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6412\"\u003e#6412\u003c/a\u003e from VedantMadane/refactor/fstring-fixed-trial\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/0d782be3bd8ee30cde03a1870a15c3c3e8f17af2\"\u003e\u003ccode\u003e0d782be\u003c/code\u003e\u003c/a\u003e Replace .format() with f-string in _fixed.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/e50dd5f056e610ebfe47abed2e26cc3e07867f75\"\u003e\u003ccode\u003ee50dd5f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6411\"\u003e#6411\u003c/a\u003e from Banjiola/fix-format-fstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/7eefa699c3c2303b10c0dd0ae52a850c62671561\"\u003e\u003ccode\u003e7eefa69\u003c/code\u003e\u003c/a\u003e Replace .format() with f-string in test_hyperband.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/653523fd330161273369f267e4fa674b2946bcd7\"\u003e\u003ccode\u003e653523f\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into add-warning-for-journal-lock-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/b526dbfa54374d6b86c9f2dc1d20548ad7fde263\"\u003e\u003ccode\u003eb526dbf\u003c/code\u003e\u003c/a\u003e use logger.warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/f4e630d17adf78de4fda9f98da2adda536577abc\"\u003e\u003ccode\u003ef4e630d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6409\"\u003e#6409\u003c/a\u003e from jwalith/fix-format-rank-py\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/optuna/optuna/compare/v3.0.0...v4.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/josedab/genesis/pull/13","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/josedab%2Fgenesis/issues/13","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/13/packages"}},{"old_version":"4.1.0","new_version":"4.7.0","update_type":"minor","path":"/python/requirements/ml","pr_created_at":"2026-01-31T08:02:53.000Z","version_change":"4.1.0 → 4.7.0","issue":{"uuid":"3878709840","node_id":"PR_kwDOQHUb1M7Ai1AK","number":18,"state":"closed","title":"[air](deps): Bump optuna from 4.1.0 to 4.7.0 in /python/requirements/ml","user":"dependabot[bot]","labels":["dependencies","python","stale"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-03-01T00:57:07.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-31T08:02:53.000Z","updated_at":"2026-03-01T02:31:07.000Z","time_to_close":2480054,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"[air](deps): Bump","packages":[{"name":"optuna","old_version":"4.1.0","new_version":"4.7.0","repository_url":"https://github.com/optuna/optuna"}],"path":"/python/requirements/ml","ecosystem":"pip"},"body":"Bumps [optuna](https://github.com/optuna/optuna) from 4.1.0 to 4.7.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/optuna/optuna/releases\"\u003eoptuna's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.7.0\u003c/h2\u003e\n\u003cp\u003eThis is the release note of \u003ca href=\"https://github.com/optuna/optuna/milestone/72?closed=1\"\u003ev4.7.0\u003c/a\u003e.\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eTwo New Multi-Objective Samplers Added to OptunaHub!\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/hrntsm\"\u003e\u003ccode\u003e@​hrntsm\u003c/code\u003e\u003c/a\u003e introduces two new multi-objective samplers—SPEA-II (Strength Pareto Evolutionary Algorithm 2) and HypE (Hypervolume Estimation Algorithm)—to OptunaHub. SPEA-II is an improved multi-objective evolutionary algorithm that differs from NSGA-II in its selection mechanism. HypE is a fast, hypervolume-based evolutionary algorithm designed for many-objective optimization problems. Please refer to the following pages for more details:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSPEA-II: \u003ca href=\"https://hub.optuna.org/samplers/speaii/\"\u003ehttps://hub.optuna.org/samplers/speaii/\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHypE: \u003ca href=\"https://hub.optuna.org/samplers/hype/\"\u003ehttps://hub.optuna.org/samplers/hype/\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003ePedAnovaImportanceEvaluator\u003c/code\u003e Now Supports Local Hyperparameter Importance Computation\u003c/h2\u003e\n\u003cp\u003eThe \u003ccode\u003etarget_quantile\u003c/code\u003e and \u003ccode\u003eregion_quantile\u003c/code\u003e arguments have been introduced to \u003ca href=\"https://optuna.readthedocs.io/en/latest/reference/generated/optuna.importance.PedAnovaImportanceEvaluator.html\"\u003e\u003ccode\u003ePedAnovaImportanceEvaluator\u003c/code\u003e\u003c/a\u003e. This change allows you to investigate local hyperparameter importance rather than the global one with \u003ccode\u003eregion_quantile \u0026lt; 1.0\u003c/code\u003e. See \u003ca href=\"https://www.ijcai.org/proceedings/2023/488\"\u003ethe original paper\u003c/a\u003e for the technical details.\u003c/p\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce stacklevel-aware custom warnings (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6293\"\u003e#6293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCache distributions to skip consistency check (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6301\"\u003e#6301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd warnings when \u003ccode\u003eJournalStorage\u003c/code\u003e lock acquisition is delayed (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6361\"\u003e#6361\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for local HPI in PED-ANOVA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6362\"\u003e#6362\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix log PDF of discrete trunc log-norm distribution for \u003ccode\u003eTPESampler\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6258\"\u003e#6258\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix coefficient in PED-ANOVA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6358\"\u003e#6358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix GPSampler crash when default torch device is CUDA (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6397\"\u003e#6397\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Quant-Quasar\"\u003e\u003ccode\u003e@​Quant-Quasar\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eDocumentation\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eSECURITY.md\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6317\"\u003e#6317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a note for future dev of exclusive HV (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6318\"\u003e#6318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate GPSampler documentation to include D-BE optimization details (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6347\"\u003e#6347\u003c/a\u003e, thanks \u003ca href=\"https://github.com/Kaichi-Irie\"\u003e\u003ccode\u003e@​Kaichi-Irie\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eRevert PR \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6354\"\u003e#6354\u003c/a\u003e to enable \u003ccode\u003e-W\u003c/code\u003e option on Sphinx build (\u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6373\"\u003e#6373\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eExamples\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDisable scheduled runs for PyTorch and visualization temporarily (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/337\"\u003eoptuna/optuna-examples#337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix skorch example: Replace unavailable OpenML MNIST (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/338\"\u003eoptuna/optuna-examples#338\u003c/a\u003e, thanks \u003ca href=\"https://github.com/sotagg\"\u003e\u003ccode\u003e@​sotagg\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003ePin \u003ccode\u003eminio\u003c/code\u003e version to \u003ccode\u003e\u0026lt;=7.2.18\u003c/code\u003e to fix CI \u0026amp; stop daily CI running (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/339\"\u003eoptuna/optuna-examples#339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix spark example (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/342\"\u003eoptuna/optuna-examples#342\u003c/a\u003e, thanks \u003ca href=\"https://github.com/fritshermans\"\u003e\u003ccode\u003e@​fritshermans\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003ePin scikit-learn to \u0026lt; 1.6.0 for lightgbm (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/343\"\u003eoptuna/optuna-examples#343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove python 3.9 due to EOL Status (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/344\"\u003eoptuna/optuna-examples#344\u003c/a\u003e, thanks \u003ca href=\"https://github.com/ParagEkbote\"\u003e\u003ccode\u003e@​ParagEkbote\u003c/code\u003e\u003c/a\u003e!)\u003c/li\u003e\n\u003cli\u003eAdd IPython as a dependency of fastai example (\u003ca href=\"https://redirect.github.com/optuna/optuna-examples/pull/347\"\u003eoptuna/optuna-examples#347\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eTests\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/40703c51b7b102df65efaf426f12562d3365735f\"\u003e\u003ccode\u003e40703c5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6413\"\u003e#6413\u003c/a\u003e from y0z/feature/bump-up-v470\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/7fa54e424464f943810c744910920ec159752163\"\u003e\u003ccode\u003e7fa54e4\u003c/code\u003e\u003c/a\u003e Bump up version to v4.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/adbe6f542150e01eb2c17d589d19415a921b9c22\"\u003e\u003ccode\u003eadbe6f5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6400\"\u003e#6400\u003c/a\u003e from sawa3030/add-warning-for-journal-lock-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/d58b06193f1564b03e64dd39921465ffe32cee3b\"\u003e\u003ccode\u003ed58b061\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6412\"\u003e#6412\u003c/a\u003e from VedantMadane/refactor/fstring-fixed-trial\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/0d782be3bd8ee30cde03a1870a15c3c3e8f17af2\"\u003e\u003ccode\u003e0d782be\u003c/code\u003e\u003c/a\u003e Replace .format() with f-string in _fixed.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/e50dd5f056e610ebfe47abed2e26cc3e07867f75\"\u003e\u003ccode\u003ee50dd5f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6411\"\u003e#6411\u003c/a\u003e from Banjiola/fix-format-fstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/7eefa699c3c2303b10c0dd0ae52a850c62671561\"\u003e\u003ccode\u003e7eefa69\u003c/code\u003e\u003c/a\u003e Replace .format() with f-string in test_hyperband.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/653523fd330161273369f267e4fa674b2946bcd7\"\u003e\u003ccode\u003e653523f\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into add-warning-for-journal-lock-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/b526dbfa54374d6b86c9f2dc1d20548ad7fde263\"\u003e\u003ccode\u003eb526dbf\u003c/code\u003e\u003c/a\u003e use logger.warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/optuna/optuna/commit/f4e630d17adf78de4fda9f98da2adda536577abc\"\u003e\u003ccode\u003ef4e630d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/optuna/optuna/issues/6409\"\u003e#6409\u003c/a\u003e from jwalith/fix-format-rank-py\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/optuna/optuna/compare/v4.1.0...v4.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=optuna\u0026package-manager=pip\u0026previous-version=4.1.0\u0026new-version=4.7.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/snorkel-marlin-repos/ray-project_ray_pr_56921_7979291f-ff95-47ad-be20-e2f589acc6d4/pull/18","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/snorkel-marlin-repos%2Fray-project_ray_pr_56921_7979291f-ff95-47ad-be20-e2f589acc6d4/issues/18","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/18/packages"}}]}